abstreet/rustdoc/widgetry/index.html
2021-09-09 16:19:47 +00:00

73 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="Widgets"><meta name="keywords" content="rust, rustlang, rust-lang, widgetry"><title>widgetry - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg"><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../widgetry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><h2 class="location">Crate widgetry</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.1.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all widgetry's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><div id="sidebar-vars" data-name="widgetry" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">widgetry</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/widgetry/lib.rs.html#1-232" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><h1 id="widgets" class="section-header"><a href="#widgets">Widgets</a></h1>
<p>If none of these do what you need, implementing a new <a href="widgets/trait.WidgetImpl.html" title="WidgetImpl"><code>WidgetImpl</code></a> isnt tough.</p>
<p>TODO inline pictures of some of these</p>
<ul>
<li><a href="widgets/autocomplete/struct.Autocomplete.html" title="Autocomplete"><code>Autocomplete</code></a> - select predefined value by combining text entry with menus</li>
<li><a href="widgets/button/struct.Button.html" title="Button"><code>Button</code></a> - clickable buttons with keybindings and tooltips</li>
<li><a href="widgets/toggle/struct.Toggle.html" title="Toggle"><code>Toggle</code></a> - checkboxes, switches, and other toggles</li>
<li><a href="widgets/compare_times/struct.CompareTimes.html" title="CompareTimes"><code>CompareTimes</code></a> - a scatter plot specialized for comparing times</li>
<li><a href="widgets/drag_drop/struct.DragDrop.html" title="DragDrop"><code>DragDrop</code></a> - a reorderable row of draggable cards</li>
<li><a href="widgets/just_draw/struct.DrawWithTooltips.html" title="DrawWithTooltips"><code>DrawWithTooltips</code></a> - draw static geometry, with mouse tooltips in certain regions</li>
<li><a href="widgets/dropdown/struct.Dropdown.html" title="Dropdown"><code>Dropdown</code></a> - a button that expands into a menu</li>
<li><a href="widgets/fan_chart/struct.FanChart.html" title="FanChart"><code>FanChart</code></a> - visualize a range of values over time</li>
<li><a href="widgets/filler/struct.Filler.html" title="Filler"><code>Filler</code></a> - just carve out space in the layout for something else</li>
<li><a href="widgets/just_draw/struct.JustDraw.html" title="JustDraw"><code>JustDraw</code></a> (argh private) - just draw text, <code>GeomBatch</code>es, SVGs</li>
<li><a href="widgets/line_plot/struct.LinePlot.html" title="LinePlot"><code>LinePlot</code></a> - visualize 2 variables with a line plot</li>
<li><a href="widgets/menu/struct.Menu.html" title="Menu"><code>Menu</code></a> - select something from a menu, with keybindings</li>
<li><a href="widgets/persistent_split/struct.PersistentSplit.html" title="PersistentSplit"><code>PersistentSplit</code></a> - a button with a dropdown to change its state</li>
<li><a href="widgets/scatter_plot/struct.ScatterPlot.html" title="ScatterPlot"><code>ScatterPlot</code></a> - visualize 2 variables with a scatter plot</li>
<li><a href="widgets/slider/struct.Slider.html" title="Slider"><code>Slider</code></a> - horizontal and vertical sliders</li>
<li><a href="widgets/spinner/struct.Spinner.html" title="Spinner"><code>Spinner</code></a> - numeric input with up/down buttons</li>
<li><a href="table/struct.Table.html" title="table::Table"><code>table::Table</code></a> - rows and columns, supporting filtering and pagination</li>
<li><a href="widgets/text_box/struct.TextBox.html" title="TextBox"><code>TextBox</code></a> - single line text entry</li>
</ul>
</div></details><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="mod" href="app_state/index.html" title="widgetry::app_state mod">app_state</a></div><div class="item-right docblock-short"><p>A widgetry application splits its state into two pieces: global shared state that lasts for the
entire lifetime of the application, and a stack of smaller states, only one of which is active
at a time. For example, imagine an application to view a map. The shared state would include
the map and pre-rendered geometry for it. The individual states might start with a splash
screen or menu to choose a map, then a map viewer, then maybe a state to drill down into pieces
of the map.</p>
</div><div class="item-left module-item"><a class="mod" href="assets/index.html" title="widgetry::assets mod">assets</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="backend/index.html" title="widgetry::backend mod">backend</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="backend_glow/index.html" title="widgetry::backend_glow mod">backend_glow</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="backend_glow_native/index.html" title="widgetry::backend_glow_native mod">backend_glow_native</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="canvas/index.html" title="widgetry::canvas mod">canvas</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="color/index.html" title="widgetry::color mod">color</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="drawing/index.html" title="widgetry::drawing mod">drawing</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="event/index.html" title="widgetry::event mod">event</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="event_ctx/index.html" title="widgetry::event_ctx mod">event_ctx</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="geom/index.html" title="widgetry::geom mod">geom</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="input/index.html" title="widgetry::input mod">input</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="runner/index.html" title="widgetry::runner mod">runner</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="screen_geom/index.html" title="widgetry::screen_geom mod">screen_geom</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="style/index.html" title="widgetry::style mod">style</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="svg/index.html" title="widgetry::svg mod">svg</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="table/index.html" title="widgetry::table mod">table</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="text/index.html" title="widgetry::text mod">text</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="tools/index.html" title="widgetry::tools mod">tools</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="widgets/index.html" title="widgetry::widgets mod">widgets</a></div><div class="item-right docblock-short"></div></div><h2 id="macros" class="section-header"><a href="#macros">Macros</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="macro" href="macro.include_labeled_bytes.html" title="widgetry::include_labeled_bytes macro">include_labeled_bytes</a></div><div class="item-right docblock-short"><p>Like <a href="https://doc.rust-lang.org/1.55.0/core/macro.include_bytes.html" title="std::include_bytes!"><code>std::include_bytes!</code></a>, but also returns its argument, the relative path to the bytes</p>
</div></div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="struct" href="struct.Autocomplete.html" title="widgetry::Autocomplete struct">Autocomplete</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.ButtonBuilder.html" title="widgetry::ButtonBuilder struct">ButtonBuilder</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.ButtonStyle.html" title="widgetry::ButtonStyle struct">ButtonStyle</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Cached.html" title="widgetry::Cached struct">Cached</a></div><div class="item-right docblock-short"><p>Store a cached key/value pair, only recalculating when the key changes.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Canvas.html" title="widgetry::Canvas struct">Canvas</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.CanvasSettings.html" title="widgetry::CanvasSettings struct">CanvasSettings</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Choice.html" title="widgetry::Choice struct">Choice</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Color.html" title="widgetry::Color struct">Color</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.CompareTimes.html" title="widgetry::CompareTimes struct">CompareTimes</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.DragDrop.html" title="widgetry::DragDrop struct">DragDrop</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.DrawWithTooltips.html" title="widgetry::DrawWithTooltips struct">DrawWithTooltips</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Drawable.html" title="widgetry::Drawable struct">Drawable</a></div><div class="item-right docblock-short"><p>Geometry thats been uploaded to the GPU once and can be quickly redrawn many times. Create by
creating a <code>GeomBatch</code> and calling <code>ctx.upload(batch)</code>.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.EdgeInsets.html" title="widgetry::EdgeInsets struct">EdgeInsets</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.EventCtx.html" title="widgetry::EventCtx struct">EventCtx</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.FanChart.html" title="widgetry::FanChart struct">FanChart</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Filler.html" title="widgetry::Filler struct">Filler</a></div><div class="item-right docblock-short"><p>Doesnt do anything by itself, just used for widgetsing. Something else reaches in, asks for the
ScreenRectangle to use.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.GeomBatch.html" title="widgetry::GeomBatch struct">GeomBatch</a></div><div class="item-right docblock-short"><p>A mutable builder for a group of colored polygons.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.GeomBatchStack.html" title="widgetry::GeomBatchStack struct">GeomBatchStack</a></div><div class="item-right docblock-short"><p>Similar to [<code>Widget::row</code>]/[<code>Widget::column</code>], but for <a href="geom/struct.GeomBatch.html" title="GeomBatch"><code>GeomBatch</code></a>s instead of [<code>Widget</code>]s,
and follows a builder pattern</p>
</div><div class="item-left module-item"><a class="struct" href="struct.GfxCtx.html" title="widgetry::GfxCtx struct">GfxCtx</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Image.html" title="widgetry::Image struct">Image</a></div><div class="item-right docblock-short"><p>A stylable UI component builder which presents vector graphics from an <a href="widgets/image/enum.ImageSource.html" title="ImageSource"><code>ImageSource</code></a>.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.LinePlot.html" title="widgetry::LinePlot struct">LinePlot</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.LinearGradient.html" title="widgetry::LinearGradient struct">LinearGradient</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Menu.html" title="widgetry::Menu struct">Menu</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Panel.html" title="widgetry::Panel struct">Panel</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.PersistentSplit.html" title="widgetry::PersistentSplit struct">PersistentSplit</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.PlotOptions.html" title="widgetry::PlotOptions struct">PlotOptions</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Prerender.html" title="widgetry::Prerender struct">Prerender</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.RoundedF64.html" title="widgetry::RoundedF64 struct">RoundedF64</a></div><div class="item-right docblock-short"><p>An f64 rounded to 4 decimal places. Useful with Spinners, to avoid values accumulating small
drift.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ScatterPlot.html" title="widgetry::ScatterPlot struct">ScatterPlot</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.ScreenDims.html" title="widgetry::ScreenDims struct">ScreenDims</a></div><div class="item-right docblock-short"><p>ScreenDims is in units of logical pixels, as opposed to physical pixels.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ScreenPt.html" title="widgetry::ScreenPt struct">ScreenPt</a></div><div class="item-right docblock-short"><p>ScreenPt is in units of logical pixels, as opposed to physical pixels.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ScreenRectangle.html" title="widgetry::ScreenRectangle struct">ScreenRectangle</a></div><div class="item-right docblock-short"><p>ScreenRectangle is in units of logical pixels, as opposed to physical pixels.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Series.html" title="widgetry::Series struct">Series</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Settings.html" title="widgetry::Settings struct">Settings</a></div><div class="item-right docblock-short"><p>Customize how widgetry works. Most of these settings cant be changed after starting.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Slider.html" title="widgetry::Slider struct">Slider</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Spinner.html" title="widgetry::Spinner struct">Spinner</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Stash.html" title="widgetry::Stash struct">Stash</a></div><div class="item-right docblock-short"><p>An invisible widget that stores some arbitrary data on the Panel. Users of the panel can read
and write the value. This is one method for “returning” data when a State completes.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Style.html" title="widgetry::Style struct">Style</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.TabController.html" title="widgetry::TabController struct">TabController</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Text.html" title="widgetry::Text struct">Text</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.TextBox.html" title="widgetry::TextBox struct">TextBox</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.TextSpan.html" title="widgetry::TextSpan struct">TextSpan</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Texture.html" title="widgetry::Texture struct">Texture</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Toggle.html" title="widgetry::Toggle struct">Toggle</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.UserInput.html" title="widgetry::UserInput struct">UserInput</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Warper.html" title="widgetry::Warper struct">Warper</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.Widget.html" title="widgetry::Widget struct">Widget</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.WidgetOutput.html" title="widgetry::WidgetOutput struct">WidgetOutput</a></div><div class="item-right docblock-short"></div></div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="enum" href="enum.ClickOutcome.html" title="widgetry::ClickOutcome enum">ClickOutcome</a></div><div class="item-right docblock-short"><p>When an action happens through a button-like widget, what data is plumbed back?</p>
</div><div class="item-left module-item"><a class="enum" href="enum.ContentMode.html" title="widgetry::ContentMode enum">ContentMode</a></div><div class="item-right docblock-short"><p>Rules for how content should stretch to fill its bounds</p>
</div><div class="item-left module-item"><a class="enum" href="enum.ControlState.html" title="widgetry::ControlState enum">ControlState</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.CornerRounding.html" title="widgetry::CornerRounding enum">CornerRounding</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.DrawBaselayer.html" title="widgetry::DrawBaselayer enum">DrawBaselayer</a></div><div class="item-right docblock-short"><p>Before <code>State::draw</code> is called, draw something else.</p>
</div><div class="item-left module-item"><a class="enum" href="enum.Event.html" title="widgetry::Event enum">Event</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.Fill.html" title="widgetry::Fill enum">Fill</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.Font.html" title="widgetry::Font enum">Font</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.HorizontalAlignment.html" title="widgetry::HorizontalAlignment enum">HorizontalAlignment</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.ImageSource.html" title="widgetry::ImageSource enum">ImageSource</a></div><div class="item-right docblock-short"><p>The visual</p>
</div><div class="item-left module-item"><a class="enum" href="enum.Key.html" title="widgetry::Key enum">Key</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.MultiKey.html" title="widgetry::MultiKey enum">MultiKey</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.Outcome.html" title="widgetry::Outcome enum">Outcome</a></div><div class="item-right docblock-short"><p>The result of a Panel handling an event</p>
</div><div class="item-left module-item"><a class="enum" href="enum.RewriteColor.html" title="widgetry::RewriteColor enum">RewriteColor</a></div><div class="item-right docblock-short"><p>A way to transform all colors in a GeomBatch.</p>
</div><div class="item-left module-item"><a class="enum" href="enum.StackAlignment.html" title="widgetry::StackAlignment enum">StackAlignment</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.StackAxis.html" title="widgetry::StackAxis enum">StackAxis</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.Transition.html" title="widgetry::Transition enum">Transition</a></div><div class="item-right docblock-short"><p>When a state responds to an event, it can specify some way to manipulate the stack of states.</p>
</div><div class="item-left module-item"><a class="enum" href="enum.UpdateType.html" title="widgetry::UpdateType enum">UpdateType</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="enum" href="enum.VerticalAlignment.html" title="widgetry::VerticalAlignment enum">VerticalAlignment</a></div><div class="item-right docblock-short"></div></div><h2 id="constants" class="section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="constant" href="constant.DEFAULT_CORNER_RADIUS.html" title="widgetry::DEFAULT_CORNER_RADIUS constant">DEFAULT_CORNER_RADIUS</a></div><div class="item-right docblock-short"></div></div><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="trait" href="trait.SharedAppState.html" title="widgetry::SharedAppState trait">SharedAppState</a></div><div class="item-right docblock-short"><p>Any data that should last the entire lifetime of the application should be stored in the struct
implementing this trait.</p>
</div><div class="item-left module-item"><a class="trait" href="trait.SimpleState.html" title="widgetry::SimpleState trait">SimpleState</a></div><div class="item-right docblock-short"><p>Many states fit a pattern of managing a single panel, handling mouseover events, and other
interactions on the map. Implementing this instead of <code>State</code> reduces some boilerplate.</p>
</div><div class="item-left module-item"><a class="trait" href="trait.State.html" title="widgetry::State trait">State</a></div><div class="item-right docblock-short"><p>A temporary state of an application. Theres a stack of these, with the most recent being the
active one.</p>
</div><div class="item-left module-item"><a class="trait" href="trait.TextExt.html" title="widgetry::TextExt trait">TextExt</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="trait" href="trait.WidgetImpl.html" title="widgetry::WidgetImpl trait">WidgetImpl</a></div><div class="item-right docblock-short"><p>Create a new widget by implementing this trait. You can instantiate your widget by calling
<code>Widget::new(Box::new(instance of your new widget))</code>, which gives you the usual style options.</p>
</div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="fn" href="fn.Line.html" title="widgetry::Line fn">Line</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="fn" href="fn.hotkeys.html" title="widgetry::hotkeys fn">hotkeys</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="fn" href="fn.lctrl.html" title="widgetry::lctrl fn">lctrl</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="fn" href="fn.run.html" title="widgetry::run fn">run</a></div><div class="item-right docblock-short"></div></div><h2 id="types" class="section-header"><a href="#types">Type Definitions</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="type" href="type.OutlineStyle.html" title="widgetry::OutlineStyle type">OutlineStyle</a></div><div class="item-right docblock-short"></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="widgetry" data-search-index-js="../search-index.js" data-search-js="../search.js"></div>
<script src="../main.js"></script>
</body></html>