Struct sdl2::mouse::RelativeMouseState
source · pub struct RelativeMouseState { /* private fields */ }
Implementations
sourceimpl RelativeMouseState
impl RelativeMouseState
pub fn new(_e: &EventPump) -> RelativeMouseState
pub fn from_sdl_state(state: u32) -> RelativeMouseState
pub fn to_sdl_state(&self) -> u32
sourcepub fn left(&self) -> bool
pub fn left(&self) -> bool
Returns true if the left mouse button is pressed.
Example
use sdl2::mouse::MouseButton;
fn is_a_pressed(e: &sdl2::EventPump) -> bool {
e.mouse_state().left()
}
Returns true if the mouse button is pressed.
Example
use sdl2::mouse::MouseButton;
fn is_left_pressed(e: &sdl2::EventPump) -> bool {
e.mouse_state().is_mouse_button_pressed(MouseButton::Left)
}
Returns an iterator all mouse buttons with a boolean indicating if the scancode is pressed.
Example
use sdl2::mouse::MouseButton;
use std::collections::HashMap;
fn mouse_button_set(e: &sdl2::EventPump) -> HashMap<MouseButton, bool> {
e.mouse_state().mouse_buttons().collect()
}
fn find_first_pressed(e: &sdl2::EventPump) -> bool {
for (key,value) in mouse_button_set(e) {
return value != false
}
false
}
Returns an iterator of pressed mouse buttons.
Example
use sdl2::mouse::MouseButton;
use std::collections::HashSet;
fn pressed_mouse_button_set(e: &sdl2::EventPump) -> HashSet<MouseButton> {
e.mouse_state().pressed_mouse_buttons().collect()
}
fn newly_pressed(old: &HashSet<MouseButton>, new: &HashSet<MouseButton>) -> HashSet<MouseButton> {
new - old
// sugar for: new.difference(old).collect()
}
Trait Implementations
sourceimpl Clone for RelativeMouseState
impl Clone for RelativeMouseState
sourcefn clone(&self) -> RelativeMouseState
fn clone(&self) -> RelativeMouseState
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Hash for RelativeMouseState
impl Hash for RelativeMouseState
sourceimpl PartialEq<RelativeMouseState> for RelativeMouseState
impl PartialEq<RelativeMouseState> for RelativeMouseState
sourcefn eq(&self, other: &RelativeMouseState) -> bool
fn eq(&self, other: &RelativeMouseState) -> bool
impl Copy for RelativeMouseState
impl Eq for RelativeMouseState
impl StructuralEq for RelativeMouseState
impl StructuralPartialEq for RelativeMouseState
Auto Trait Implementations
impl RefUnwindSafe for RelativeMouseState
impl Send for RelativeMouseState
impl Sync for RelativeMouseState
impl Unpin for RelativeMouseState
impl UnwindSafe for RelativeMouseState
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more