Struct button_controller::ButtonController
source · pub struct ButtonController {
pub mouse_cursor_inside: bool,
pub was_inside: bool,
pub pressed: bool,
pub pressed_instant: Option<Instant>,
pub events: Vec<ButtonEvent>,
}
Expand description
Stores state and events of a button.
Fields§
§mouse_cursor_inside: bool
Whether mouse cursor is inside button.
was_inside: bool
Whether mouse cursor was inside.
pressed: bool
Whether button is pressed.
pressed_instant: Option<Instant>
When button was pressed.
events: Vec<ButtonEvent>
Stores button events.
Implementations§
source§impl ButtonController
impl ButtonController
sourcepub fn new() -> ButtonController
pub fn new() -> ButtonController
Creates a new button controller.
sourcepub fn event<E: GenericEvent>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
e: &E
)
pub fn event<E: GenericEvent>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
e: &E
)
Handles event.
sourcepub fn touch_event<E: GenericEvent, S: Into<[u32; 2]>>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
window_size: S,
e: &E
)
pub fn touch_event<E: GenericEvent, S: Into<[u32; 2]>>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
window_size: S,
e: &E
)
Handle touch events.
sourcepub fn appear_pressed(&self, pressed_duration_secs: f64) -> bool
pub fn appear_pressed(&self, pressed_duration_secs: f64) -> bool
Returns true
if keep pressed appearance for some duration to give user feedback.
sourcepub fn state(&self, pressed_duration_secs: f64) -> ButtonState
pub fn state(&self, pressed_duration_secs: f64) -> ButtonState
Returns the visual button state.