Struct button_tracker::ButtonController
[−]
[src]
pub struct ButtonController { /* fields omitted */ }Master struct for the button controller. Consumes button data from any source (though most commonly window event loop generated press events) and tracks them in an update loop friendly form.
Methods
impl ButtonController[src]
fn new() -> ButtonController
Creates a new ButtonController.
fn update(&mut self)
Copies the current input state into the last known button state. Call this in your update loop logic, once per update.
fn register_press(&mut self, button: &Button)
Tracks that a button is currently pressed. The most common way to do so is passing in Button contents from PressEvents generated from your relevant window class.
fn register_release(&mut self, button: &Button)
Tracks that a button is currently un-pressed (or notes that a previously pressed button is now not pressed). The most common way to do so is passing in Button contents from ReleaseEvents generated from your relevant window class.
fn current_pressed(&mut self, button: &Button) -> bool
Checks if a button is pressed as of the current update. Will return false if a button has never been registered as pressed.
fn last_pressed(&mut self, button: &Button) -> bool
Checks if a button is pressed as of the last update. Will return false if a button has never been registered as pressed.
fn pressed_state(
&mut self,
button: &Button,
last_state: bool,
current_state: bool
) -> bool
&mut self,
button: &Button,
last_state: bool,
current_state: bool
) -> bool
Checks for a combination of a button press/release across the current and last update. Most useful for determining whether a button was just pressed or released.
Trait Implementations
impl Clone for ButtonController[src]
fn clone(&self) -> ButtonController
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more