#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub enum InteractionMode {
#[default]
PassThrough,
Interactive,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum MouseButton {
Left,
Right,
Middle,
X1,
X2,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum KeyState {
Pressed,
Released,
}
#[derive(Clone, Debug, PartialEq)]
pub enum InputEvent {
MouseMoved {
x: f32,
y: f32,
},
MouseButton {
button: MouseButton,
pressed: bool,
x: f32,
y: f32,
},
MouseWheel {
delta: f32,
x: f32,
y: f32,
},
Key {
virtual_key: u16,
state: KeyState,
},
Text(char),
Focused(bool),
CloseRequested,
}