This commit is contained in:
dabreegster 2021-10-12 18:45:11 +00:00
parent 580ee79795
commit c7ced3894c
9 changed files with 94 additions and 60 deletions

View File

@ -71,9 +71,9 @@ the event and immediately apply the transition. <a href="#method.panel_changed">
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_mouseover-12" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_mouseover-12" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_mouseover" class="fnname">on_mouseover</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Called when the mouse has moved.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.other_event-12" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.other_event-12" class="anchor"></a><h4 class="code-header">fn <a href="#method.other_event" class="fnname">other_event</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A) -&gt; Transition&lt;A&gt;</h4></div></summary><div class='docblock'><p>If a panel <code>on_click</code> event didnt occur and <code>panel_changed</code> didnt return transition, then
call this to handle all other events. <a href="#method.other_event">Read more</a></p>
</div></details><div id="method.draw_baselayer-77" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.draw_baselayer-77" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-SimpleState%3CApp%3E-13" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#202-215" title="goto source code">[src]</a></div><a href="#impl-SimpleState%3CApp%3E-13" class="anchor"></a><h3 class="code-header in-band">impl SimpleState&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ungap/struct.About.html" title="struct game::ungap::About">About</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_click-13" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#203-210" title="goto source code">[src]</a></div><a href="#method.on_click-13" class="anchor"></a><h4 class="code-header">fn <a class="fnname">on_click</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;x: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;Panel<br>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has been clicked. Since the action is just a string,
</div></details><div id="method.draw_baselayer-77" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.draw_baselayer-77" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-SimpleState%3CApp%3E-13" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#219-232" title="goto source code">[src]</a></div><a href="#impl-SimpleState%3CApp%3E-13" class="anchor"></a><h3 class="code-header in-band">impl SimpleState&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ungap/struct.About.html" title="struct game::ungap::About">About</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_click-13" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#220-227" title="goto source code">[src]</a></div><a href="#method.on_click-13" class="anchor"></a><h4 class="code-header">fn <a class="fnname">on_click</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;x: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;Panel<br>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has been clicked. Since the action is just a string,
the fallback case can just use <code>unreachable!()</code>. <a href="#tymethod.on_click">Read more</a></p>
</div></details><div id="method.draw-79" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#212-214" title="goto source code">[src]</a></div><a href="#method.draw-79" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw" class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_click_custom-13" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_click_custom-13" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_click_custom" class="fnname">on_click_custom</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_app: <a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A, <br>&nbsp;&nbsp;&nbsp;&nbsp;_action: <a class="struct" href="https://doc.rust-lang.org/1.55.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../abstutil/clone/trait.CloneableAny.html" title="trait abstutil::clone::CloneableAny">CloneableAny</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/1.55.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_panel: &amp;Panel<br>) -&gt; Transition&lt;A&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has been clicked.</p>
</div></details><div id="method.draw-79" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#229-231" title="goto source code">[src]</a></div><a href="#method.draw-79" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw" class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_click_custom-13" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_click_custom-13" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_click_custom" class="fnname">on_click_custom</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_app: <a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A, <br>&nbsp;&nbsp;&nbsp;&nbsp;_action: <a class="struct" href="https://doc.rust-lang.org/1.55.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../abstutil/clone/trait.CloneableAny.html" title="trait abstutil::clone::CloneableAny">CloneableAny</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/1.55.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;_panel: &amp;Panel<br>) -&gt; Transition&lt;A&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has been clicked.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.panel_changed-14" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.panel_changed-14" class="anchor"></a><h4 class="code-header">fn <a href="#method.panel_changed" class="fnname">panel_changed</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;<a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A, <br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut Panel<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.55.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Transition&lt;A&gt;&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has changed. If a transition is returned, stop handling
the event and immediately apply the transition. <a href="#method.panel_changed">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_mouseover-13" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_mouseover-13" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_mouseover" class="fnname">on_mouseover</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Called when the mouse has moved.</p>

View File

@ -1,4 +1,4 @@
<!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="The build time in RFC2822, UTC."><meta name="keywords" content="rust, rustlang, rust-lang, BUILT_TIME_UTC"><title>BUILT_TIME_UTC in game::pregame::built_info - 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 constant"><!--[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='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">pregame</a>::<wbr><a href="index.html">built_info</a></h2><div id="sidebar-vars" data-name="BUILT_TIME_UTC" data-ty="constant" 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">Constant <a href="../../index.html">game</a>::<wbr><a href="../index.html">pregame</a>::<wbr><a href="index.html">built_info</a>::<wbr><a class="constant" href="#">BUILT_TIME_UTC</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/game/home/runner/work/abstreet/abstreet/target/debug/build/game-e9cc52539fe98199/out/built.rs.html#78" title="goto source code">[src]</a></span></h1><pre class="rust const">pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.str.html">str</a> = r&quot;Tue, 12 Oct 2021 17:28:47 +0000&quot;;</pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The build time in RFC2822, UTC.</p>
<!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="The build time in RFC2822, UTC."><meta name="keywords" content="rust, rustlang, rust-lang, BUILT_TIME_UTC"><title>BUILT_TIME_UTC in game::pregame::built_info - 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 constant"><!--[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='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">pregame</a>::<wbr><a href="index.html">built_info</a></h2><div id="sidebar-vars" data-name="BUILT_TIME_UTC" data-ty="constant" 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">Constant <a href="../../index.html">game</a>::<wbr><a href="../index.html">pregame</a>::<wbr><a href="index.html">built_info</a>::<wbr><a class="constant" href="#">BUILT_TIME_UTC</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/game/home/runner/work/abstreet/abstreet/target/debug/build/game-e9cc52539fe98199/out/built.rs.html#78" title="goto source code">[src]</a></span></h1><pre class="rust const">pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.55.0/std/primitive.str.html">str</a> = r&quot;Tue, 12 Oct 2021 18:44:02 +0000&quot;;</pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The build time in RFC2822, UTC.</p>
</div></details></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!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="API documentation for the Rust `ungap` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, ungap"><title>game::ungap - 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"><!--[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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module ungap</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><div id="sidebar-vars" data-name="ungap" 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">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">ungap</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/game/ungap/mod.rs.html#1-215" title="goto source code">[src]</a></span></h1><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<!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="API documentation for the Rust `ungap` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, ungap"><title>game::ungap - 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"><!--[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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module ungap</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><div id="sidebar-vars" data-name="ungap" 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">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">ungap</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/game/ungap/mod.rs.html#1-232" title="goto source code">[src]</a></span></h1><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-left import-item"><code>pub use self::explore::<a class="struct" href="explore/struct.ExploreMap.html" title="struct game::ungap::explore::ExploreMap">ExploreMap</a>;</code></div><div class="item-right docblock-short"></div><div class="item-left import-item"><code>pub use self::layers::<a class="struct" href="layers/struct.Layers.html" title="struct game::ungap::layers::Layers">Layers</a>;</code></div><div class="item-right docblock-short"></div><div class="item-left import-item"><code>pub use predict::<a class="struct" href="predict/struct.ModeShiftData.html" title="struct game::ungap::predict::ModeShiftData">ModeShiftData</a>;</code></div><div class="item-right docblock-short"></div><div class="item-left import-item"><code>pub use trip::<a class="struct" href="trip/struct.RoutingPreferences.html" title="struct game::ungap::trip::RoutingPreferences">RoutingPreferences</a>;</code></div><div class="item-right docblock-short"></div></div><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="bike_network/index.html" title="game::ungap::bike_network mod">bike_network</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="explore/index.html" title="game::ungap::explore mod">explore</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="labels/index.html" title="game::ungap::labels mod">labels</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="layers/index.html" title="game::ungap::layers mod">layers</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="predict/index.html" title="game::ungap::predict mod">predict</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="quick_sketch/index.html" title="game::ungap::quick_sketch mod">quick_sketch</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="mod" href="trip/index.html" title="game::ungap::trip mod">trip</a></div><div class="item-right docblock-short"></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.About.html" title="game::ungap::About struct">About</a></div><div class="item-right docblock-short"></div></div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
<!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="API documentation for the Rust `TakeLayers` trait in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, TakeLayers"><title>TakeLayers in game::ungap - 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 trait"><!--[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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Trait TakeLayers</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><div class="sidebar-links"><a href="#tymethod.take_layers">take_layers</a></div><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ungap</a></h2><div id="sidebar-vars" data-name="TakeLayers" data-ty="trait" 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">Trait <a href="../index.html">game</a>::<wbr><a href="index.html">ungap</a>::<wbr><a class="trait" href="#">TakeLayers</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/game/ungap/mod.rs.html#31-33" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust trait">pub trait TakeLayers {
<!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="API documentation for the Rust `TakeLayers` trait in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, TakeLayers"><title>TakeLayers in game::ungap - 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 trait"><!--[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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Trait TakeLayers</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><div class="sidebar-links"><a href="#tymethod.take_layers">take_layers</a></div><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ungap</a></h2><div id="sidebar-vars" data-name="TakeLayers" data-ty="trait" 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">Trait <a href="../index.html">game</a>::<wbr><a href="index.html">ungap</a>::<wbr><a class="trait" href="#">TakeLayers</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/game/ungap/mod.rs.html#32-34" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust trait">pub trait TakeLayers {
fn <a href="#tymethod.take_layers" class="fnname">take_layers</a>(self) -&gt; <a class="struct" href="layers/struct.Layers.html" title="struct game::ungap::layers::Layers">Layers</a>;
}</pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.take_layers" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#32" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.take_layers" class="fnname">take_layers</a>(self) -&gt; <a class="struct" href="layers/struct.Layers.html" title="struct game::ungap::layers::Layers">Layers</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-TakeLayers" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/explore.rs.html#20-24" title="goto source code">[src]</a></div><a href="#impl-TakeLayers" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="explore/struct.ExploreMap.html" title="struct game::ungap::explore::ExploreMap">ExploreMap</a></h3></div><div id="impl-TakeLayers-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/predict.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="predict/struct.ShowGaps.html" title="struct game::ungap::predict::ShowGaps">ShowGaps</a></h3></div><div id="impl-TakeLayers-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/quick_sketch.rs.html#19-23" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="quick_sketch/struct.QuickSketch.html" title="struct game::ungap::quick_sketch::QuickSketch">QuickSketch</a></h3></div><div id="impl-TakeLayers-3" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/trip/mod.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-3" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="trip/struct.TripPlanner.html" title="struct game::ungap::trip::TripPlanner">TripPlanner</a></h3></div></div><script type="text/javascript" src="../../implementors/game/ungap/trait.TakeLayers.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
}</pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.take_layers" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/mod.rs.html#33" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.take_layers" class="fnname">take_layers</a>(self) -&gt; <a class="struct" href="layers/struct.Layers.html" title="struct game::ungap::layers::Layers">Layers</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-TakeLayers" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/explore.rs.html#20-24" title="goto source code">[src]</a></div><a href="#impl-TakeLayers" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="explore/struct.ExploreMap.html" title="struct game::ungap::explore::ExploreMap">ExploreMap</a></h3></div><div id="impl-TakeLayers-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/predict.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="predict/struct.ShowGaps.html" title="struct game::ungap::predict::ShowGaps">ShowGaps</a></h3></div><div id="impl-TakeLayers-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/quick_sketch.rs.html#19-23" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="quick_sketch/struct.QuickSketch.html" title="struct game::ungap::quick_sketch::QuickSketch">QuickSketch</a></h3></div><div id="impl-TakeLayers-3" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ungap/trip/mod.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeLayers-3" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeLayers.html" title="trait game::ungap::TakeLayers">TakeLayers</a> for <a class="struct" href="trip/struct.TripPlanner.html" title="struct game::ungap::trip::TripPlanner">TripPlanner</a></h3></div></div><script type="text/javascript" src="../../implementors/game/ungap/trait.TakeLayers.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

File diff suppressed because one or more lines are too long

View File

@ -175,7 +175,7 @@
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">RUSTDOC_VERSION</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;rustdoc 1.55.0 (c8dfcfe04 2021-09-06)&quot;</span>;
<span class="attribute">#[<span class="ident">doc</span><span class="op">=</span><span class="string">r#&quot;The build time in RFC2822, UTC.&quot;#</span>]</span>
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;Tue, 12 Oct 2021 17:28:47 +0000&quot;</span>;
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;Tue, 12 Oct 2021 18:44:02 +0000&quot;</span>;
<span class="attribute">#[<span class="ident">doc</span><span class="op">=</span><span class="string">r#&quot;The target architecture, given by `CARGO_CFG_TARGET_ARCH`.&quot;#</span>]</span>
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">CFG_TARGET_ARCH</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;x86_64&quot;</span>;

View File

@ -213,6 +213,23 @@
<span id="213">213</span>
<span id="214">214</span>
<span id="215">215</span>
<span id="216">216</span>
<span id="217">217</span>
<span id="218">218</span>
<span id="219">219</span>
<span id="220">220</span>
<span id="221">221</span>
<span id="222">222</span>
<span id="223">223</span>
<span id="224">224</span>
<span id="225">225</span>
<span id="226">226</span>
<span id="227">227</span>
<span id="228">228</span>
<span id="229">229</span>
<span id="230">230</span>
<span id="231">231</span>
<span id="232">232</span>
</pre><pre class="rust">
<span class="kw">mod</span> <span class="ident">bike_network</span>;
<span class="kw">mod</span> <span class="ident">explore</span>;
@ -223,10 +240,11 @@
<span class="kw">mod</span> <span class="ident">quick_sketch</span>;
<span class="kw">mod</span> <span class="ident">trip</span>;
<span class="kw">use</span> <span class="ident">geom::CornerRadii</span>;
<span class="kw">use</span> <span class="ident">map_gui::tools</span>::{<span class="ident">grey_out_map</span>, <span class="ident">open_browser</span>, <span class="ident">CityPicker</span>};
<span class="kw">use</span> <span class="ident">widgetry</span>::{
<span class="ident">EventCtx</span>, <span class="ident">GfxCtx</span>, <span class="ident">HorizontalAlignment</span>, <span class="ident">Key</span>, <span class="ident">Line</span>, <span class="ident">Panel</span>, <span class="ident">ScreenDims</span>, <span class="ident">SimpleState</span>, <span class="ident">State</span>, <span class="ident">Text</span>,
<span class="ident">VerticalAlignment</span>, <span class="ident">Widget</span>,
<span class="ident">VerticalAlignment</span>, <span class="ident">Widget</span>, <span class="ident">DEFAULT_CORNER_RADIUS</span>,
};
<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::explore::ExploreMap</span>;
@ -255,7 +273,7 @@
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contents</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">contents</span>.<span class="ident">section</span>(<span class="ident">ctx</span>));
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">col</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="ident">Widget::row</span>(<span class="macro">vec!</span>[
<span class="kw">let</span> <span class="ident">header</span> <span class="op">=</span> <span class="ident">Widget::row</span>(<span class="macro">vec!</span>[
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_plain</span>
.<span class="ident">btn</span>()
@ -269,57 +287,73 @@
<span class="ident">map_gui::tools::change_map_btn</span>(<span class="ident">ctx</span>, <span class="ident">app</span>)
.<span class="ident">centered_vert</span>()
.<span class="ident">align_right</span>(),
])];
]);
<span class="ident">col</span>.<span class="ident">push</span>(
<span class="ident">ctx</span>.<span class="ident">style</span>()
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">build_tab</span> <span class="op">=</span> <span class="op">|</span>(<span class="ident">tab</span>, <span class="ident">image_path</span>, <span class="ident">tab_title</span>, <span class="ident">hotkey</span>): (<span class="ident">Tab</span>, <span class="kw-2">&amp;</span><span class="ident">str</span>, <span class="kw-2">&amp;</span><span class="ident">str</span>, <span class="ident">Key</span>)<span class="op">|</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">btn</span> <span class="op">=</span> <span class="ident">ctx</span>
.<span class="ident">style</span>()
.<span class="ident">btn_tab</span>
.<span class="ident">icon_text</span>(<span class="string">&quot;system/assets/tools/pan.svg&quot;</span>, <span class="string">&quot;Explore&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::Num1</span>)
.<span class="ident">disabled</span>(<span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::Explore</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
);
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::Explore</span> {
<span class="ident">col</span>.<span class="ident">push</span>(<span class="ident">contents</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>());
}
.<span class="ident">icon_text</span>(<span class="ident">image_path</span>, <span class="ident">tab_title</span>)
.<span class="ident">hotkey</span>(<span class="ident">hotkey</span>);
<span class="ident">col</span>.<span class="ident">push</span>(
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_tab</span>
.<span class="ident">icon_text</span>(<span class="string">&quot;system/assets/tools/pin.svg&quot;</span>, <span class="string">&quot;Your Trip&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::Num2</span>)
.<span class="ident">disabled</span>(<span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::Trip</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
);
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::Trip</span> {
<span class="ident">col</span>.<span class="ident">push</span>(<span class="ident">contents</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>());
}
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">tab</span> {
<span class="ident">btn</span> <span class="op">=</span> <span class="ident">btn</span>
.<span class="ident">corner_rounding</span>(<span class="ident">CornerRadii</span> {
<span class="ident">top_left</span>: <span class="ident">DEFAULT_CORNER_RADIUS</span>,
<span class="ident">top_right</span>: <span class="ident">DEFAULT_CORNER_RADIUS</span>,
<span class="ident">bottom_left</span>: <span class="number">0.0</span>,
<span class="ident">bottom_right</span>: <span class="number">0.0</span>,
})
.<span class="ident">disabled</span>(<span class="bool-val">true</span>);
}
<span class="ident">col</span>.<span class="ident">push</span>(
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_tab</span>
.<span class="ident">icon_text</span>(<span class="string">&quot;system/assets/tools/pencil.svg&quot;</span>, <span class="string">&quot;Add bike lanes&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::Num3</span>)
.<span class="ident">disabled</span>(<span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::AddLanes</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
);
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::AddLanes</span> {
<span class="ident">col</span>.<span class="ident">push</span>(<span class="ident">contents</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>());
}
<span class="comment">// Add a little margin to compensate for the border on the tab content</span>
<span class="comment">// otherwise things look ever-so-slightly out of alignment.</span>
<span class="kw">let</span> <span class="ident">btn_widget</span> <span class="op">=</span> <span class="ident">btn</span>.<span class="ident">build_def</span>(<span class="ident">ctx</span>).<span class="ident">margin_left</span>(<span class="number">1</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tab_elements</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="ident">btn_widget</span>];
<span class="ident">col</span>.<span class="ident">push</span>(
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_tab</span>
.<span class="ident">icon_text</span>(<span class="string">&quot;system/assets/meters/trip_histogram.svg&quot;</span>, <span class="string">&quot;Predict impact&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::Num4</span>)
.<span class="ident">disabled</span>(<span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::PredictImpact</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
);
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Tab::PredictImpact</span> {
<span class="ident">col</span>.<span class="ident">push</span>(<span class="ident">contents</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>());
}
<span class="kw">if</span> <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="ident">tab</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contents</span> <span class="op">=</span> <span class="ident">contents</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>();
<span class="ident">contents</span> <span class="op">=</span> <span class="ident">contents</span>.<span class="ident">corner_rounding</span>(<span class="ident">CornerRadii</span> {
<span class="ident">top_left</span>: <span class="number">0.0</span>,
<span class="ident">top_right</span>: <span class="ident">DEFAULT_CORNER_RADIUS</span>,
<span class="ident">bottom_left</span>: <span class="ident">DEFAULT_CORNER_RADIUS</span>,
<span class="ident">bottom_right</span>: <span class="ident">DEFAULT_CORNER_RADIUS</span>,
});
<span class="ident">tab_elements</span>.<span class="ident">push</span>(<span class="ident">contents</span>);
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">panel</span> <span class="op">=</span> <span class="ident">Panel::new_builder</span>(<span class="ident">Widget::col</span>(<span class="ident">col</span>))
<span class="ident">Widget::custom_col</span>(<span class="ident">tab_elements</span>)
};
<span class="kw">let</span> <span class="ident">tabs</span> <span class="op">=</span> <span class="ident">Widget::col</span>(<span class="macro">vec!</span>[
<span class="ident">build_tab</span>((
<span class="ident">Tab::Explore</span>,
<span class="string">&quot;system/assets/tools/pan.svg&quot;</span>,
<span class="string">&quot;Explore&quot;</span>,
<span class="ident">Key::Num1</span>,
)),
<span class="ident">build_tab</span>((
<span class="ident">Tab::Trip</span>,
<span class="string">&quot;system/assets/tools/pin.svg&quot;</span>,
<span class="string">&quot;Your Trip&quot;</span>,
<span class="ident">Key::Num2</span>,
)),
<span class="ident">build_tab</span>((
<span class="ident">Tab::AddLanes</span>,
<span class="string">&quot;system/assets/tools/pencil.svg&quot;</span>,
<span class="string">&quot;Add bike lanes&quot;</span>,
<span class="ident">Key::Num3</span>,
)),
<span class="ident">build_tab</span>((
<span class="ident">Tab::PredictImpact</span>,
<span class="string">&quot;system/assets/meters/trip_histogram.svg&quot;</span>,
<span class="string">&quot;Predict impact&quot;</span>,
<span class="ident">Key::Num4</span>,
)),
]);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">panel</span> <span class="op">=</span> <span class="ident">Panel::new_builder</span>(<span class="ident">Widget::col</span>(<span class="macro">vec!</span>[<span class="ident">header</span>, <span class="ident">tabs</span>]))
<span class="comment">// The different tabs have different widths. To avoid the UI bouncing around as the user</span>
<span class="comment">// navigates, this is hardcoded to be a bit wider than the widest tab.</span>
.<span class="ident">exact_size</span>(<span class="ident">ScreenDims</span> {