<!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="Floem"><title>floem - 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"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="floem" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.0 (254b59607 2026-01-19)" data-channel="1.93.0" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Crate floem</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../floem/index.html">floem</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#floem" title="Floem">Floem</a><ul><li><a href="#example-counter" title="Example: Counter">Example: Counter</a></li><li><a href="#views" title="Views">Views</a></li><li><a href="#state-management" title="State management">State management</a></li><li><a href="#style-customizing-appearance" title="Style: Customizing Appearance">Style: Customizing Appearance</a></li><li><a href="#animation" title="Animation">Animation</a></li></ul></li></ul><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>floem</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/floem/lib.rs.html#1-269">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><h2 id="floem"><a class="doc-anchor" href="#floem">§</a>Floem</h2>
<p>Floem is a cross-platform GUI library for Rust. It aims to be extremely performant while providing world-class developer ergonomics.</p>
<p>The following is a simple example to demonstrate Floem’s API and capabilities.</p>
<h3 id="example-counter"><a class="doc-anchor" href="#example-counter">§</a>Example: Counter</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>floem::prelude::<span class="kw-2">*</span>;

<span class="kw">let </span><span class="kw-2">mut </span>counter = RwSignal::new(<span class="number">0</span>);

v_stack((
    label(<span class="kw">move </span>|| <span class="macro">format!</span>(<span class="string">"Value: {counter}"</span>)),
    h_stack((
        button(<span class="string">"Increment"</span>).action(<span class="kw">move </span>|| counter += <span class="number">1</span>),
        button(<span class="string">"Decrement"</span>).action(<span class="kw">move </span>|| counter -= <span class="number">1</span>),
    )),
));</code></pre></div>
<p>This example demonstrates the core concepts of building a reactive GUI with Floem:</p>
<ul>
<li>State Management: The <code>RwSignal</code> provides a reactive way to manage the counter’s state.</li>
<li>Widgets: Common UI elements like <code>stack</code>, <code>label</code>, and <code>button</code> are easily implemented.</li>
<li>Reactivity: The label automatically updates when the counter changes.</li>
<li>Event Handling: Button clicks are handled with simple closures that modify the state.</li>
</ul>
<p>Floem’s objectives prioritize simplicity and performance, enabling the development of complex graphical user interfaces with minimal boilerplate.</p>
<h3 id="views"><a class="doc-anchor" href="#views">§</a>Views</h3>
<p>Floem models the UI using a tree of <a href="view/trait.View.html" title="trait floem::view::View">Views</a>. Views, such as the <code>h_stack</code>, <code>label</code>, and
<code>button</code> elements are the building blocks of UI in Floem.</p>
<p>Floem’s main view tree is constructed only once.
This guards against unnecessary and expensive rebuilds of your views;
however, even though the tree is built only once, views can still receive reactive updates.</p>
<h4 id="composition-and-flexibility"><a class="doc-anchor" href="#composition-and-flexibility">§</a>Composition and Flexibility</h4>
<p>Views in Floem are composable, allowing for the construction of complex user interfaces by integrating simpler components.
In the counter example, label and button views were combined within vertical (<code>v_stack</code>) and horizontal (<code>h_stack</code>) layouts to create a more intricate interface.</p>
<p>This compositional approach provides the following benefits:</p>
<ul>
<li>Reusable UI components</li>
<li>Easy and consistent refactoring</li>
</ul>
<h4 id="learn-more"><a class="doc-anchor" href="#learn-more">§</a>Learn More</h4>
<p>Floem provides a set of built-in views to help you create UIs quickly.
To learn more about the built-in views, check out the <a href="views/index.html" title="mod floem::views">views module</a> documentation.</p>
<h3 id="state-management"><a class="doc-anchor" href="#state-management">§</a>State management</h3>
<p>Floem uses a reactive system built on signals and effects for its state management.</p>
<p>Floem uses its own reactive system with an API that is similar to the one in the <a href="https://docs.rs/leptos_reactive/latest/leptos_reactive/index.html">leptos_reactive</a> crate.</p>
<h4 id="signals-as-state"><a class="doc-anchor" href="#signals-as-state">§</a>Signals as State</h4>
<p>You can create reactive state by creating a signal anywhere in the program using <a href="prelude/struct.RwSignal.html#method.new" title="associated function floem::prelude::RwSignal::new"><code>RwSignal::new()</code></a>, <a href="prelude/struct.RwSignal.html#method.new_split" title="associated function floem::prelude::RwSignal::new_split"><code>RwSignal::new_split()</code></a>, or use a <a href="../floem_reactive/index.html" title="mod floem_reactive">different signal type</a>.</p>
<p>When you use a signal by calling the <a href="prelude/trait.SignalGet.html#method.get" title="method floem::prelude::SignalGet::get"><code>get</code></a> or <a href="prelude/trait.SignalWith.html#method.with" title="method floem::prelude::SignalWith::with"><code>with</code></a> methods, (which are also called when you use an operator such as <code>==</code>)
the runtime will automatically subscribe the correct side effects
to changes in that signal, creating reactivity. To the programmer this is transparent.
By simply accessing the value where you want to use it, the reactivity will “just work” and
your views will stay in sync with changes to that signal.</p>
<h5 id="example-changing-text"><a class="doc-anchor" href="#example-changing-text">§</a>Example: Changing Text</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">fn </span>app_view() -&gt; <span class="kw">impl </span>IntoView {

    <span class="comment">// All signal types implement `Copy`, so they can be easily used without needing to manually clone them.
    </span><span class="kw">let </span>text = RwSignal::new(<span class="string">"Hello, World!"</span>.to_string());

    <span class="kw">let </span>label_view = label(<span class="kw">move </span>|| text.get());

    <span class="kw">let </span>button = button(<span class="string">"Change Text"</span>).action(<span class="kw">move </span>|| text.set(<span class="string">"Hello, Floem!"</span>.to_string()));

    v_stack((button, label_view))
}</code></pre></div>
<p>In this example, <code>text</code> is a signal containing a <code>String</code> that can be both read from and written to.
The button, when clicked, changes the text in the signal.
The label view is subscribed to changes in the <code>text</code> signal and will automatically trigger a re-render with the updated text value whenever the signal changes.</p>
<h4 id="functions-as-a-primitive-of-reactivity"><a class="doc-anchor" href="#functions-as-a-primitive-of-reactivity">§</a>Functions as a Primitive of Reactivity</h4>
<p>The most fundamental primitive of reactivity is a function that can be re-run in response to changes in a signal.
For this reason, many of Floem’s APIs accept functions as arguments (such as in the label view in the <code>Changing Text</code> example above).
Most of the functions is Floem’s API will
update reactively, but not all of them do. For this reason, all arguments in Floem’s API that are functions will
be marked with a <code># Reactivity</code> section that will inform you if the function will be re-run in response to reactive updates.</p>
<h4 id="learn-more-1"><a class="doc-anchor" href="#learn-more-1">§</a>Learn More</h4>
<p>To learn more about signals and
effects, you may want to explore the Leptos <a href="https://docs.rs/leptos_reactive/latest/leptos_reactive/index.html">documentation</a>
and the <a href="https://leptos-rs.github.io/leptos/">leptos book</a>.</p>
<h3 id="style-customizing-appearance"><a class="doc-anchor" href="#style-customizing-appearance">§</a>Style: Customizing Appearance</h3>
<p>Floem has a powerful, built-in styling system that allows you to customize the appearance of your UI.</p>
<p>Example:</p>

<div class="example-wrap"><pre class="rust rust-example-rendered"><code>text(<span class="string">"Some text"</span>).style(|s| s.font_size(<span class="number">21.</span>).color(palette::css::DARK_GRAY));</code></pre></div>
<p>The text view is styled by calling the <a href="views/trait.Decorators.html#method.style" title="method floem::views::Decorators::style"><code>style</code></a> method (you’ll need to import the
<a href="views/trait.Decorators.html" title="trait floem::views::Decorators"><code>Decorators</code></a> trait to use the it). The <code>style</code> method takes a closure that takes and returns a
<a href="style/struct.Style.html" title="struct floem::style::Style"><code>Style</code></a> value using the builder pattern. Through this value, you can access methods that modify a variety
of familiar properties such as width, padding, and background. Some <code>Style</code> properties
such as font size are <code>inherited</code> and will apply to all of a view’s children until overridden.</p>
<p>In this same style value, floem supports:</p>
<ul>
<li>themeing with <a href="style/struct.Style.html#method.class" title="method floem::style::Style::class">classes</a></li>
<li><a href="style/struct.Style.html#method.transition" title="method floem::style::Style::transition">property transitions</a></li>
<li>defining styles on different <a href="style/struct.Style.html#method.hover" title="method floem::style::Style::hover">interaction states</a></li>
<li>reactive updates</li>
<li>applying styles <a href="style/struct.Style.html#method.apply_if" title="method floem::style::Style::apply_if">conditionally</a></li>
<li>setting custom properties</li>
<li>and more</li>
</ul>
<p>For additional information about styling, <a href="style/index.html" title="mod floem::style">see here</a>.</p>
<h3 id="animation"><a class="doc-anchor" href="#animation">§</a>Animation</h3>
<p>In addition to <a href="style/struct.Style.html#method.transition" title="method floem::style::Style::transition">property transitions</a> that can be added to <code>Style</code>s,
Floem has a full keyframe animation system that allows you to animate any property that can be <a href="style/trait.StylePropValue.html#method.interpolate" title="method floem::style::StylePropValue::interpolate">interpolated</a> and builds on the capabilities and ergonomics of the style system.</p>
<p>Animations in Floem, by default, have keyframes ranging from 0-100.</p>
<h5 id="example-rectangle-to-square"><a class="doc-anchor" href="#example-rectangle-to-square">§</a>Example: Rectangle to Square</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>empty()
    .style(|s| s.background(palette::css::RED).size(<span class="number">500</span>, <span class="number">100</span>))
    .animation(<span class="kw">move </span>|a| {
        a.duration(<span class="number">5</span>.seconds())
            .keyframe(<span class="number">0</span>, |f| f.computed_style())
            .keyframe(<span class="number">50</span>, |f| {
                f.style(|s| s.background(palette::css::BLACK).size(<span class="number">30</span>, <span class="number">30</span>))
                    .ease_in()
            })
            .keyframe(<span class="number">100</span>, |f| {
                f.style(|s| s.background(palette::css::AQUAMARINE).size(<span class="number">10</span>, <span class="number">300</span>))
                    .ease_out()
            })
            .auto_reverse(<span class="bool-val">true</span>)
            .repeat(<span class="bool-val">true</span>)
    });</code></pre></div>
<ul>
<li>The first keyframe will use the computed style, which will include the red background with size of 500x100.</li>
<li>At 50%, the animation will animate to a black square of 30x30 with a bezier easing of <code>ease_in</code>.</li>
<li>At 100% the animation will animate to an aquamarine rectangle of 10x300 with an bezier easing of <code>ease_out</code>.</li>
<li>The animation is also set to automatically reverse (the animation will run and reverse in 5 seconds) and repeat forever.</li>
</ul>
<p>You can add animations to a <code>View</code> instance by calling the <a href="views/trait.Decorators.html#method.animation" title="method floem::views::Decorators::animation"><code>animation</code></a> method from the <code>Decorators</code> trait.
The <code>animation</code> method takes a closure that takes and returns an <a href="animate/struct.Animation.html" title="struct floem::animate::Animation"><code>Animation</code></a> value using the builder pattern.</p>
<p>For additional information about animation, <a href="animate/struct.Animation.html" title="struct floem::animate::Animation">see here</a>.</p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.easing"><code>pub use animate::<a class="mod" href="animate/easing/index.html" title="mod floem::animate::easing">easing</a>;</code></dt><dt id="reexport.dropped_file"><code>pub use event::<a class="mod" href="event/dropped_file/index.html" title="mod floem::event::dropped_file">dropped_file</a>;</code></dt><dt id="reexport.responsive"><code>pub use layout::<a class="mod" href="layout/responsive/index.html" title="mod floem::layout::responsive">responsive</a>;</code></dt><dt id="reexport.file"><code>pub use platform::<a class="mod" href="platform/file/index.html" title="mod floem::platform::file">file</a>;</code></dt><dt id="reexport.menu"><code>pub use platform::<a class="mod" href="platform/menu/index.html" title="mod floem::platform::menu">menu</a>;</code></dt><dt id="reexport.view_tuple"><code>pub use view::<a class="mod" href="view/tuple/index.html" title="mod floem::view::tuple">tuple</a> as view_tuple;</code></dt><dt id="reexport.ScreenLayout"><code>pub use layout::<a class="struct" href="layout/struct.ScreenLayout.html" title="struct floem::layout::ScreenLayout">ScreenLayout</a>;</code></dt><dt id="reexport.open_file"><code>pub use platform::<a class="fn" href="platform/file_action/fn.open_file.html" title="fn floem::platform::file_action::open_file">open_file</a>;</code></dt><dt id="reexport.save_as"><code>pub use platform::<a class="fn" href="platform/file_action/fn.save_as.html" title="fn floem::platform::file_action::save_as">save_as</a>;</code></dt><dt id="reexport.Clipboard"><code>pub use platform::<a class="struct" href="platform/struct.Clipboard.html" title="struct floem::platform::Clipboard">Clipboard</a>;</code></dt><dt id="reexport.ClipboardError"><code>pub use platform::<a class="enum" href="platform/enum.ClipboardError.html" title="enum floem::platform::ClipboardError">ClipboardError</a>;</code></dt><dt id="reexport.FileDialogOptions"><code>pub use platform::<a class="struct" href="platform/file/struct.FileDialogOptions.html" title="struct floem::platform::file::FileDialogOptions">FileDialogOptions</a>;</code></dt><dt id="reexport.FileInfo"><code>pub use platform::<a class="struct" href="platform/file/struct.FileInfo.html" title="struct floem::platform::file::FileInfo">FileInfo</a>;</code></dt><dt id="reexport.FileSpec"><code>pub use platform::<a class="struct" href="platform/file/struct.FileSpec.html" title="struct floem::platform::file::FileSpec">FileSpec</a>;</code></dt><dt id="reexport.Menu"><code>pub use platform::<a class="type" href="platform/menu/type.Menu.html" title="type floem::platform::menu::Menu">Menu</a>;</code></dt><dt id="reexport.SubMenu"><code>pub use platform::<a class="type" href="platform/menu/type.SubMenu.html" title="type floem::platform::menu::SubMenu">SubMenu</a>;</code></dt><dt id="reexport.ViewId"><code>pub use view::<a class="struct" href="view/struct.ViewId.html" title="struct floem::view::ViewId">ViewId</a>;</code></dt><dt id="reexport.AnyView"><code>pub use view::<a class="type" href="view/type.AnyView.html" title="type floem::view::AnyView">AnyView</a>;</code></dt><dt id="reexport.HasViewId"><code>pub use view::<a class="trait" href="view/trait.HasViewId.html" title="trait floem::view::HasViewId">HasViewId</a>;</code></dt><dt id="reexport.IntoView"><code>pub use view::<a class="trait" href="view/trait.IntoView.html" title="trait floem::view::IntoView">IntoView</a>;</code></dt><dt id="reexport.LazyView"><code>pub use view::<a class="struct" href="view/struct.LazyView.html" title="struct floem::view::LazyView">LazyView</a>;</code></dt><dt id="reexport.ParentView"><code>pub use view::<a class="trait" href="view/trait.ParentView.html" title="trait floem::view::ParentView">ParentView</a>;</code></dt><dt id="reexport.View"><code>pub use view::<a class="trait" href="view/trait.View.html" title="trait floem::view::View">View</a>;</code></dt><dt id="reexport.default_compute_layout"><code>pub use view::<a class="fn" href="view/fn.default_compute_layout.html" title="fn floem::view::default_compute_layout">default_compute_layout</a>;</code></dt><dt id="reexport.recursively_layout_view"><code>pub use view::<a class="fn" href="view/fn.recursively_layout_view.html" title="fn floem::view::recursively_layout_view">recursively_layout_view</a>;</code></dt><dt id="reexport.Stack"><code>pub use view::<a class="struct" href="view/struct.Stack.html" title="struct floem::view::Stack">Stack</a>;</code></dt><dt id="reexport.StackOffset"><code>pub use view::<a class="struct" href="view/struct.StackOffset.html" title="struct floem::view::StackOffset">StackOffset</a>;</code></dt><dt id="reexport.Urgency"><code>pub use window::<a class="enum" href="window/enum.Urgency.html" title="enum floem::window::Urgency">Urgency</a>;</code></dt><dt id="reexport.WindowIdExt"><code>pub use window::<a class="trait" href="window/trait.WindowIdExt.html" title="trait floem::window::WindowIdExt">WindowIdExt</a>;</code></dt><dt id="reexport.WindowState"><code>pub use window::<a class="struct" href="window/struct.WindowState.html" title="struct floem::window::WindowState">WindowState</a>;</code></dt><dt id="reexport.close_window"><code>pub use window::<a class="fn" href="window/fn.close_window.html" title="fn floem::window::close_window">close_window</a>;</code></dt><dt id="reexport.new_window"><code>pub use window::<a class="fn" href="window/fn.new_window.html" title="fn floem::window::new_window">new_window</a>;</code></dt><dt id="reexport.theme"><code>pub use style::<a class="mod" href="style/theme/index.html" title="mod floem::style::theme">theme</a>;</code></dt><dt id="reexport.unit"><code>pub use style::<a class="mod" href="style/unit/index.html" title="mod floem::style::unit">unit</a>;</code></dt><dt id="reexport.reactive"><code>pub use <a class="mod" href="../floem_reactive/index.html" title="mod floem_reactive">floem_reactive</a> as reactive;</code></dt><dt id="reexport.imbl"><code>pub use <a class="mod" href="../imbl/index.html" title="mod imbl">imbl</a>;</code></dt><dt id="reexport.muda"><code>pub use <a class="mod" href="../muda/index.html" title="mod muda">muda</a>;</code></dt><dt id="reexport.peniko"><code>pub use <a class="mod" href="../peniko/index.html" title="mod peniko">peniko</a>;</code></dt><dt id="reexport.kurbo"><code>pub use peniko::<a class="mod" href="../kurbo/index.html" title="mod kurbo">kurbo</a>;</code></dt><dt id="reexport.taffy"><code>pub use <a class="mod" href="../taffy/index.html" title="mod taffy">taffy</a>;</code></dt><dt id="reexport.ui_events"><code>pub use <a class="mod" href="../ui_events/index.html" title="mod ui_events">ui_events</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="action/index.html" title="mod floem::action">action</a></dt><dd>Action functions that can be called anywhere in a Floem application</dd><dt><a class="mod" href="animate/index.html" title="mod floem::animate">animate</a></dt><dd>Animations</dd><dt><a class="mod" href="context/index.html" title="mod floem::context">context</a></dt><dt><a class="mod" href="event/index.html" title="mod floem::event">event</a></dt><dt><a class="mod" href="ext_event/index.html" title="mod floem::ext_event">ext_<wbr>event</a></dt><dt><a class="mod" href="headless/index.html" title="mod floem::headless">headless</a></dt><dd>Headless harness for UI testing and benchmarking.</dd><dt><a class="mod" href="layout/index.html" title="mod floem::layout">layout</a></dt><dd>Layout utilities for screen positioning, responsive design, and layout computation.</dd><dt><a class="mod" href="paint/index.html" title="mod floem::paint">paint</a></dt><dd>Paint context and state for rendering views.</dd><dt><a class="mod" href="platform/index.html" title="mod floem::platform">platform</a></dt><dd>Platform abstractions for OS-level functionality.</dd><dt><a class="mod" href="prelude/index.html" title="mod floem::prelude">prelude</a></dt><dt><a class="mod" href="receiver_signal/index.html" title="mod floem::receiver_signal">receiver_<wbr>signal</a></dt><dd>Signals from Channels, Futures, and Streams.</dd><dt><a class="mod" href="style/index.html" title="mod floem::style">style</a></dt><dd>Style</dd><dt><a class="mod" href="text/index.html" title="mod floem::text">text</a></dt><dt><a class="mod" href="view/index.html" title="mod floem::view">view</a></dt><dd>View and Widget Traits</dd><dt><a class="mod" href="views/index.html" title="mod floem::views">views</a></dt><dd>Floem built-in Views</dd><dt><a class="mod" href="window/index.html" title="mod floem::window">window</a></dt></dl><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.dyn_view.html" title="macro floem::dyn_view">dyn_<wbr>view</a></dt><dt><a class="macro" href="macro.prop.html" title="macro floem::prop">prop</a></dt><dt><a class="macro" href="macro.prop_extractor.html" title="macro floem::prop_extractor">prop_<wbr>extractor</a></dt><dt><a class="macro" href="macro.style_class.html" title="macro floem::style_class">style_<wbr>class</a></dt></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.AppConfig.html" title="struct floem::AppConfig">AppConfig</a></dt><dt><a class="struct" href="struct.Application.html" title="struct floem::Application">Application</a></dt><dd>Floem top level application
This is the entry point of the application.</dd><dt><a class="struct" href="struct.GpuResources.html" title="struct floem::GpuResources">GpuResources</a></dt><dd>The acquired GPU resources needed for rendering with wgpu.</dd><dt><a class="struct" href="struct.RendererSvg.html" title="struct floem::RendererSvg">Renderer<wbr>Svg</a></dt></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.AppEvent.html" title="enum floem::AppEvent">AppEvent</a></dt></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Renderer.html" title="trait floem::Renderer">Renderer</a></dt></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.launch.html" title="fn floem::launch">launch</a></dt><dd>Initializes and runs an application with a single window.</dd><dt><a class="fn" href="fn.quit_app.html" title="fn floem::quit_app">quit_<wbr>app</a></dt><dd>Initiates the application shutdown process.</dd><dt><a class="fn" href="fn.reopen.html" title="fn floem::reopen">reopen</a></dt><dd>Signals the application to reopen.</dd></dl></section></div></main></body></html>