pub struct ModifierBuildContext { /* private fields */ }Expand description
Node-owned services available while attaching a stateful modifier.
Modifier constructors remain reusable values. Their state is allocated when the chain attaches. State survives rebuilds of the same node and capability; inserting unrelated modifier types does not change that ownership.
Implementations§
Source§impl ModifierBuildContext
impl ModifierBuildContext
Sourcepub fn state<T: Send + Sync + 'static>(
&mut self,
init: impl FnOnce() -> T,
) -> State<T>
pub fn state<T: Send + Sync + 'static>( &mut self, init: impl FnOnce() -> T, ) -> State<T>
Gets persistent state by value type and occurrence within this capability.
Calls of a different value type do not shift existing state. Multiple values of the same type follow their declaration order.
Sourcepub fn receive_frame_nanos<F>(&mut self, callback: F)
pub fn receive_frame_nanos<F>(&mut self, callback: F)
Registers a callback on this node’s frame clock.
Sourcepub fn nested_scroll_parent(&self) -> Option<NestedScrollConnection>
pub fn nested_scroll_parent(&self) -> Option<NestedScrollConnection>
Gets the nearest nested scroll connection above the attached node.
Auto Trait Implementations§
impl Freeze for ModifierBuildContext
impl RefUnwindSafe for ModifierBuildContext
impl Send for ModifierBuildContext
impl Sync for ModifierBuildContext
impl Unpin for ModifierBuildContext
impl UnsafeUnpin for ModifierBuildContext
impl UnwindSafe for ModifierBuildContext
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.