Struct map_gui::simple_app::SimpleApp [−][src]
pub struct SimpleApp<T> { pub map: Map, pub draw_map: DrawMap, pub cs: ColorScheme, pub opts: Options, pub current_selection: Option<ID>, pub session: T, pub time: Time, }
Expand description
Simple app state that just renders a static map, without any dynamic agents on the map.
Fields
map: Map
draw_map: DrawMap
cs: ColorScheme
opts: Options
current_selection: Option<ID>
session: T
Custom per-app state can be stored here
time: Time
If desired, this can be advanced to render traffic signals changing.
Implementations
pub fn new<F: 'static + Fn(&mut EventCtx<'_>, &mut SimpleApp<T>) -> Vec<Box<dyn State<SimpleApp<T>>>>>(
ctx: &mut EventCtx<'_>,
opts: Options,
session: T,
init_states: F
) -> (SimpleApp<T>, Vec<Box<dyn State<SimpleApp<T>>>>)
Assumes some defaults.
Only select buildings, and work whether zoomed in or not.
Trait Implementations
Create a widgetry::State
that warps to the given point.
Change the color scheme. Idempotent. Return true if there was a change.
When DrawBaselayer::DefaultDraw is called, run this.
Will be called if State::event
or State::draw
panics.
Called before a normal exit, like window close
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. Read more
fn before_event(&mut self)
fn before_event(&mut self)
Before State::event
is called, call this.
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<T> !RefUnwindSafe for SimpleApp<T>
impl<T> UnwindSafe for SimpleApp<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: 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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self