Enum tetra::Event[][src]

#[non_exhaustive]
pub enum Event {
Show variants Resized { width: i32, height: i32, }, Restored, Minimized, Maximized, FocusGained, FocusLost, KeyPressed { key: Key, }, KeyReleased { key: Key, }, MouseButtonPressed { button: MouseButton, }, MouseButtonReleased { button: MouseButton, }, MouseMoved { position: Vec2<f32>, delta: Vec2<f32>, }, MouseWheelMoved { amount: Vec2<i32>, }, GamepadAdded { id: usize, }, GamepadRemoved { id: usize, }, GamepadButtonPressed { id: usize, button: GamepadButton, }, GamepadButtonReleased { id: usize, button: GamepadButton, }, GamepadAxisMoved { id: usize, axis: GamepadAxis, position: f32, }, GamepadStickMoved { id: usize, stick: GamepadStick, position: Vec2<f32>, }, TextInput { text: String, }, FileDropped { path: PathBuf, },
}
Expand description

Events that can occur while the game is running.

State::event will receive events as they occur.

Examples

The events example demonstrates how to handle events.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Resized

The game window was resized.

Show fields

Fields of Resized

width: i32

The new width of the game window.

height: i32

The new height of the game window.

Restored

The game window was restored to normal size and position by the user, either by un-minimizing or un-maximizing.

Minimized

The game window was minimized by the user.

Maximized

The game window was maximized by the user.

FocusGained

The game window was focused by the user.

FocusLost

The game window was un-focused by the user.

KeyPressed

A key on the keyboard was pressed.

Show fields

Fields of KeyPressed

key: Key

The key that was pressed.

KeyReleased

A key on the keyboard was released.

Show fields

Fields of KeyReleased

key: Key

The key that was released.

MouseButtonPressed

A button on the mouse was pressed.

Show fields

Fields of MouseButtonPressed

button: MouseButton

The button that was pressed.

MouseButtonReleased

A button on the mouse was released.

Show fields

Fields of MouseButtonReleased

button: MouseButton

The button that was released.

MouseMoved

The mouse was moved.

Show fields

Fields of MouseMoved

position: Vec2<f32>

The new position of the mouse, in window co-ordinates.

If relative mouse mode is enabled, this field is not guarenteed to update.

delta: Vec2<f32>

The movement of the mouse, relative to the position of the previous MouseMoved event.

MouseWheelMoved

The mouse wheel was moved.

Show fields

Fields of MouseWheelMoved

amount: Vec2<i32>

The amount that the wheel was moved.

Most ‘normal’ mice can only scroll vertically, but some devices can also scroll horizontally. Use the Y component of the returned vector if you don’t care about horizontal scroll.

Positive values correspond to scrolling up/right, negative values correspond to scrolling down/left.

GamepadAdded

A gamepad was connected to the system.

Show fields

Fields of GamepadAdded

id: usize

The ID that was assigned to the gamepad.

GamepadRemoved

A gamepad was removed from the system.

Show fields

Fields of GamepadRemoved

id: usize

The ID of the gamepad that was removed.

GamepadButtonPressed

A button on a gamepad was pressed.

Show fields

Fields of GamepadButtonPressed

id: usize

The ID of the gamepad.

button: GamepadButton

The button that was pressed.

GamepadButtonReleased

A button on a gamepad was released.

Show fields

Fields of GamepadButtonReleased

id: usize

The ID of the gamepad.

button: GamepadButton

The button that was released.

GamepadAxisMoved

An axis on a gamepad was moved.

Show fields

Fields of GamepadAxisMoved

id: usize

The ID of the gamepad.

axis: GamepadAxis

The axis that was moved.

position: f32

The new position of the axis.

GamepadStickMoved

A control stick on a gamepad was moved.

Show fields

Fields of GamepadStickMoved

id: usize

The ID of the gamepad.

stick: GamepadStick

The stick that was moved.

position: Vec2<f32>

The new position of the stick.

TextInput

The user typed some text.

Show fields

Fields of TextInput

text: String

The text that was typed by the user.

FileDropped

The user dropped a file into the window.

This event will be fired multiple times if the user dropped multiple files at the same time.

Note that on MacOS, you must edit your info.plist file to set which document types you want your application to support, otherwise no FileDropped events will be fired.

Show fields

Fields of FileDropped

path: PathBuf

The path of the file that was dropped.

Trait Implementations

impl Clone for Event[src]

fn clone(&self) -> Event[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Event[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Event

impl Send for Event

impl Sync for Event

impl Unpin for Event

impl UnwindSafe for Event

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

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

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.