use crate::core::geometry::Point;
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct Modifiers {
pub shift: bool,
pub control: bool,
pub alt: bool,
pub command: bool,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum MouseButton {
Left,
Right,
Middle,
}
#[derive(Clone, Debug, PartialEq)]
pub enum InputEvent {
MouseMove {
position: Point,
},
MouseDown {
position: Point,
button: MouseButton,
},
MouseUp {
position: Point,
button: MouseButton,
},
Scroll {
position: Point,
delta: Point,
},
KeyDown {
keystroke: String,
text: Option<String>,
},
ImePreedit {
text: String,
cursor: Option<usize>,
},
ImeCommit(String),
}