pub struct ComponentWidget<C: Component> { /* private fields */ }Expand description
The retained widget behind a ComponentView.
Owns the component’s local State, the previous child AnyView (diffed
each rebuild), the child element wrapped in a ChildPod, the component’s
reactive Owner, and a component-local BuildCtx id counter.
The child element is stored double-boxed inside the pod (ChildPod::new( Box::new(element)), where element: Box<dyn Widget> is the AnyView’s
element): the extra box lets a rebuild recover the child as
&mut Box<dyn Widget>, the exact type AnyView::rebuild needs to swap the
widget on a concrete-type change. This mirrors frust-widgets’
build_child/rebuild_child pod convention.
Trait Implementations§
Source§impl<C: Component> Drop for ComponentWidget<C>
impl<C: Component> Drop for ComponentWidget<C>
Source§impl<C: Component> Widget for ComponentWidget<C>
impl<C: Component> Widget for ComponentWidget<C>
Source§fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
Choose a size within
bc and return it. The chosen size must satisfy
bc (callers may additionally clamp via BoxConstraints::constrain).Source§fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
Emit draw commands for this widget into
scene. Read moreSource§fn semantics(&self, ctx: &mut SemanticsCtx)
fn semantics(&self, ctx: &mut SemanticsCtx)
Contribute this widget’s accessibility node(s) into
ctx. Read moreSource§fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))
fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))
Source§fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
Handle an input event, optionally mutating application state through
ctx and reporting whether it was consumed. Read moreAuto Trait Implementations§
impl<C> !Freeze for ComponentWidget<C>
impl<C> !RefUnwindSafe for ComponentWidget<C>
impl<C> !Send for ComponentWidget<C>
impl<C> !Sync for ComponentWidget<C>
impl<C> !UnwindSafe for ComponentWidget<C>
impl<C> Unpin for ComponentWidget<C>
impl<C> UnsafeUnpin for ComponentWidget<C>
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> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.