Struct sdl2::mouse::RelativeMouseState [−][src]
pub struct RelativeMouseState { /* fields omitted */ }Implementations
impl RelativeMouseState[src]
impl RelativeMouseState[src]pub fn new(_e: &EventPump) -> RelativeMouseState[src]
pub fn from_sdl_state(state: u32) -> RelativeMouseState[src]
pub fn to_sdl_state(&self) -> u32[src]
pub fn left(&self) -> bool[src]
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() }
pub fn middle(&self) -> bool[src]
Tests if the middle mouse button was pressed.
pub fn right(&self) -> bool[src]
Tests if the right mouse button was pressed.
pub fn x1(&self) -> bool[src]
Tests if the X1 mouse button was pressed.
pub fn x2(&self) -> bool[src]
Tests if the X2 mouse button was pressed.
pub fn x(&self) -> i32[src]
Returns the x coordinate of the state
pub fn y(&self) -> i32[src]
Returns the y coordinate of the state
pub fn is_mouse_button_pressed(&self, mouse_button: MouseButton) -> bool[src]
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) }
pub fn mouse_buttons(&self) -> MouseButtonIterator<'_>ⓘNotable traits for MouseButtonIterator<'a>
impl<'a> Iterator for MouseButtonIterator<'a> type Item = (MouseButton, bool);[src]
Notable traits for MouseButtonIterator<'a>
impl<'a> Iterator for MouseButtonIterator<'a> type Item = (MouseButton, bool);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 }
pub fn pressed_mouse_buttons(&self) -> PressedMouseButtonIterator<'_>ⓘNotable traits for PressedMouseButtonIterator<'a>
impl<'a> Iterator for PressedMouseButtonIterator<'a> type Item = MouseButton;[src]
Notable traits for PressedMouseButtonIterator<'a>
impl<'a> Iterator for PressedMouseButtonIterator<'a> type Item = MouseButton;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
impl Clone for RelativeMouseState[src]
impl Clone for RelativeMouseState[src]fn clone(&self) -> RelativeMouseState[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for RelativeMouseState[src]
impl Copy for RelativeMouseState[src]impl Eq for RelativeMouseState[src]
impl Eq for RelativeMouseState[src]impl Hash for RelativeMouseState[src]
impl Hash for RelativeMouseState[src]impl PartialEq<RelativeMouseState> for RelativeMouseState[src]
impl PartialEq<RelativeMouseState> for RelativeMouseState[src]fn eq(&self, other: &RelativeMouseState) -> bool[src]
fn ne(&self, other: &RelativeMouseState) -> bool[src]
impl StructuralEq for RelativeMouseState[src]
impl StructuralEq for RelativeMouseState[src]Auto Trait Implementations
impl RefUnwindSafe for RelativeMouseState
impl RefUnwindSafe for RelativeMouseStateimpl Send for RelativeMouseState
impl Send for RelativeMouseStateimpl Sync for RelativeMouseState
impl Sync for RelativeMouseStateimpl Unpin for RelativeMouseState
impl Unpin for RelativeMouseStateimpl UnwindSafe for RelativeMouseState
impl UnwindSafe for RelativeMouseState