libcosmic/cosmic/cctk/sctk/reexports/client/struct.EventQueue.html

232 lines
95 KiB
HTML
Raw Normal View History

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An event queue"><title>EventQueue in cosmic::cctk::sctk::reexports::client - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../../../../../" data-static-root-path="../../../../../static.files/" data-current-crate="cosmic" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0-nightly (3048886e5 2025-07-30)" data-channel="nightly" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../../../../../static.files/storage-68b7e25d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../../../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../../../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../../cosmic/index.html">cosmic</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Event<wbr>Queue</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#usage" title="Usage">Usage</a><ul><li><a href="#single-queue-app" title="Single queue app">Single queue app</a></li><li><a href="#multi-thread-multi-queue-app" title="Multi-thread multi-queue app">Multi-thread multi-queue app</a></li><li><a href="#single-queue-guest-library" title="Single-queue guest library">Single-queue guest library</a></li><li><a href="#integrating-the-event-queue-with-other-sources-of-events" title="Integrating the event queue with other sources of events">Integrating the event queue with other sources of events</a></li></ul></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.blocking_dispatch" title="blocking_dispatch">blocking_dispatch</a></li><li><a href="#method.dispatch_pending" title="dispatch_pending">dispatch_pending</a></li><li><a href="#method.flush" title="flush">flush</a></li><li><a href="#method.handle" title="handle">handle</a></li><li><a href="#method.poll_dispatch_pending" title="poll_dispatch_pending">poll_dispatch_pending</a></li><li><a href="#method.prepare_read" title="prepare_read">prepare_read</a></li><li><a href="#method.roundtrip" title="roundtrip">roundtrip</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsFd-for-EventQueue%3CState%3E" title="AsFd">AsFd</a></li><li><a href="#impl-Debug-for-EventQueue%3CState%3E" title="Debug">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-EventQueue%3CState%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-EventQueue%3CState%3E" title="R
<p>This is an abstraction for handling event dispatching, that allows you to ensure
access to some common state <code>&amp;mut State</code> to your event handlers.</p>
<p>Event queues are created through <a href="struct.Connection.html#method.new_event_queue" title="method cosmic::cctk::sctk::reexports::client::Connection::new_event_queue"><code>Connection::new_event_queue()</code></a>.</p>
<p>Upon creation, a wayland object is assigned to an event queue by passing the associated <a href="struct.QueueHandle.html" title="struct cosmic::cctk::sctk::reexports::client::QueueHandle"><code>QueueHandle</code></a>
as argument to the method creating it. All events received by that object will be processed by that event
queue, when <a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending"><code>dispatch_pending()</code></a> or
<a href="struct.EventQueue.html#method.blocking_dispatch" title="method cosmic::cctk::sctk::reexports::client::EventQueue::blocking_dispatch"><code>blocking_dispatch()</code></a> is invoked.</p>
<h3 id="usage"><a class="doc-anchor" href="#usage">§</a>Usage</h3><h4 id="single-queue-app"><a class="doc-anchor" href="#single-queue-app">§</a>Single queue app</h4>
<p>If your app is simple enough that the only source of event to process is the Wayland socket and you only
need a single event queue, your main loop can be as simple as this:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>wayland_client::Connection;
<span class="kw">let </span>connection = Connection::connect_to_env().unwrap();
<span class="kw">let </span><span class="kw-2">mut </span>event_queue = connection.new_event_queue();
<span class="comment">/*
* Here your initial setup
*/
// And the main loop:
</span><span class="kw">while </span>!state.exit {
event_queue.blocking_dispatch(<span class="kw-2">&amp;mut </span>state).unwrap();
}</code></pre></div>
<p>The <a href="struct.EventQueue.html#method.blocking_dispatch" title="method cosmic::cctk::sctk::reexports::client::EventQueue::blocking_dispatch"><code>blocking_dispatch()</code></a> call will wait (by putting the thread to sleep)
until there are some events from the server that can be processed, and all your actual app logic can be
done in the callbacks of the <a href="trait.Dispatch.html" title="trait cosmic::cctk::sctk::reexports::client::Dispatch"><code>Dispatch</code></a> implementations, and in the main <code>loop</code> after the
<a href="struct.EventQueue.html#method.blocking_dispatch" title="method cosmic::cctk::sctk::reexports::client::EventQueue::blocking_dispatch"><code>blocking_dispatch()</code></a> call.</p>
<h4 id="multi-thread-multi-queue-app"><a class="doc-anchor" href="#multi-thread-multi-queue-app">§</a>Multi-thread multi-queue app</h4>
<p>In a case where you app is multithreaded and you want to process events in multiple thread, a simple
pattern is to have one <a href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue"><code>EventQueue</code></a> per thread processing Wayland events.</p>
<p>With this pattern, each thread can use <a href="struct.EventQueue.html#method.blocking_dispatch" title="method cosmic::cctk::sctk::reexports::client::EventQueue::blocking_dispatch"><code>EventQueue::blocking_dispatch()</code></a>
on its own event loop, and everything will “Just Work”.</p>
<h4 id="single-queue-guest-library"><a class="doc-anchor" href="#single-queue-guest-library">§</a>Single-queue guest library</h4>
<p>If your code is some library code that will act on a Wayland connection shared by the main program, it is
likely you should not trigger socket reads yourself and instead let the main app take care of it. In this
case, to ensure your <a href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue"><code>EventQueue</code></a> still makes progress, you should regularly invoke
<a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending"><code>EventQueue::dispatch_pending()</code></a> which will process the events that were
enqueued in the inner buffer of your <a href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue"><code>EventQueue</code></a> by the main app reading the socket.</p>
<h4 id="integrating-the-event-queue-with-other-sources-of-events"><a class="doc-anchor" href="#integrating-the-event-queue-with-other-sources-of-events">§</a>Integrating the event queue with other sources of events</h4>
<p>If your program needs to monitor other sources of events alongside the Wayland socket using a monitoring
system like <code>epoll</code>, you can integrate the Wayland socket into this system. This is done with the help
of the <a href="struct.EventQueue.html#method.prepare_read" title="method cosmic::cctk::sctk::reexports::client::EventQueue::prepare_read"><code>EventQueue::prepare_read()</code></a> method. You event loop will be a bit more
explicit:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
<span class="kw">loop </span>{
<span class="comment">// flush the outgoing buffers to ensure that the server does receive the messages
// you've sent
</span>event_queue.flush().unwrap();
<span class="comment">// (this step is only relevant if other threads might be reading the socket as well)
// make sure you don't have any pending events if the event queue that might have been
// enqueued by other threads reading the socket
</span>event_queue.dispatch_pending(<span class="kw-2">&amp;mut </span>state).unwrap();
<span class="comment">// This puts in place some internal synchronization to prepare for the fact that
// you're going to wait for events on the socket and read them, in case other threads
// are doing the same thing
</span><span class="kw">let </span>read_guard = event_queue.prepare_read().unwrap();
<span class="comment">/*
* At this point you can invoke epoll(..) to wait for readiness on the multiple FD you
* are working with, and read_guard.connection_fd() will give you the FD to wait on for
* the Wayland connection
*/
</span><span class="kw">if </span>wayland_socket_ready {
<span class="comment">// If epoll notified readiness of the Wayland socket, you can now proceed to the read
</span>read_guard.read().unwrap();
<span class="comment">// And now, you must invoke dispatch_pending() to actually process the events
</span>event_queue.dispatch_pending(<span class="kw-2">&amp;mut </span>state).unwrap();
} <span class="kw">else </span>{
<span class="comment">// otherwise, some of your other FD are ready, but you didn't receive Wayland events,
// you can drop the guard to cancel the read preparation
</span>std::mem::drop(read_guard);
}
<span class="comment">/*
* There you process all relevant events from your other event sources
*/
</span>}</code></pre></div>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-EventQueue%3CState%3E" class="impl"><a href="#impl-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle" class="method"><h4 class="code-header">pub fn <a href="#method.handle" class="fn">handle</a>(&amp;self) -&gt; <a class="struct" href="struct.QueueHandle.html" title="struct cosmic::cctk::sctk::reexports::client::QueueHandle">QueueHandle</a>&lt;State&gt;</h4></section></summary><div class="docblock"><p>Get a <a href="struct.QueueHandle.html" title="struct cosmic::cctk::sctk::reexports::client::QueueHandle"><code>QueueHandle</code></a> for this event queue</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.dispatch_pending" class="method"><h4 class="code-header">pub fn <a href="#method.dispatch_pending" class="fn">dispatch_pending</a>(
&amp;mut self,
data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut State</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="enum" href="enum.DispatchError.html" title="enum cosmic::cctk::sctk::reexports::client::DispatchError">DispatchError</a>&gt;</h4></section></summary><div class="docblock"><p>Dispatch pending events</p>
<p>Events are accumulated in the event queue internal buffer when the Wayland socket is read using
the read APIs on <a href="struct.Connection.html" title="struct cosmic::cctk::sctk::reexports::client::Connection"><code>Connection</code></a>, or when reading is done from an other thread.
This method will dispatch all such pending events by sequentially invoking their associated handlers:
the <a href="trait.Dispatch.html" title="trait cosmic::cctk::sctk::reexports::client::Dispatch"><code>Dispatch</code></a> implementations on the provided <code>&amp;mut D</code>.</p>
<p>Note: this may block if another thread has frozen the queue.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.blocking_dispatch" class="method"><h4 class="code-header">pub fn <a href="#method.blocking_dispatch" class="fn">blocking_dispatch</a>(
&amp;mut self,
data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut State</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="enum" href="enum.DispatchError.html" title="enum cosmic::cctk::sctk::reexports::client::DispatchError">DispatchError</a>&gt;</h4></section></summary><div class="docblock"><p>Block waiting for events and dispatch them</p>
<p>This method is similar to <a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending"><code>dispatch_pending()</code></a>, but if there are no
pending events it will also flush the connection and block waiting for the Wayland server to send an
event.</p>
<p>A simple app event loop can consist of invoking this method in a loop.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.roundtrip" class="method"><h4 class="code-header">pub fn <a href="#method.roundtrip" class="fn">roundtrip</a>(&amp;mut self, data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut State</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="enum" href="enum.DispatchError.html" title="enum cosmic::cctk::sctk::reexports::client::DispatchError">DispatchError</a>&gt;</h4></section></summary><div class="docblock"><p>Synchronous roundtrip</p>
<p>This function will cause a synchronous round trip with the wayland server. This function will block
until all requests in the queue are sent and processed by the server.</p>
<p>This function may be useful during initial setup of your app. This function may also be useful
where you need to guarantee all requests prior to calling this function are completed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.prepare_read" class="method"><h4 class="code-header">pub fn <a href="#method.prepare_read" class="fn">prepare_read</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="backend/struct.ReadEventsGuard.html" title="struct cosmic::cctk::sctk::reexports::client::backend::ReadEventsGuard">ReadEventsGuard</a>&gt;</h4></section></summary><div class="docblock"><p>Start a synchronized read from the socket</p>
<p>This is needed if you plan to wait on readiness of the Wayland socket using an event
loop. See the <a href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue"><code>EventQueue</code></a> and <a href="backend/struct.ReadEventsGuard.html" title="struct cosmic::cctk::sctk::reexports::client::backend::ReadEventsGuard"><code>ReadEventsGuard</code></a> docs for details. Once the events are received,
youll then need to dispatch them from the event queue using
<a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending"><code>EventQueue::dispatch_pending()</code></a>.</p>
<p>If this method returns <a href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a>, you should invoke <a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending">dispatch_pending()`</a>
before trying to invoke it again.</p>
<p>If you dont need to manage multiple event sources, see
<a href="struct.EventQueue.html#method.blocking_dispatch" title="method cosmic::cctk::sctk::reexports::client::EventQueue::blocking_dispatch"><code>blocking_dispatch()</code></a> for a simpler mechanism.</p>
<p>This method is identical to <a href="struct.Connection.html#method.prepare_read" title="method cosmic::cctk::sctk::reexports::client::Connection::prepare_read"><code>Connection::prepare_read()</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.flush" class="method"><h4 class="code-header">pub fn <a href="#method.flush" class="fn">flush</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="backend/enum.WaylandError.html" title="enum cosmic::cctk::sctk::reexports::client::backend::WaylandError">WaylandError</a>&gt;</h4></section></summary><div class="docblock"><p>Flush pending outgoing events to the server</p>
<p>This needs to be done regularly to ensure the server receives all your requests.
/// This method is identical to <a href="struct.Connection.html#method.flush" title="method cosmic::cctk::sctk::reexports::client::Connection::flush"><code>Connection::flush()</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.poll_dispatch_pending" class="method"><h4 class="code-header">pub fn <a href="#method.poll_dispatch_pending" class="fn">poll_dispatch_pending</a>(
&amp;mut self,
cx: &amp;mut <a class="struct" href="../../../../iced/daemon/program/graphics/futures/futures/task/struct.Context.html" title="struct cosmic::iced::daemon::program::graphics::futures::futures::task::Context">Context</a>&lt;'_&gt;,
data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut State</a>,
) -&gt; <a class="enum" href="../../../../iced/daemon/program/graphics/futures/futures/task/enum.Poll.html" title="enum cosmic::iced::daemon::program::graphics::futures::futures::task::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../../../../iced/enum.Never.html" title="enum cosmic::iced::Never">Infallible</a>, <a class="enum" href="enum.DispatchError.html" title="enum cosmic::cctk::sctk::reexports::client::DispatchError">DispatchError</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Attempt to dispatch events from this queue, registering the current task for wakeup if no
events are pending.</p>
<p>This method is similar to <a href="struct.EventQueue.html#method.dispatch_pending" title="method cosmic::cctk::sctk::reexports::client::EventQueue::dispatch_pending"><code>dispatch_pending()</code></a>; it will not
perform reads on the Wayland socket. Reads on the socket by other tasks or threads will
cause the current task to wake up if events are pending on this queue.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures_channel::mpsc::Receiver;
<span class="kw">use </span>futures_util::future::{poll_fn,select};
<span class="kw">use </span>futures_util::stream::StreamExt;
<span class="kw">use </span>wayland_client::EventQueue;
<span class="kw">struct </span>Data;
<span class="kw">enum </span>AppEvent {
SomethingHappened(u32),
}
<span class="kw">impl </span>Data {
<span class="kw">fn </span>handle(<span class="kw-2">&amp;mut </span><span class="self">self</span>, event: AppEvent) {
<span class="comment">// actual event handling goes here
</span>}
}
<span class="comment">// An async task that is spawned on an executor in order to handle events that need access
// to a specific data object.
</span><span class="kw">async fn </span>run(data: <span class="kw-2">&amp;mut </span>Data, <span class="kw-2">mut </span>wl_queue: EventQueue&lt;Data&gt;, <span class="kw-2">mut </span>app_queue: Receiver&lt;AppEvent&gt;)
-&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt;
{
<span class="kw">use </span>futures_util::future::Either;
<span class="kw">loop </span>{
<span class="kw">match </span>select(
poll_fn(|cx| wl_queue.poll_dispatch_pending(cx, data)),
app_queue.next(),
).<span class="kw">await </span>{
Either::Left((res, <span class="kw">_</span>)) =&gt; <span class="kw">match </span>res<span class="question-mark">? </span>{},
Either::Right((<span class="prelude-val">Some</span>(event), <span class="kw">_</span>)) =&gt; {
data.handle(event);
}
Either::Right((<span class="prelude-val">None</span>, <span class="kw">_</span>)) =&gt; <span class="kw">return </span><span class="prelude-val">Ok</span>(()),
}
}
}</code></pre></div>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsFd-for-EventQueue%3CState%3E" class="impl"><a href="#impl-AsFd-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/os/fd/owned/trait.AsFd.html" title="trait std::os::fd::owned::AsFd">AsFd</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_fd" class="method trait-impl"><a href="#method.as_fd" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/std/os/fd/owned/trait.AsFd.html#tymethod.as_fd" class="fn">as_fd</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/std/os/fd/owned/struct.BorrowedFd.html" title="struct std::os::fd::owned::BorrowedFd">BorrowedFd</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>Provides fd from <a href="backend/struct.Backend.html#method.poll_fd" title="method cosmic::cctk::sctk::reexports::client::backend::Backend::poll_fd"><code>Backend::poll_fd</code></a> for polling.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-EventQueue%3CState%3E" class="impl"><a href="#impl-Debug-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="backend/smallvec/alloc/fmt/trait.Debug.html" title="trait cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::fmt::Debug">Debug</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="backend/smallvec/alloc/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="backend/smallvec/alloc/fmt/struct.Formatter.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="backend/smallvec/alloc/fmt/struct.Error.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="backend/smallvec/alloc/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-EventQueue%3CState%3E" class="impl"><a href="#impl-Freeze-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section><section id="impl-RefUnwindSafe-for-EventQueue%3CState%3E" class="impl"><a href="#impl-RefUnwindSafe-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section><section id="impl-Send-for-EventQueue%3CState%3E" class="impl"><a href="#impl-Send-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section><section id="impl-Sync-for-EventQueue%3CState%3E" class="impl"><a href="#impl-Sync-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;</h3></section><section id="impl-Unpin-for-EventQueue%3CState%3E" class="impl"><a href="#impl-Unpin-for-EventQueue%3CState%3E" class="anchor">§</a><h3 class="code-header">impl&lt;State&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="
T: <a class="trait" href="../../../../cosmic_theme/palette/num/trait.Real.html" title="trait cosmic::cosmic_theme::palette::num::Real">Real</a> + <a class="trait" href="../../../../cosmic_theme/palette/num/trait.Zero.html" title="trait cosmic::cosmic_theme::palette::num::Zero">Zero</a> + <a class="trait" href="../../../../cosmic_theme/palette/num/trait.Arithmetics.html" title="trait cosmic::cosmic_theme::palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
Swp: <a class="trait" href="../../../../cosmic_theme/palette/white_point/trait.WhitePoint.html" title="trait cosmic::cosmic_theme::palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
Dwp: <a class="trait" href="../../../../cosmic_theme/palette/white_point/trait.WhitePoint.html" title="trait cosmic::cosmic_theme::palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
D: <a class="trait" href="../../../../cosmic_theme/palette/chromatic_adaptation/trait.AdaptFrom.html" title="trait cosmic::cosmic_theme::palette::chromatic_adaptation::AdaptFrom">AdaptFrom</a>&lt;S, Swp, Dwp, T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.adapt_into_using" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#213">Source</a><a href="#method.adapt_into_using" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/chromatic_adaptation/trait.AdaptInto.html#tymethod.adapt_into_using" class="fn">adapt_into_using</a>&lt;M&gt;(self, method: M) -&gt; D<div class="where">where
M: <a class="trait" href="../../../../cosmic_theme/palette/chromatic_adaptation/trait.TransformMatrix.html" title="trait cosmic::cosmic_theme::palette::chromatic_adaptation::TransformMatrix">TransformMatrix</a>&lt;T&gt;,</div></h4></section></summary><div class='docblock'>Convert the source color to the destination color using the specified
method.</div></details><details class="toggle method-toggle" open><summary><section id="method.adapt_into" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#196">Source</a><a href="#method.adapt_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/chromatic_adaptation/trait.AdaptInto.html#method.adapt_into" class="fn">adapt_into</a>(self) -&gt; D</h4></section></summary><div class='docblock'>Convert the source color to the destination color using the bradford
method by default.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Also-for-T" class="impl"><a href="#impl-Also-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../trait.Also.html" title="trait cosmic::Also">Also</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.also" class="method trait-impl"><a href="#method.also" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../trait.Also.html#method.also" class="fn">also</a>&lt;F&gt;(self, block: F) -&gt; Self<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut Self),</div></h4></section></summary><div class='docblock'>Apply a function to this value and return the (possibly) modified value.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Apply%3CRes%3E-for-T" class="impl"><a href="#impl-Apply%3CRes%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, Res&gt; <a class="trait" href="../../../../trait.Apply.html" title="trait cosmic::Apply">Apply</a>&lt;Res&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply" class="method trait-impl"><a href="#method.apply" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../trait.Apply.html#method.apply" class="fn">apply</a>&lt;F&gt;(self, f: F) -&gt; Res<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; Res,
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Apply a function which takes the parameter by value.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_ref" class="method trait-impl"><a href="#method.apply_ref" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../trait.Apply.html#method.apply_ref" class="fn">apply_ref</a>&lt;F&gt;(&amp;self, f: F) -&gt; Res<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; Res,</div></h4></section></summary><div class='docblock'>Apply a function which takes the parameter by reference.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_mut" class="method trait-impl"><a href="#method.apply_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../trait.Apply.html#method.apply_mut" class="fn">apply_mut</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; Res<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut Self) -&gt; Res,</div></h4></section></summary><div class='docblock'>Apply a function which takes the parameter by mutable reference.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArraysFrom%3CC%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_arrays_traits.rs.html#271-273">Source</a><a href="#impl-ArraysFrom%3CC%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, C&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.ArraysFrom.html" title="trait cosmic::cosmic_theme::palette::cast::ArraysFrom">ArraysFrom</a>&lt;C&gt; for T<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.IntoArrays.html" title="trait cosmic::cosmic_theme::palette::cast::IntoArrays">IntoArrays</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.arrays_from" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_arrays_traits.rs.html#276">Source</a><a href="#method.arrays_from" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.ArraysFrom.html#tymethod.arrays_from" class="fn">arrays_from</a>(colors: C) -&gt; T</h4></section></summary><div class='docblock'>Cast a collection of colors into a collection of arrays.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArraysInto%3CC%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_arrays_traits.rs.html#329-331">Source</a><a href="#impl-ArraysInto%3CC%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, C&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.ArraysInto.html" title="trait cosmic::cosmic_theme::palette::cast::ArraysInto">ArraysInto</a>&lt;C&gt; for T<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.FromArrays.html" title="trait cosmic::cosmic_theme::palette::cast::FromArrays">FromArrays</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.arrays_into" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_arrays_traits.rs.html#334">Source</a><a href="#method.arrays_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.ArraysInto.html#tymethod.arrays_into" class="fn">arrays_into</a>(self) -&gt; C</h4></section></summary><div class='docblock'>Cast this collection of arrays into a collection of colors.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsSource-for-T" class="impl"><a href="#impl-AsSource-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; AsSource for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/std/os/fd/owned/trait.AsFd.html" title="trait std::os::fd::owned::AsFd">AsFd</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a class="fn">source</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/std/os/fd/owned/struct.BorrowedFd.html" title="struct std::os::fd::owned::BorrowedFd">BorrowedFd</a>&lt;'_&gt;</h4></section></summary><div class='docblock'>Returns the borrowed file descriptor.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="backend/smallvec/alloc/borrow/trait.Borrow.html" title="trait cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="backend/smallvec/alloc/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="backend/smallvec/alloc/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="backend/smallvec/alloc/borrow/trait.BorrowMut.html" title="trait cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="backend/smallvec/alloc/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="backend/smallvec/alloc/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#143-145">Source</a><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U" class="anchor">§</a><h3 class="code-header">impl&lt;WpParam, T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.Cam16IntoUnclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::Cam16IntoUnclamped">Cam16IntoUnclamped</a>&lt;WpParam, T&gt; for U<div class="where">where
T: <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.FromCam16Unclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::FromCam16Unclamped">FromCam16Unclamped</a>&lt;WpParam, U&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Scalar-1" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#147">Source</a><a href="#associatedtype.Scalar-1" class="anchor">§</a><h4 class="code-header">type <a href="../../../../cosmic_theme/palette/cam16/trait.Cam16IntoUnclamped.html#associatedtype.Scalar" class="associatedtype">Scalar</a> = &lt;T as <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.FromCam16Unclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::FromCam16Unclamped">FromCam16Unclamped</a>&lt;WpParam, U&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cam16/trait.FromCam16Unclamped.html#associatedtype.Scalar" title="type cosmic::cosmic_theme::palette::cam16::FromCam16Unclamped::Scalar">Scalar</a></h4></section></summary><div class='docblock'>The number type thats used in <code>parameters</code> when converting.</div></details><details class="toggle method-toggle" open><summary><section id="method.cam16_into_unclamped" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#149">Source</a><a href="#method.cam16_into_unclamped" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cam16/trait.Cam16IntoUnclamped.html#tymethod.cam16_into_unclamped" class="fn">cam16_into_unclamped</a>(
self,
parameters: <a class="struct" href="../../../../cosmic_theme/palette/cam16/struct.BakedParameters.html" title="struct cosmic::cosmic_theme::palette::cam16::BakedParameters">BakedParameters</a>&lt;WpParam, &lt;U as <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.Cam16IntoUnclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::Cam16IntoUnclamped">Cam16IntoUnclamped</a>&lt;WpParam, T&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cam16/trait.Cam16IntoUnclamped.html#associatedtype.Scalar" title="type cosmic::cosmic_theme::palette::cam16::Cam16IntoUnclamped::Scalar">Scalar</a>&gt;,
) -&gt; T</h4></section></summary><div class='docblock'>Converts <code>self</code> into <code>C</code>, using the provided parameters.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ComponentsFrom%3CC%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_components_traits.rs.html#414-416">Source</a><a href="#impl-ComponentsFrom%3CC%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, C&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.ComponentsFrom.html" title="trait cosmic::cosmic_theme::palette::cast::ComponentsFrom">ComponentsFrom</a>&lt;C&gt; for T<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.IntoComponents.html" title="trait cosmic::cosmic_theme::palette::cast::IntoComponents">IntoComponents</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.components_from" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_components_traits.rs.html#419">Source</a><a href="#method.components_from" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.ComponentsFrom.html#tymethod.components_from" class="fn">components_from</a>(colors: C) -&gt; T</h4></section></summary><div class='docblock'>Cast a collection of colors into a collection of color components.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Downcast for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any</a>(self: <a class="struct" href="backend/smallvec/alloc/boxed/struct.Box.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::boxed::Box">Box</a>&lt;T&gt;) -&gt; <a class="struct" href="backend/smallvec/alloc/boxed/struct.Box.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl"><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_rc</a>(self: <a class="struct" href="backend/smallvec/alloc/rc/struct.Rc.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="backend/smallvec/alloc/rc/struct.Rc.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>s vtable from <code>&amp;Trait</code>s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>s vtable from <code>&amp;mut Trait</code>s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-T" class="impl"><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; DowncastSync for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl"><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_arc</a>(self: <a class="struct" href="backend/smallvec/alloc/sync/struct.Arc.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="backend/smallvec/alloc/sync/struct.Arc.html" title="struct cosmic::cctk::sctk::reexports::client::backend::smallvec::alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#791">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromAngle%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/angle.rs.html#65">Source</a><a href="#impl-FromAngle%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../cosmic_theme/palette/angle/trait.FromAngle.html" title="trait cosmic::cosmic_theme::palette::angle::FromAngle">FromAngle</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_angle" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/angle.rs.html#67">Source</a><a href="#method.from_angle" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/angle/trait.FromAngle.html#tymethod.from_angle" class="fn">from_angle</a>(angle: T) -&gt; T</h4></section></summary><div class='docblock'>Performs a conversion from <code>angle</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromStimulus%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/stimulus.rs.html#85">Source</a><a href="#impl-FromStimulus%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/stimulus/trait.FromStimulus.html" title="trait cosmic::cosmic_theme::palette::stimulus::FromStimulus">FromStimulus</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../../../../cosmic_theme/palette/stimulus/trait.IntoStimulus.html" title="trait cosmic::cosmic_theme::palette::stimulus::IntoStimulus">IntoStimulus</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_stimulus" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/stimulus.rs.html#87">Source</a><a href="#method.from_stimulus" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/stimulus/trait.FromStimulus.html#tymethod.from_stimulus" class="fn">from_stimulus</a>(other: U) -&gt; T</h4></section></summary><div class='docblock'>Converts <code>other</code> into <code>Self</code>, while performing the appropriate scaling,
rounding and clamping.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="Instrumented&lt;Self&gt;"></a></h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="Instrumented&lt;Self&gt;"></a></h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#773-775">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#783">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoAngle%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/angle.rs.html#78-80">Source</a><a href="#impl-IntoAngle%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/angle/trait.IntoAngle.html" title="trait cosmic::cosmic_theme::palette::angle::IntoAngle">IntoAngle</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../../../../cosmic_theme/palette/angle/trait.FromAngle.html" title="trait cosmic::cosmic_theme::palette::angle::FromAngle">FromAngle</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_angle" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/angle.rs.html#83">Source</a><a href="#method.into_angle" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/angle/trait.IntoAngle.html#tymethod.into_angle" class="fn">into_angle</a>(self) -&gt; U</h4></section></summary><div class='docblock'>Performs a conversion into <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBoot%3CState,+Message%3E-for-State" class="impl"><a href="#impl-IntoBoot%3CState,+Message%3E-for-State" class="anchor">§</a><h3 class="code-header">impl&lt;State, Message&gt; <a class="trait" href="../../../../iced/application/trait.IntoBoot.html" title="trait cosmic::iced::application::IntoBoot">IntoBoot</a>&lt;State, Message&gt; for State</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_boot" class="method trait-impl"><a href="#method.into_boot" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../iced/application/trait.IntoBoot.html#tymethod.into_boot" class="fn">into_boot</a>(self) -&gt; (State, <a class="struct" href="../../../../struct.Task.html" title="struct cosmic::Task">Task</a>&lt;Message&gt;)</h4></section></summary><div class='docblock'>Turns some type into the initial state of some <a href="../../../../iced/struct.Application.html" title="struct cosmic::iced::Application"><code>Application</code></a>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#114-116">Source</a><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U" class="anchor">§</a><h3 class="code-header">impl&lt;WpParam, T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.IntoCam16Unclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::IntoCam16Unclamped">IntoCam16Unclamped</a>&lt;WpParam, T&gt; for U<div class="where">where
T: <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.Cam16FromUnclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::Cam16FromUnclamped">Cam16FromUnclamped</a>&lt;WpParam, U&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Scalar" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#118">Source</a><a href="#associatedtype.Scalar" class="anchor">§</a><h4 class="code-header">type <a href="../../../../cosmic_theme/palette/cam16/trait.IntoCam16Unclamped.html#associatedtype.Scalar" class="associatedtype">Scalar</a> = &lt;T as <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.Cam16FromUnclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::Cam16FromUnclamped">Cam16FromUnclamped</a>&lt;WpParam, U&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cam16/trait.Cam16FromUnclamped.html#associatedtype.Scalar" title="type cosmic::cosmic_theme::palette::cam16::Cam16FromUnclamped::Scalar">Scalar</a></h4></section></summary><div class='docblock'>The number type thats used in <code>parameters</code> when converting.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_cam16_unclamped" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cam16.rs.html#120">Source</a><a href="#method.into_cam16_unclamped" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cam16/trait.IntoCam16Unclamped.html#tymethod.into_cam16_unclamped" class="fn">into_cam16_unclamped</a>(
self,
parameters: <a class="struct" href="../../../../cosmic_theme/palette/cam16/struct.BakedParameters.html" title="struct cosmic::cosmic_theme::palette::cam16::BakedParameters">BakedParameters</a>&lt;WpParam, &lt;U as <a class="trait" href="../../../../cosmic_theme/palette/cam16/trait.IntoCam16Unclamped.html" title="trait cosmic::cosmic_theme::palette::cam16::IntoCam16Unclamped">IntoCam16Unclamped</a>&lt;WpParam, T&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cam16/trait.IntoCam16Unclamped.html#associatedtype.Scalar" title="type cosmic::cosmic_theme::palette::cam16::IntoCam16Unclamped::Scalar">Scalar</a>&gt;,
) -&gt; T</h4></section></summary><div class='docblock'>Converts <code>self</code> into <code>C</code>, using the provided parameters.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoColor%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/from_into_color.rs.html#129-131">Source</a><a href="#impl-IntoColor%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/trait.IntoColor.html" title="trait cosmic::cosmic_theme::palette::IntoColor">IntoColor</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../../../../cosmic_theme/palette/trait.FromColor.html" title="trait cosmic::cosmic_theme::palette::FromColor">FromColor</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_color" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/from_into_color.rs.html#134">Source</a><a href="#method.into_color" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/trait.IntoColor.html#tymethod.into_color" class="fn">into_color</a>(self) -&gt; U</h4></section></summary><div class='docblock'>Convert into T with values clamped to the color defined bounds <a href="../../../../cosmic_theme/palette/trait.IntoColor.html#tymethod.into_color">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoColorUnclamped%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/from_into_color_unclamped.rs.html#95-97">Source</a><a href="#impl-IntoColorUnclamped%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/convert/trait.IntoColorUnclamped.html" title="trait cosmic::cosmic_theme::palette::convert::IntoColorUnclamped">IntoColorUnclamped</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../../../../cosmic_theme/palette/convert/trait.FromColorUnclamped.html" title="trait cosmic::cosmic_theme::palette::convert::FromColorUnclamped">FromColorUnclamped</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_color_unclamped" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/from_into_color_unclamped.rs.html#100">Source</a><a href="#method.into_color_unclamped" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/convert/trait.IntoColorUnclamped.html#tymethod.into_color_unclamped" class="fn">into_color_unclamped</a>(self) -&gt; U</h4></section></summary><div class='docblock'>Convert into T. The resulting color might be invalid in its color space <a href="../../../../cosmic_theme/palette/convert/trait.IntoColorUnclamped.html#tymethod.into_color_unclamped">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoStimulus%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/stimulus.rs.html#109">Source</a><a href="#impl-IntoStimulus%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../cosmic_theme/palette/stimulus/trait.IntoStimulus.html" title="trait cosmic::cosmic_theme::palette::stimulus::IntoStimulus">IntoStimulus</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_stimulus" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/stimulus.rs.html#111">Source</a><a href="#method.into_stimulus" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/stimulus/trait.IntoStimulus.html#tymethod.into_stimulus" class="fn">into_stimulus</a>(self) -&gt; T</h4></section></summary><div class='docblock'>Converts <code>self</code> into <code>T</code>, while performing the appropriate scaling,
rounding and clamping.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.19.0/src/typenum/type_operators.rs.html#34">Source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.19.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/typenum/1.19.0/src/typenum/type_operators.rs.html#35">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.19.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryComponentsInto%3CC%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_components_traits.rs.html#584-586">Source</a><a href="#impl-TryComponentsInto%3CC%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, C&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html" title="trait cosmic::cosmic_theme::palette::cast::TryComponentsInto">TryComponentsInto</a>&lt;C&gt; for T<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.TryFromComponents.html" title="trait cosmic::cosmic_theme::palette::cast::TryFromComponents">TryFromComponents</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_components_traits.rs.html#588">Source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;C as <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.TryFromComponents.html" title="trait cosmic::cosmic_theme::palette::cast::TryFromComponents">TryFromComponents</a>&lt;T&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cast/trait.TryFromComponents.html#associatedtype.Error" title="type cosmic::cosmic_theme::palette::cast::TryFromComponents::Error">Error</a></h4></section></summary><div class='docblock'>The error for when <code>try_into_colors</code> fails to cast.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_components_into" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_components_traits.rs.html#591">Source</a><a href="#method.try_components_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html#tymethod.try_components_into" class="fn">try_components_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;C, &lt;T as <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html" title="trait cosmic::cosmic_theme::palette::cast::TryComponentsInto">TryComponentsInto</a>&lt;C&gt;&gt;::<a class="associatedtype" href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html#associatedtype.Error" title="type cosmic::cosmic_theme::palette::cast::TryComponentsInto::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Try to cast this collection of color components into a collection of
colors. <a href="../../../../cosmic_theme/palette/cast/trait.TryComponentsInto.html#tymethod.try_components_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#833-835">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#837">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="../../../../iced/enum.Never.html" title="enum cosmic::iced::Never">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#840">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#817-819">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#821">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#824">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryIntoColor%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/try_from_into_color.rs.html#110-112">Source</a><a href="#impl-TryIntoColor%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/convert/trait.TryIntoColor.html" title="trait cosmic::cosmic_theme::palette::convert::TryIntoColor">TryIntoColor</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../../../../cosmic_theme/palette/convert/trait.TryFromColor.html" title="trait cosmic::cosmic_theme::palette::convert::TryFromColor">TryFromColor</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_into_color" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/convert/try_from_into_color.rs.html#115">Source</a><a href="#method.try_into_color" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/convert/trait.TryIntoColor.html#tymethod.try_into_color" class="fn">try_into_color</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, <a class="struct" href="../../../../cosmic_theme/palette/convert/struct.OutOfBounds.html" title="struct cosmic::cosmic_theme::palette::convert::OutOfBounds">OutOfBounds</a>&lt;U&gt;&gt;</h4></section></summary><div class='docblock'>Convert into T, returning ok if the color is inside of its defined
range, otherwise an <code>OutOfBounds</code> error is returned which contains
the unclamped color. <a href="../../../../cosmic_theme/palette/convert/trait.TryIntoColor.html#tymethod.try_into_color">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-UintsFrom%3CC%3E-for-U" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_uints_traits.rs.html#325-327">Source</a><a href="#impl-UintsFrom%3CC%3E-for-U" class="anchor">§</a><h3 class="code-header">impl&lt;C, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.UintsFrom.html" title="trait cosmic::cosmic_theme::palette::cast::UintsFrom">UintsFrom</a>&lt;C&gt; for U<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.IntoUints.html" title="trait cosmic::cosmic_theme::palette::cast::IntoUints">IntoUints</a>&lt;U&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.uints_from" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_uints_traits.rs.html#330">Source</a><a href="#method.uints_from" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.UintsFrom.html#tymethod.uints_from" class="fn">uints_from</a>(colors: C) -&gt; U</h4></section></summary><div class='docblock'>Cast a collection of colors into a collection of unsigned integers.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-UintsInto%3CC%3E-for-U" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_uints_traits.rs.html#401-403">Source</a><a href="#impl-UintsInto%3CC%3E-for-U" class="anchor">§</a><h3 class="code-header">impl&lt;C, U&gt; <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.UintsInto.html" title="trait cosmic::cosmic_theme::palette::cast::UintsInto">UintsInto</a>&lt;C&gt; for U<div class="where">where
C: <a class="trait" href="../../../../cosmic_theme/palette/cast/trait.FromUints.html" title="trait cosmic::cosmic_theme::palette::cast::FromUints">FromUints</a>&lt;U&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.uints_into" class="method trait-impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/cast/from_into_uints_traits.rs.html#406">Source</a><a href="#method.uints_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../../../cosmic_theme/palette/cast/trait.UintsInto.html#tymethod.uints_into" class="fn">uints_into</a>(self) -&gt; C</h4></section></summary><div class='docblock'>Cast this collection of unsigned integers into a collection of colors.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<div class="where">where
V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="WithDispatch&lt;Self&gt;"></a><div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="WithDispatch&lt;Self&gt;"></a></h4></section></summary><div class='docblock'>Attaches the current <a href="dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-MaybeClone-for-T" class="impl"><a href="#impl-MaybeClone-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../iced/daemon/program/message/trait.MaybeClone.html" title="trait cosmic::iced::daemon::program::message::MaybeClone">MaybeClone</a> for T</h3></section><section id="impl-MaybeDebug-for-T" class="impl"><a href="#impl-MaybeDebug-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../iced/daemon/program/message/trait.MaybeDebug.html" title="trait cosmic::iced::daemon::program::message::MaybeDebug">MaybeDebug</a> for T</h3></section><section id="impl-MaybeSend-for-T" class="impl"><a href="#impl-MaybeSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../iced/daemon/program/graphics/futures/trait.MaybeSend.html" title="trait cosmic::iced::daemon::program::graphics::futures::MaybeSend">MaybeSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-MaybeSend-for-T-1" class="impl"><a href="#impl-MaybeSend-for-T-1" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; MaybeSend for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-MaybeSync-for-T" class="impl"><a href="#impl-MaybeSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../../../iced/daemon/program/graphics/futures/trait.MaybeSync.html" title="trait cosmic::iced::daemon::program::graphics::futures::MaybeSync">MaybeSync</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-MaybeSync-for-T-1" class="impl"><a href="#impl-MaybeSync-for-T-1" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; MaybeSync for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"Instrumented<Self>":"<h3>Notable traits for <code>Instrumented&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a> for Instrumented&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a>,</div></div><div class=\"where\"> type <a href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = &lt;T as <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a>&gt;::<a class=\"associatedtype\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html#associatedtype.Output\" title=\"type cosmic::iced::daemon::program::graphics::futures::futures::Future::Output\">Output</a>;</div>","WithDispatch<Self>":"<h3>Notable traits for <code>WithDispatch&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a> for WithDispatch&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a>,</div></div><div class=\"where\"> type <a href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = &lt;T as <a class=\"trait\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html\" title=\"trait cosmic::iced::daemon::program::graphics::futures::futures::Future\">Future</a>&gt;::<a class=\"associatedtype\" href=\"../../../../iced/daemon/program/graphics/futures/futures/trait.Future.html#associatedtype.Output\" title=\"type cosmic::iced::daemon::program::graphics::futures::futures::Future::Output\">Output</a>;</div>"}</script></section></div></main></body></html>