pub struct View<'a, S: GlobalState> {
pub state: &'a S,
pub runtime: &'a RuntimeState,
pub env: &'a Env,
pub layout: Option<&'a LayoutSnapshot>,
}Expand description
Read-only access to application state and environment during widget building.
View is the primary way widgets read data. It is parameterised over the
concrete GlobalState type S, giving type-safe access to state while
also exposing the theme, i18n registry, layout snapshot from the previous
frame, and animation values.
§Example
ⓘ
let name = &view.state().user_name;
let theme = view.theme();Fields§
§state: &'a SReference to the current application state.
runtime: &'a RuntimeStateRuntime interaction, scroll, text-edit, and animation state.
env: &'a EnvEnvironment (theme, i18n, viewport size, locale).
layout: Option<&'a LayoutSnapshot>Layout snapshot from the previous frame, if available.
Implementations§
Source§impl<'a, S: GlobalState> View<'a, S>
impl<'a, S: GlobalState> View<'a, S>
pub fn new( state: &'a S, runtime: &'a RuntimeState, env: &'a Env, layout: Option<&'a LayoutSnapshot>, ) -> Self
pub fn state(&self) -> &S
pub fn runtime(&self) -> &RuntimeState
pub fn env(&self) -> &Env
pub fn layout(&self) -> Option<&LayoutSnapshot>
pub fn theme(&self) -> &Theme
pub fn i18n(&self) -> &I18nRegistry
pub fn get_rect(&self, id: WidgetId) -> Option<LayoutRect>
pub fn get_constraints(&self, id: WidgetId) -> Option<BoxConstraints>
pub fn viewport_size(&self) -> LayoutSize
pub fn select<R>(&self, selector: impl FnOnce(&S) -> R) -> R
pub fn animation_value( &self, widget_id: WidgetId, property: &AnimationPropertyId, ) -> f32
pub fn video_state(&self, widget_id: WidgetId) -> Option<&VideoState>
Auto Trait Implementations§
impl<'a, S> Freeze for View<'a, S>
impl<'a, S> !RefUnwindSafe for View<'a, S>
impl<'a, S> Send for View<'a, S>
impl<'a, S> Sync for View<'a, S>
impl<'a, S> Unpin for View<'a, S>
impl<'a, S> UnsafeUnpin for View<'a, S>
impl<'a, S> !UnwindSafe for View<'a, S>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.