pub struct MouseButtonElementManager { /* private fields */ }Expand description
Per-element click manager that combines hover and a mouse button.
Wraps MouseButtonManager for a specific ElementId. Each frame, call
update with a FullElementCursorState provider (such as
CotisApp).
§Examples
ⓘ
use cotis_interactivity::mouse::{
FullElementCursorState, MouseButtonElementManager, MouseClickingStrategy,
};
use cotis_utils::interactivity::mouse::MouseButton;
// let mut click_manager = MouseButtonElementManager::new(
// element_id,
// MouseButton::Left,
// MouseClickingStrategy::RisingEdge,
// 0.0,
// );
// click_manager.update(&app as &dyn FullElementCursorState, dt);
// if click_manager.is_clicked() { ... }Implementations§
Source§impl MouseButtonElementManager
impl MouseButtonElementManager
Sourcepub fn new(
element_id: ElementId,
key: MouseButton,
strategy: MouseClickingStrategy,
cooldown: f32,
) -> MouseButtonElementManager
pub fn new( element_id: ElementId, key: MouseButton, strategy: MouseClickingStrategy, cooldown: f32, ) -> MouseButtonElementManager
Creates a click manager bound to element_id and key.
Sourcepub fn update(
&mut self,
element_state_provider: &dyn FullElementCursorState,
delta_time: f32,
)
pub fn update( &mut self, element_state_provider: &dyn FullElementCursorState, delta_time: f32, )
Advances state for one frame using hover and button state from element_state_provider.
Sourcepub fn reset_cooldown(&mut self)
pub fn reset_cooldown(&mut self)
Clears the inner manager’s cooldown. See MouseButtonManager::reset_cooldown.
Sourcepub fn change_cooldown(&mut self, cooldown: f32)
pub fn change_cooldown(&mut self, cooldown: f32)
Sets the inner manager’s cooldown. See MouseButtonManager::change_cooldown.
Sourcepub fn is_clicked(&self) -> bool
pub fn is_clicked(&self) -> bool
Returns whether a click signal is active this frame.
Auto Trait Implementations§
impl Freeze for MouseButtonElementManager
impl RefUnwindSafe for MouseButtonElementManager
impl Send for MouseButtonElementManager
impl Sync for MouseButtonElementManager
impl Unpin for MouseButtonElementManager
impl UnsafeUnpin for MouseButtonElementManager
impl UnwindSafe for MouseButtonElementManager
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