pub enum Event {
Show 39 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: i32,
axis_idx: u8,
value: i16,
},
JoyBallMotion {
timestamp: u32,
which: i32,
ball_idx: u8,
xrel: i16,
yrel: i16,
},
JoyHatMotion {
timestamp: u32,
which: i32,
hat_idx: u8,
state: HatState,
},
JoyButtonDown {
timestamp: u32,
which: i32,
button_idx: u8,
},
JoyButtonUp {
timestamp: u32,
which: i32,
button_idx: u8,
},
JoyDeviceAdded {
timestamp: u32,
which: u32,
},
JoyDeviceRemoved {
timestamp: u32,
which: i32,
},
ControllerAxisMotion {
timestamp: u32,
which: i32,
axis: Axis,
value: i16,
},
ControllerButtonDown {
timestamp: u32,
which: i32,
button: Button,
},
ControllerButtonUp {
timestamp: u32,
which: i32,
button: Button,
},
ControllerDeviceAdded {
timestamp: u32,
which: u32,
},
ControllerDeviceRemoved {
timestamp: u32,
which: i32,
},
ControllerDeviceRemapped {
timestamp: u32,
which: i32,
},
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,
},
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
AppTerminating
AppLowMemory
AppWillEnterBackground
AppDidEnterBackground
AppWillEnterForeground
AppDidEnterForeground
Window
KeyDown
Fields
KeyUp
Fields
TextEditing
TextInput
MouseMotion
Fields
§
mousestate: MouseState
MouseButtonDown
MouseButtonUp
MouseWheel
JoyAxisMotion
JoyBallMotion
JoyHatMotion
JoyButtonDown
JoyButtonUp
JoyDeviceAdded
JoyDeviceRemoved
ControllerAxisMotion
ControllerButtonDown
ControllerButtonUp
ControllerDeviceAdded
ControllerDeviceRemoved
ControllerDeviceRemapped
FingerDown
FingerUp
FingerMotion
DollarGesture
DollarRecord
MultiGesture
ClipboardUpdate
DropFile
User
Unknown
Implementations§
source§impl Event
impl Event
pub fn unwrap_keymod(keymod_option: Option<Mod>) -> Mod
pub fn is_user_event(&self) -> bool
pub fn as_user_event_type<T: Any>(&self) -> Option<T>
Trait Implementations§
impl Send for Event
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.
impl StructuralPartialEq for Event
impl Sync for Event
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)