Struct button_controller::ButtonController
[−]
[src]
pub struct ButtonController { pub mouse_cursor_inside: bool, pub was_inside: bool, pub pressed: bool, pub pressed_instant: Option<Instant>, pub events: Vec<ButtonEvent>, }
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.
Methods
impl ButtonController
[src]
fn new() -> ButtonController
Creates a new button controller.
fn event<E: GenericEvent>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
e: &E
)
&mut self,
layout: Rectangle,
transform: Matrix2d,
e: &E
)
Handles event.
fn touch_event<E: GenericEvent, S: Into<[u32; 2]>>(
&mut self,
layout: Rectangle,
transform: Matrix2d,
window_size: S,
e: &E
)
&mut self,
layout: Rectangle,
transform: Matrix2d,
window_size: S,
e: &E
)
Handle touch events.
fn appear_pressed(&self, pressed_duration_secs: f64) -> bool
Returns true
if keep pressed appearance for some duration to give user feedback.
fn state(&self, pressed_duration_secs: f64) -> ButtonState
Returns the visual button state.