<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Assorted tools and UI states that’re useful for applications built to display maps."><metaname="keywords"content="rust, rustlang, rust-lang, tools"><title>map_gui::tools - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../../light.css"id="themeStyle"><scriptid="default-settings"></script><scriptsrc="../../storage.js"></script><scriptsrc="../../crates.js"></script><scriptdefersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu"role="button">☰</div><aclass="sidebar-logo"href="../../map_gui/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.png"alt="logo"></div>
</a><h2class="location">Module tools</h2><divclass="sidebar-elems"><divclass="block items"><ul><li><ahref="#modules">Modules</a></li><li><ahref="#structs">Structs</a></li><li><ahref="#enums">Enums</a></li><li><ahref="#constants">Constants</a></li><li><ahref="#traits">Traits</a></li><li><ahref="#functions">Functions</a></li></ul></div><divid="sidebar-vars"data-name="tools"data-ty="mod"data-relpath="./"></div><scriptdefersrc="./sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../map_gui/index.html"><imgclass="rust-logo"src="../../rust-logo.png"alt="logo"></a><navclass="sub"><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="18"height="18"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="18"height="18"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">map_gui</a>::<wbr><aclass="mod"href="#">tools</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span><spanclass="out-of-band"><spanid="render-detail"><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span><aclass="srclink"href="../../src/map_gui/tools/mod.rs.html#1-423"title="goto source code">[src]</a></span></h1><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Assorted tools and UI states that’re useful for applications built to display maps.</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.CameraState.html"title="map_gui::tools::CameraState struct">CameraState</a></div><divclass="item-right docblock-short"><p>Represents the state of a widgetry Canvas.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ChooseSomething.html"title="map_gui::tools::ChooseSomething struct">ChooseSomething</a></div><divclass="item-right docblock-short"><p>Choose something from a menu, then feed the answer to a callback.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.CityPicker.html"title="map_gui::tools::CityPicker struct">CityPicker</a></div><divclass="item-right docblock-short"><p>Lets the player switch maps.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ColorDiscrete.html"title="map_gui::tools::ColorDiscrete struct">ColorDiscrete</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ColorLegend.html"title="map_gui::tools::ColorLegend struct">ColorLegend</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ColorNetwork.html"title="map_gui::tools::ColorNetwork struct">ColorNetwork</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ColorScale.html"title="map_gui::tools::ColorScale struct">ColorScale</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.DefaultMap.html"title="map_gui::tools::DefaultMap struct">DefaultMap</a></div><divclass="item-right docblock-short"><p>Track the last map used, to resume next session.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.DivergingScale.html"title="map_gui::tools::DivergingScale struct">DivergingScale</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.DrawRoadLabels.html"title="map_gui::tools::DrawRoadLabels struct">DrawRoadLabels</a></div><divclass="item-right docblock-short"><p>Labels roads when unzoomed. Label size and frequency depends on the zoom level.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.HeatmapOptions.html"title="map_gui::tools::HeatmapOptions struct">HeatmapOptions</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.InputWaypoints.html"title="map_gui::tools::InputWaypoints struct">InputWaypoints</a></div><divclass="item-right docblock-short"><p>Click to add waypoints, drag them, see the list on a panel and delete them. The caller owns the
Panel and the World, since there’s probably more stuff there too.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.Minimap.html"title="map_gui::tools::Minimap struct">Minimap</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.Navigator.html"title="map_gui::tools::Navigator struct">Navigator</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.PromptInput.html"title="map_gui::tools::PromptInput struct">PromptInput</a></div><divclass="item-right docblock-short"><p>Prompt for arbitrary text input, then feed the answer to a callback.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.RunCommand.html"title="map_gui::tools::RunCommand struct">RunCommand</a></div><divclass="item-right docblock-short"><p>Executes a command and displays STDOUT and STDERR in a loading screen window. Only works on
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.TitleScreen.html"title="map_gui::tools::TitleScreen struct">TitleScreen</a></div><divclass="item-right docblock-short"><p>A title screen shared among all of the A/B Street apps.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.TripManagement.html"title="map_gui::tools::TripManagement struct">TripManagement</a></div><divclass="item-right docblock-short"><p>Save sequences of waypoints as named trips. Basic file management – save, load, browse. This
is useful to define “test cases,” then edit the bike network and “run the tests” to compare
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.TurnExplorer.html"title="map_gui::tools::TurnExplorer struct">TurnExplorer</a></div><divclass="item-right docblock-short"><p>A tool to explore all of the turns from a single lane.</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="trait"href="trait.MinimapControls.html"title="map_gui::tools::MinimapControls trait">MinimapControls</a></div><divclass="item-right docblock-short"><p>Customize the appearance and behavior of a minimap.</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.app_header.html"title="map_gui::tools::app_header fn">app_header</a></div><divclass="item-right docblock-short"><p>A standard way to group a home button back to the title screen, the title of the current app,
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.color_for_mode.html"title="map_gui::tools::color_for_mode fn">color_for_mode</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.draw_isochrone.html"title="map_gui::tools::draw_isochrone fn">draw_isochrone</a></div><divclass="item-right docblock-short"><p>Thresholds are Durations, in units of seconds</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.find_exe.html"title="map_gui::tools::find_exe fn">find_exe</a></div><divclass="item-right docblock-short"><p>Returns the path to an executable. Native-only.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.goal_marker.html"title="map_gui::tools::goal_marker fn">goal_marker</a></div><divclass="item-right docblock-short"><p>Draw a goal marker pointing at something.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.grey_out_map.html"title="map_gui::tools::grey_out_map fn">grey_out_map</a></div><divclass="item-right docblock-short"><p>Make it clear the map can’t be interacted with right now.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.home_btn.html"title="map_gui::tools::home_btn fn">home_btn</a></div><divclass="item-right docblock-short"><p>A button to return to the title screen</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.intersections_from_roads.html"title="map_gui::tools::intersections_from_roads fn">intersections_from_roads</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.loading_tips.html"title="map_gui::tools::loading_tips fn">loading_tips</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.make_heatmap.html"title="map_gui::tools::make_heatmap fn">make_heatmap</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.nice_country_name.html"title="map_gui::tools::nice_country_name fn">nice_country_name</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.nice_map_name.html"title="map_gui::tools::nice_map_name fn">nice_map_name</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.percentage_bar.html"title="map_gui::tools::percentage_bar fn">percentage_bar</a></div><divclass="item-right docblock-short"></div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.prompt_to_download_missing_data.html"title="map_gui::tools::prompt_to_download_missing_data fn">prompt_to_download_missing_data</a></div><divclass="item-right docblock-short"><p>Prompt to download a missing city. On either success or failure (maybe the player choosing to
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.start_marker.html"title="map_gui::tools::start_marker fn">start_marker</a></div><divclass="item-right docblock-short"><p>Draw a start marker pointing at something.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.update_url_map_name.html"title="map_gui::tools::update_url_map_name fn">update_url_map_name</a></div><divclass="item-right docblock-short"><p>Modify the current URL to set the first free parameter to the current map name.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.version.html"title="map_gui::tools::version fn">version</a></div><divclass="item-right docblock-short"><p>Returns the version of A/B Street to link to. When building for a release, this points to that