[go: up one dir, main page]

Enum sdl2::event::Event[][src]

pub enum Event {
Show 46 variants Quit { timestamp: u32, }, AppTerminating { timestamp: u32, }, AppLowMemory { timestamp: u32, }, AppWillEnterBackground { timestamp: u32, }, AppDidEnterBackground { timestamp: u32, }, AppWillEnterForeground { timestamp: u32, }, AppDidEnterForeground { timestamp: u32, }, Window { timestamp: u32, window_id: u32, win_event: WindowEvent, }, KeyDown { timestamp: u32, window_id: u32, keycode: Option<Keycode>, scancode: Option<Scancode>, keymod: Mod, repeat: bool, }, KeyUp { timestamp: u32, window_id: u32, keycode: Option<Keycode>, scancode: Option<Scancode>, keymod: Mod, repeat: bool, }, TextEditing { timestamp: u32, window_id: u32, text: String, start: i32, length: i32, }, TextInput { timestamp: u32, window_id: u32, text: String, }, MouseMotion { timestamp: u32, window_id: u32, which: u32, mousestate: MouseState, x: i32, y: i32, xrel: i32, yrel: i32, }, MouseButtonDown { timestamp: u32, window_id: u32, which: u32, mouse_btn: MouseButton, clicks: u8, x: i32, y: i32, }, MouseButtonUp { timestamp: u32, window_id: u32, which: u32, mouse_btn: MouseButton, clicks: u8, x: i32, y: i32, }, MouseWheel { timestamp: u32, window_id: u32, which: u32, x: i32, y: i32, direction: MouseWheelDirection, }, JoyAxisMotion { timestamp: u32, which: u32, axis_idx: u8, value: i16, }, JoyBallMotion { timestamp: u32, which: u32, ball_idx: u8, xrel: i16, yrel: i16, }, JoyHatMotion { timestamp: u32, which: u32, hat_idx: u8, state: HatState, }, JoyButtonDown { timestamp: u32, which: u32, button_idx: u8, }, JoyButtonUp { timestamp: u32, which: u32, button_idx: u8, }, JoyDeviceAdded { timestamp: u32, which: u32, }, JoyDeviceRemoved { timestamp: u32, which: u32, }, ControllerAxisMotion { timestamp: u32, which: u32, axis: Axis, value: i16, }, ControllerButtonDown { timestamp: u32, which: u32, button: Button, }, ControllerButtonUp { timestamp: u32, which: u32, button: Button, }, ControllerDeviceAdded { timestamp: u32, which: u32, }, ControllerDeviceRemoved { timestamp: u32, which: u32, }, ControllerDeviceRemapped { timestamp: u32, which: u32, }, FingerDown { timestamp: u32, touch_id: i64, finger_id: i64, x: f32, y: f32, dx: f32, dy: f32, pressure: f32, }, FingerUp { timestamp: u32, touch_id: i64, finger_id: i64, x: f32, y: f32, dx: f32, dy: f32, pressure: f32, }, FingerMotion { timestamp: u32, touch_id: i64, finger_id: i64, x: f32, y: f32, dx: f32, dy: f32, pressure: f32, }, DollarGesture { timestamp: u32, touch_id: i64, gesture_id: i64, num_fingers: u32, error: f32, x: f32, y: f32, }, DollarRecord { timestamp: u32, touch_id: i64, gesture_id: i64, num_fingers: u32, error: f32, x: f32, y: f32, }, MultiGesture { timestamp: u32, touch_id: i64, d_theta: f32, d_dist: f32, x: f32, y: f32, num_fingers: u16, }, ClipboardUpdate { timestamp: u32, }, DropFile { timestamp: u32, window_id: u32, filename: String, }, DropText { timestamp: u32, window_id: u32, filename: String, }, DropBegin { timestamp: u32, window_id: u32, }, DropComplete { timestamp: u32, window_id: u32, }, AudioDeviceAdded { timestamp: u32, which: u32, iscapture: bool, }, AudioDeviceRemoved { timestamp: u32, which: u32, iscapture: bool, }, RenderTargetsReset { timestamp: u32, }, RenderDeviceReset { timestamp: u32, }, User { timestamp: u32, window_id: u32, type_: u32, code: i32, data1: *mut c_void, data2: *mut c_void, }, Unknown { timestamp: u32, type_: u32, },
}
Expand description

Different event types.

Variants

Quit

Fields of Quit

timestamp: u32
AppTerminating

Fields of AppTerminating

timestamp: u32
AppLowMemory

Fields of AppLowMemory

timestamp: u32
AppWillEnterBackground

Fields of AppWillEnterBackground

timestamp: u32
AppDidEnterBackground

Fields of AppDidEnterBackground

timestamp: u32
AppWillEnterForeground

Fields of AppWillEnterForeground

timestamp: u32
AppDidEnterForeground

Fields of AppDidEnterForeground

timestamp: u32
Window

Fields of Window

timestamp: u32window_id: u32win_event: WindowEvent
KeyDown

Fields of KeyDown

timestamp: u32window_id: u32keycode: Option<Keycode>scancode: Option<Scancode>keymod: Modrepeat: bool
KeyUp

Fields of KeyUp

timestamp: u32window_id: u32keycode: Option<Keycode>scancode: Option<Scancode>keymod: Modrepeat: bool
TextEditing

Fields of TextEditing

timestamp: u32window_id: u32text: Stringstart: i32length: i32
TextInput

Fields of TextInput

timestamp: u32window_id: u32text: String
MouseMotion

Fields of MouseMotion

timestamp: u32window_id: u32which: u32mousestate: MouseStatex: i32y: i32xrel: i32yrel: i32
MouseButtonDown

Fields of MouseButtonDown

timestamp: u32window_id: u32which: u32mouse_btn: MouseButtonclicks: u8x: i32y: i32
MouseButtonUp

Fields of MouseButtonUp

timestamp: u32window_id: u32which: u32mouse_btn: MouseButtonclicks: u8x: i32y: i32
MouseWheel

Fields of MouseWheel

timestamp: u32window_id: u32which: u32x: i32y: i32direction: MouseWheelDirection
JoyAxisMotion

Fields of JoyAxisMotion

timestamp: u32which: u32

The joystick’s id

axis_idx: u8value: i16
JoyBallMotion

Fields of JoyBallMotion

timestamp: u32which: u32

The joystick’s id

ball_idx: u8xrel: i16yrel: i16
JoyHatMotion

Fields of JoyHatMotion

timestamp: u32which: u32

The joystick’s id

hat_idx: u8state: HatState
JoyButtonDown

Fields of JoyButtonDown

timestamp: u32which: u32

The joystick’s id

button_idx: u8
JoyButtonUp

Fields of JoyButtonUp

timestamp: u32which: u32

The joystick’s id

button_idx: u8
JoyDeviceAdded

Fields of JoyDeviceAdded

timestamp: u32which: u32

The newly added joystick’s joystick_index

JoyDeviceRemoved

Fields of JoyDeviceRemoved

timestamp: u32which: u32

The joystick’s id

ControllerAxisMotion

Fields of ControllerAxisMotion

timestamp: u32which: u32

The controller’s joystick id

axis: Axisvalue: i16
ControllerButtonDown

Fields of ControllerButtonDown

timestamp: u32which: u32

The controller’s joystick id

button: Button
ControllerButtonUp

Fields of ControllerButtonUp

timestamp: u32which: u32

The controller’s joystick id

button: Button
ControllerDeviceAdded

Fields of ControllerDeviceAdded

timestamp: u32which: u32

The newly added controller’s joystick_index

ControllerDeviceRemoved

Fields of ControllerDeviceRemoved

timestamp: u32which: u32

The controller’s joystick id

ControllerDeviceRemapped

Fields of ControllerDeviceRemapped

timestamp: u32which: u32

The controller’s joystick id

FingerDown

Fields of FingerDown

timestamp: u32touch_id: i64finger_id: i64x: f32y: f32dx: f32dy: f32pressure: f32
FingerUp

Fields of FingerUp

timestamp: u32touch_id: i64finger_id: i64x: f32y: f32dx: f32dy: f32pressure: f32
FingerMotion

Fields of FingerMotion

timestamp: u32touch_id: i64finger_id: i64x: f32y: f32dx: f32dy: f32pressure: f32
DollarGesture

Fields of DollarGesture

timestamp: u32touch_id: i64gesture_id: i64num_fingers: u32error: f32x: f32y: f32
DollarRecord

Fields of DollarRecord

timestamp: u32touch_id: i64gesture_id: i64num_fingers: u32error: f32x: f32y: f32
MultiGesture

Fields of MultiGesture

timestamp: u32touch_id: i64d_theta: f32d_dist: f32x: f32y: f32num_fingers: u16
ClipboardUpdate

Fields of ClipboardUpdate

timestamp: u32
DropFile

Fields of DropFile

timestamp: u32window_id: u32filename: String
DropText

Fields of DropText

timestamp: u32window_id: u32filename: String
DropBegin

Fields of DropBegin

timestamp: u32window_id: u32
DropComplete

Fields of DropComplete

timestamp: u32window_id: u32
AudioDeviceAdded

Fields of AudioDeviceAdded

timestamp: u32which: u32iscapture: bool
AudioDeviceRemoved

Fields of AudioDeviceRemoved

timestamp: u32which: u32iscapture: bool
RenderTargetsReset

Fields of RenderTargetsReset

timestamp: u32
RenderDeviceReset

Fields of RenderDeviceReset

timestamp: u32
User

Fields of User

timestamp: u32window_id: u32type_: u32code: i32data1: *mut c_voiddata2: *mut c_void
Unknown

Fields of Unknown

timestamp: u32type_: u32

Implementations

Returns true if they are the same “kind” of events.

Example:
use sdl2::event::Event;

let ev1 = Event::JoyButtonDown {
    timestamp: 0,
    which: 0,
    button_idx: 0,
};
let ev2 = Event::JoyButtonDown {
    timestamp: 1,
    which: 1,
    button_idx: 1,
};

assert!(ev1 != ev2); // The events aren't equal (they contain different values).
assert!(ev1.is_same_kind_as(&ev2)); // But they are of the same kind!

Returns the timestamp field of the event.

Example
use sdl2::event::Event;

let ev = Event::JoyButtonDown {
    timestamp: 12,
    which: 0,
    button_idx: 0,
};
assert!(ev.get_timestamp() == 12);

Returns the window_id field of the event if it’s present (not all events have it!).

Example
use sdl2::event::Event;

let ev = Event::JoyButtonDown {
    timestamp: 0,
    which: 0,
    button_idx: 0,
};
assert!(ev.get_window_id() == None);

let another_ev = Event::DropBegin {
    timestamp: 0,
    window_id: 3,
};
assert!(another_ev.get_window_id() == Some(3));

Returns true if this is a window event.

Example
use sdl2::event::Event;

let ev = Event::Quit {
    timestamp: 0,
};
assert!(ev.is_window());

let ev = Event::AppLowMemory {
    timestamp: 0,
};
assert!(ev.is_window());

let another_ev = Event::TextInput {
    timestamp: 0,
    window_id: 0,
    text: String::new(),
};
assert!(another_ev.is_window() == false); // Not a window event!

Returns true if this is a keyboard event.

Example
use sdl2::event::Event;
use sdl2::keyboard::Mod;

let ev = Event::KeyDown {
    timestamp: 0,
    window_id: 0,
    keycode: None,
    scancode: None,
    keymod: Mod::empty(),
    repeat: false,
};
assert!(ev.is_keyboard());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_keyboard() == false); // Not a keyboard event!

Returns true if this is a text event.

Example
use sdl2::event::Event;

let ev = Event::TextInput {
    timestamp: 0,
    window_id: 0,
    text: String::new(),
};
assert!(ev.is_text());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_text() == false); // Not a text event!

Returns true if this is a mouse event.

Example
use sdl2::event::Event;
use sdl2::mouse::MouseWheelDirection;

let ev = Event::MouseWheel {
    timestamp: 0,
    window_id: 0,
    which: 0,
    x: 0,
    y: 0,
    direction: MouseWheelDirection::Normal,
};
assert!(ev.is_mouse());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_mouse() == false); // Not a mouse event!

Returns true if this is a controller event.

Example
use sdl2::event::Event;

let ev = Event::ControllerDeviceAdded {
    timestamp: 0,
    which: 0,
};
assert!(ev.is_controller());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_controller() == false); // Not a controller event!

Returns true if this is a joy event.

Example
use sdl2::event::Event;

let ev = Event::JoyButtonUp {
    timestamp: 0,
    which: 0,
    button_idx: 0,
};
assert!(ev.is_joy());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_joy() == false); // Not a joy event!

Returns true if this is a finger event.

Example
use sdl2::event::Event;

let ev = Event::FingerMotion {
    timestamp: 0,
    touch_id: 0,
    finger_id: 0,
    x: 0.,
    y: 0.,
    dx: 0.,
    dy: 0.,
    pressure: 0.,
};
assert!(ev.is_finger());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_finger() == false); // Not a finger event!

Returns true if this is a dollar event.

Example
use sdl2::event::Event;

let ev = Event::DollarGesture {
    timestamp: 0,
    touch_id: 0,
    gesture_id: 0,
    num_fingers: 0,
    error: 0.,
    x: 0.,
    y: 0.,
};
assert!(ev.is_dollar());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_dollar() == false); // Not a dollar event!

Returns true if this is a drop event.

Example
use sdl2::event::Event;

let ev = Event::DropBegin {
    timestamp: 0,
    window_id: 3,
};
assert!(ev.is_drop());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_drop() == false); // Not a drop event!

Returns true if this is an audio event.

Example
use sdl2::event::Event;

let ev = Event::AudioDeviceAdded {
    timestamp: 0,
    which: 3,
    iscapture: false,
};
assert!(ev.is_audio());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_audio() == false); // Not an audio event!

Returns true if this is a render event.

Example
use sdl2::event::Event;

let ev = Event::RenderTargetsReset {
    timestamp: 0,
};
assert!(ev.is_render());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_render() == false); // Not a render event!

Returns true if this is a user event.

Example
use sdl2::event::Event;

let ev = Event::User {
    timestamp: 0,
    window_id: 0,
    type_: 0,
    code: 0,
    data1: ::std::ptr::null_mut(),
    data2: ::std::ptr::null_mut(),
};
assert!(ev.is_user());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_user() == false); // Not a user event!

Returns true if this is an unknown event.

Example
use sdl2::event::Event;

let ev = Event::Unknown {
    timestamp: 0,
    type_: 0,
};
assert!(ev.is_unknown());

let another_ev = Event::Quit {
    timestamp: 0,
};
assert!(another_ev.is_unknown() == false); // Not an unknown event!

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

This method tests for !=.

This does not auto-derive because User’s data fields can be used to store pointers to types that are !Send. Dereferencing these as pointers requires using unsafe and ensuring your own safety guarantees.

This does not auto-derive because User’s data fields can be used to store pointers to types that are !Sync. Dereferencing these as pointers requires using unsafe and ensuring your own safety guarantees.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.