use indexmap::IndexSet;
use cotis_utils::interactivity::keyboard::KeyboardKey;
use cotis_utils::interactivity::mouse::MouseButton;
use cotis_utils::math::Vector2;
#[derive(Debug, Clone, Default)]
pub struct InputSnapshot {
pub mouse_position: Vector2,
pub mouse_buttons: IndexSet<MouseButton>,
pub pressed_keys: IndexSet<KeyboardKey>,
pub pressed_chars: Vec<char>,
pub scroll_delta: Vector2,
}
impl InputSnapshot {
pub fn take_pressed_chars(&mut self) -> Vec<char> {
std::mem::take(&mut self.pressed_chars)
}
pub fn take_scroll_delta(&mut self) -> Vector2 {
std::mem::take(&mut self.scroll_delta)
}
}