Struct ggez::event::MouseState []

pub struct MouseState { /* fields omitted */ }

Methods

impl MouseState

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 Eq for MouseState

impl Hash for MouseState

impl PartialEq<MouseState> for MouseState

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

This method tests for !=.

impl Copy for MouseState

impl Clone for MouseState

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more