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) { ... }
fn recreate(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Box<dyn State<A>> { ... }
}
Expand description
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>
fn event(
&mut self,
ctx: &mut EventCtx<'_>,
shared_app_state: &mut A
) -> Transition<A>
Respond to a UI event, such as input or time passing.
Provided Methods
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.
Implementations
sourceimpl<A> dyn State<A> where
A: Any + 'static,
impl<A> dyn State<A> where
A: Any + 'static,
sourcepub fn is<__T: State<A>>(&self) -> bool
pub fn is<__T: State<A>>(&self) -> bool
Returns true if the trait object wraps an object of type __T
.
sourcepub fn downcast<__T: State<A>>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
pub fn downcast<__T: State<A>>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
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.
sourcepub fn downcast_rc<__T: State<A>>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
pub fn downcast_rc<__T: State<A>>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
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.
sourcepub fn downcast_ref<__T: State<A>>(&self) -> Option<&__T>
pub fn downcast_ref<__T: State<A>>(&self) -> Option<&__T>
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
sourcepub fn downcast_mut<__T: State<A>>(&mut self) -> Option<&mut __T>
pub fn downcast_mut<__T: State<A>>(&mut self) -> Option<&mut __T>
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn’t.