Struct ggez::event::MouseState [] [src]

pub struct MouseState { /* fields omitted */ }

Methods

impl MouseState
[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()
}

Tests if the middle mouse button was pressed.

Tests if the right mouse button was pressed.

Tests if the X1 mouse button was pressed.

Tests if the X2 mouse button was pressed.

Returns the x coordinate of the state

Returns the y coordinate of the state

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

impl Clone for MouseState
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for MouseState
[src]

impl PartialEq<MouseState> for MouseState
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for MouseState
[src]

impl Hash for MouseState
[src]