pub struct ClickArea {
pub inner: Element,
pub on_mouse_enter: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>,
pub on_mouse_leave: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>,
pub on_mouse_hover: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>,
pub on_mouse_input: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId, MouseInput, MouseButton) + Sync + Send>>>,
pub on_mouse_wheel: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId, Vec2, bool) + Sync + Send>>>,
}Expand description
An area that tracks mouse events.
Fields§
§inner: ElementThe inner element.
on_mouse_enter: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>Callback for when the mouse enters the area.
on_mouse_leave: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>Callback for when the mouse leaves the area.
on_mouse_hover: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId) + Sync + Send>>>Callback for when the mouse hovers over the area.
on_mouse_input: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId, MouseInput, MouseButton) + Sync + Send>>>Callback for when a mouse button is.
on_mouse_wheel: Vec<Arc<CbDebuggable<dyn Fn(&mut World, EntityId, Vec2, bool) + Sync + Send>>>Callback for when the mouse wheel is scrolled.
Implementations§
Source§impl ClickArea
impl ClickArea
Sourcepub fn on_mouse_hover<F>(self, handle: F) -> ClickArea
pub fn on_mouse_hover<F>(self, handle: F) -> ClickArea
Set the callback for when the mouse hovers over the area.
Sourcepub fn on_mouse_enter<F>(self, handle: F) -> ClickArea
pub fn on_mouse_enter<F>(self, handle: F) -> ClickArea
Set the callback for when the mouse enters the area.
Sourcepub fn on_mouse_leave<F>(self, handle: F) -> ClickArea
pub fn on_mouse_leave<F>(self, handle: F) -> ClickArea
Set the callback for when the mouse leaves the area.
Sourcepub fn on_mouse_input<F>(self, handle: F) -> ClickArea
pub fn on_mouse_input<F>(self, handle: F) -> ClickArea
Set the callback for when a mouse button is pressed or released.
Sourcepub fn on_mouse_wheel<F>(self, handle: F) -> ClickArea
pub fn on_mouse_wheel<F>(self, handle: F) -> ClickArea
Set the callback for when the mouse wheel is scrolled.
Sourcepub fn on_mouse_down<F>(self, handle: F) -> ClickArea
pub fn on_mouse_down<F>(self, handle: F) -> ClickArea
Set the callback for when a mouse button is pressed.
Sourcepub fn on_mouse_up<F>(self, handle: F) -> ClickArea
pub fn on_mouse_up<F>(self, handle: F) -> ClickArea
Set the callback for when a mouse button is released.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ClickArea
impl !RefUnwindSafe for ClickArea
impl Send for ClickArea
impl Sync for ClickArea
impl Unpin for ClickArea
impl !UnwindSafe for ClickArea
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ComponentValueBase for T
impl<T> ComponentValueBase for T
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> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> ElementComponentExt for Twhere
T: ElementComponent + 'static,
impl<T> ElementComponentExt for Twhere
T: ElementComponent + 'static,
Source§impl<T> ElementComponentName for T
impl<T> ElementComponentName for T
Source§fn element_component_name(&self) -> &'static str
fn element_component_name(&self) -> &'static str
Returns the name of the type implementing ElementComponent.
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 more