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)
}

Important traits for MouseButtonIterator<'a>

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
}

Important traits for PressedMouseButtonIterator<'a>

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 Hash for MouseState
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

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 Eq 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 !=.

Auto Trait Implementations

impl Send for MouseState

impl Sync for MouseState