pub struct App {
pub per_map: PerMap,
pub cs: ColorScheme,
pub opts: Options,
pub session: Session,
}
Fields§
§per_map: PerMap
§cs: ColorScheme
§opts: Options
§session: Session
Implementations§
Source§impl App
impl App
pub fn new<F: 'static + Fn(&mut EventCtx<'_>, &mut App) -> Vec<Box<dyn State<App>>>>( ctx: &mut EventCtx<'_>, opts: Options, map_name: MapName, cam: Option<String>, init_states: F, ) -> (App, Vec<Box<dyn State<App>>>)
Sourcepub fn draw_with_layering<F: Fn(&mut GfxCtx<'_>)>(
&self,
g: &mut GfxCtx<'_>,
custom: F,
)
pub fn draw_with_layering<F: Fn(&mut GfxCtx<'_>)>( &self, g: &mut GfxCtx<'_>, custom: F, )
Draw unzoomed, but after the water/park areas layer, draw something custom.
pub fn partitioning(&self) -> &Partitioning
pub fn calculate_draw_all_local_road_labels(&mut self, ctx: &mut EventCtx<'_>)
pub fn apply_edits(&mut self, edits: MapEdits)
Trait Implementations§
Source§impl AppLike for App
impl AppLike for App
fn map(&self) -> &Map
fn cs(&self) -> &ColorScheme
fn mut_cs(&mut self) -> &mut ColorScheme
fn draw_map(&self) -> &DrawMap
fn mut_draw_map(&mut self) -> &mut DrawMap
fn opts(&self) -> &Options
fn mut_opts(&mut self) -> &mut Options
fn map_switched( &mut self, ctx: &mut EventCtx<'_>, map: Map, timer: &mut Timer<'_>, )
fn draw_with_opts(&self, g: &mut GfxCtx<'_>, _l: DrawOptions)
Source§fn make_warper(
&mut self,
ctx: &EventCtx<'_>,
pt: Pt2D,
target_cam_zoom: Option<f64>,
_: Option<ID>,
) -> Box<dyn State<App>>
fn make_warper( &mut self, ctx: &EventCtx<'_>, pt: Pt2D, target_cam_zoom: Option<f64>, _: Option<ID>, ) -> Box<dyn State<App>>
Create a
widgetry::State
that warps to the given point.fn sim_time(&self) -> Time
fn current_stage_and_remaining_time( &self, _: IntersectionID, ) -> (usize, Duration)
§fn change_color_scheme(
&mut self,
ctx: &mut EventCtx<'_>,
cs: ColorSchemeChoice,
) -> bool
fn change_color_scheme( &mut self, ctx: &mut EventCtx<'_>, cs: ColorSchemeChoice, ) -> bool
Change the color scheme. Idempotent. Return true if there was a change.
Source§fn draw_default(&self, g: &mut GfxCtx<'_>)
fn draw_default(&self, g: &mut GfxCtx<'_>)
When DrawBaselayer::DefaultDraw is called, run this.
Source§fn dump_before_abort(&self, canvas: &Canvas)
fn dump_before_abort(&self, canvas: &Canvas)
Will be called if
State::event
or State::draw
panics.Source§fn before_quit(&self, canvas: &Canvas)
fn before_quit(&self, canvas: &Canvas)
Called before a normal exit, like window close
Source§fn free_memory(&mut self)
fn free_memory(&mut self)
If widgetry determines the video card is low on memory, this may be called. The application
should make its best effort to delete any unused Drawables.
§fn before_event(&mut self)
fn before_event(&mut self)
Before
State::event
is called, call this.Source§impl SimpleState<App> for About
impl SimpleState<App> for About
Source§fn on_click(
&mut self,
_: &mut EventCtx<'_>,
_: &mut App,
x: &str,
_: &mut Panel,
) -> Transition
fn on_click( &mut self, _: &mut EventCtx<'_>, _: &mut App, x: &str, _: &mut Panel, ) -> Transition
Called when something on the panel has been clicked. Since the action is just a string,
the fallback case can just use
unreachable!()
.fn draw(&self, g: &mut GfxCtx<'_>, app: &App)
fn draw_baselayer(&self) -> DrawBaselayer
§fn on_click_custom(
&mut self,
_ctx: &mut EventCtx<'_>,
_app: &mut A,
_action: Box<dyn CloneableAny>,
_panel: &mut Panel,
) -> Transition<A>
fn on_click_custom( &mut self, _ctx: &mut EventCtx<'_>, _app: &mut A, _action: Box<dyn CloneableAny>, _panel: &mut Panel, ) -> Transition<A>
Called when something on the panel has been clicked.
§fn panel_changed(
&mut self,
_: &mut EventCtx<'_>,
_: &mut A,
_: &mut Panel,
) -> Option<Transition<A>>
fn panel_changed( &mut self, _: &mut EventCtx<'_>, _: &mut A, _: &mut Panel, ) -> Option<Transition<A>>
Called when something on the panel has changed. If a transition is returned, stop handling
the event and immediately apply the transition.
§fn on_mouseover(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_mouseover(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Called when the mouse has moved.
§fn other_event(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Transition<A>
fn other_event(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Transition<A>
If a panel
on_click
event didn’t occur and panel_changed
didn’t return transition, then
call this to handle all other events.Source§fn on_click(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
x: &str,
_: &mut Panel,
) -> Transition
fn on_click( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, x: &str, _: &mut Panel, ) -> Transition
Called when something on the panel has been clicked. Since the action is just a string,
the fallback case can just use
unreachable!()
.fn draw_baselayer(&self) -> DrawBaselayer
fn draw(&self, g: &mut GfxCtx<'_>, app: &App)
§fn on_click_custom(
&mut self,
_ctx: &mut EventCtx<'_>,
_app: &mut A,
_action: Box<dyn CloneableAny>,
_panel: &mut Panel,
) -> Transition<A>
fn on_click_custom( &mut self, _ctx: &mut EventCtx<'_>, _app: &mut A, _action: Box<dyn CloneableAny>, _panel: &mut Panel, ) -> Transition<A>
Called when something on the panel has been clicked.
§fn panel_changed(
&mut self,
_: &mut EventCtx<'_>,
_: &mut A,
_: &mut Panel,
) -> Option<Transition<A>>
fn panel_changed( &mut self, _: &mut EventCtx<'_>, _: &mut A, _: &mut Panel, ) -> Option<Transition<A>>
Called when something on the panel has changed. If a transition is returned, stop handling
the event and immediately apply the transition.
§fn on_mouseover(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_mouseover(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Called when the mouse has moved.
§fn other_event(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Transition<A>
fn other_event(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Transition<A>
If a panel
on_click
event didn’t occur and panel_changed
didn’t return transition, then
call this to handle all other events.Source§impl State<App> for Census
impl State<App> for Census
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for ChangeFilterType
impl State<App> for ChangeFilterType
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for ChangedRoutes
impl State<App> for ChangedRoutes
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for Crossings
impl State<App> for Crossings
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for CustomizeBoundary
impl State<App> for CustomizeBoundary
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for CycleNetwork
impl State<App> for CycleNetwork
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for DesignLTN
impl State<App> for DesignLTN
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for FreehandBoundary
impl State<App> for FreehandBoundary
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for PerResidentImpact
impl State<App> for PerResidentImpact
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for PickArea
impl State<App> for PickArea
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for ResolveBusGate
impl State<App> for ResolveBusGate
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for ResolveOneWayAndFilter
impl State<App> for ResolveOneWayAndFilter
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for RoutePlanner
impl State<App> for RoutePlanner
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for SaveDialog
impl State<App> for SaveDialog
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for SelectBoundary
impl State<App> for SelectBoundary
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for ShowImpactResults
impl State<App> for ShowImpactResults
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
Source§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
Source§fn recreate(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut App,
) -> Box<dyn State<App>>
fn recreate( &mut self, ctx: &mut EventCtx<'_>, app: &mut App, ) -> Box<dyn State<App>>
Respond to
Transition::Recreate
by assuming state in the app has changed, but preserving
the State
-specific state appropriately.§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Source§impl State<App> for SimpleWarper
impl State<App> for SimpleWarper
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, _: &mut App) -> Transition
fn event(&mut self, ctx: &mut EventCtx<'_>, _: &mut App) -> Transition
Respond to a UI event, such as input or time passing.
§fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
§fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Before this state is popped or replaced, call this.
Auto Trait Implementations§
impl !Freeze for App
impl !RefUnwindSafe for App
impl !Send for App
impl !Sync for App
impl Unpin for App
impl !UnwindSafe for App
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.