pub struct NativeHandlerRegistry { /* private fields */ }Implementations§
Source§impl NativeHandlerRegistry
impl NativeHandlerRegistry
pub fn new() -> Self
Sourcepub fn register(
&self,
descriptor: NativeHandlerDescriptor,
handler: impl FnMut(NativeEvent, &mut UiRuntimeState, &mut Window, &mut App) -> Result<EventResponse, String> + 'static,
) -> Result<(), NativeHandlerError>
pub fn register( &self, descriptor: NativeHandlerDescriptor, handler: impl FnMut(NativeEvent, &mut UiRuntimeState, &mut Window, &mut App) -> Result<EventResponse, String> + 'static, ) -> Result<(), NativeHandlerError>
Register one trusted foreground Rust handler.
§Errors
Returns NativeHandlerError::Duplicate for an existing ID.
Sourcepub fn resolve(
&self,
id: &NativeHandlerId,
) -> Result<NativeHandlerRef, NativeHandlerError>
pub fn resolve( &self, id: &NativeHandlerId, ) -> Result<NativeHandlerRef, NativeHandlerError>
Resolve a Rhai-attachable, non-owning reference.
§Errors
Returns NativeHandlerError::Missing for unregistered IDs.
Sourcepub fn invoke(
&self,
reference: &NativeHandlerRef,
event: NativeEvent,
runtime: &mut UiRuntimeState,
window: &mut Window,
app: &mut App,
) -> Result<EventResponse, NativeHandlerError>
pub fn invoke( &self, reference: &NativeHandlerRef, event: NativeEvent, runtime: &mut UiRuntimeState, window: &mut Window, app: &mut App, ) -> Result<EventResponse, NativeHandlerError>
Invoke one handler after validating its event payload schema.
§Errors
Returns schema, stale-reference, borrow, or handler errors.
Trait Implementations§
Source§impl Clone for NativeHandlerRegistry
impl Clone for NativeHandlerRegistry
Source§impl Debug for NativeHandlerRegistry
impl Debug for NativeHandlerRegistry
Auto Trait Implementations§
impl !RefUnwindSafe for NativeHandlerRegistry
impl !Send for NativeHandlerRegistry
impl !Sync for NativeHandlerRegistry
impl !UnwindSafe for NativeHandlerRegistry
impl Freeze for NativeHandlerRegistry
impl Unpin for NativeHandlerRegistry
impl UnsafeUnpin for NativeHandlerRegistry
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<T> Variant for T
impl<T> Variant for T
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert this
Variant trait object to &mut dyn Any.Source§fn as_boxed_any(self: Box<T>) -> Box<dyn Any>
fn as_boxed_any(self: Box<T>) -> Box<dyn Any>
Convert this
Variant trait object to Box<dyn Any>.