use crate::common::Point;
use crate::events::key_event::KeyEvent;
#[derive(Debug, Clone, PartialEq)]
#[non_exhaustive]
pub enum InputEvent {
CursorEntered {},
CursorLeft {},
CursorMoved {
position: Point,
},
MouseInput {
state: ElementState,
button: MouseButton,
},
ScrollWheel {
delta: ScrollDelta,
},
KeyboardInput(KeyEvent),
}
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum ElementState {
Pressed,
Released,
}
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum MouseButton {
Left,
Right,
Middle,
Other(u8),
}
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum ScrollDelta {
LineDelta(f32, f32),
PixelDelta(f32, f32),
}