use crate::{
ButtonState,
keyboard::{Key, KeyCode},
mouse::{MouseButton, MouseScrollUnit},
};
use magma_app::entities::Entity;
use magma_math::Vec2;
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
pub struct KeyboardInput {
pub key: Key,
pub key_code: KeyCode,
pub state: ButtonState,
pub repeat: bool,
pub window: Entity,
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
pub struct MouseButtonInput {
pub button: MouseButton,
pub state: ButtonState,
pub window: Entity,
}
#[derive(Clone, Copy, PartialEq, PartialOrd, Debug)]
pub struct MouseScrollInput {
pub unit: MouseScrollUnit,
pub x: f32,
pub y: f32,
pub window: Entity,
}
#[derive(Clone, Copy, PartialEq, Debug, Default)]
pub struct MouseMotionInput {
pub delta: Vec2,
}