Trait widgetry::app_state::State [−][src]
pub trait State<A>: Downcast { fn event(
&mut self,
ctx: &mut EventCtx<'_>,
shared_app_state: &mut A
) -> Transition<A>; fn draw(&self, g: &mut GfxCtx<'_>, shared_app_state: &A); fn draw_baselayer(&self) -> DrawBaselayer { ... } fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A) { ... } }
A temporary state of an application. There’s a stack of these, with the most recent being the active one.
Required methods
fn event(
&mut self,
ctx: &mut EventCtx<'_>,
shared_app_state: &mut A
) -> Transition<A>
[src]
&mut self,
ctx: &mut EventCtx<'_>,
shared_app_state: &mut A
) -> Transition<A>
Respond to a UI event, such as input or time passing.
fn draw(&self, g: &mut GfxCtx<'_>, shared_app_state: &A)
[src]
Draw
Provided methods
fn draw_baselayer(&self) -> DrawBaselayer
[src]
Specifies what to draw before draw()
fn on_destroy(&mut self, _: &mut EventCtx<'_>, _: &mut A)
[src]
Before this state is popped or replaced, call this.
Implementations
impl<A> dyn State<A> where
A: Any + 'static,
[src]
impl<A> dyn State<A> where
A: Any + 'static,
[src]pub fn is<__T: State<A>>(&self) -> bool
[src]
Returns true if the trait object wraps an object of type __T
.
pub fn downcast<__T: State<A>>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
[src]
Returns a boxed object from a boxed trait object if the underlying object is of type
__T
. Returns the original boxed trait if it isn’t.
pub fn downcast_rc<__T: State<A>>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
[src]
Returns an Rc
-ed object from an Rc
-ed trait object if the underlying object is of
type __T
. Returns the original Rc
-ed trait if it isn’t.
pub fn downcast_ref<__T: State<A>>(&self) -> Option<&__T>
[src]
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
pub fn downcast_mut<__T: State<A>>(&mut self) -> Option<&mut __T>
[src]
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn’t.
Implementors
impl<A: 'static> State<A> for SimpleStateWrapper<A>
[src]
impl<A: 'static> State<A> for SimpleStateWrapper<A>
[src]