use crate::test_render::RayTestRender;
use cotis_utils::interactivity::keyboard::{
KeyboardKey, SimpleKeyboardProvider, SimpleTextProvider,
};
use cotis_utils::interactivity::mouse::{MouseButton, MouseProvider};
use cotis_utils::math::Vector2;
use indexmap::IndexSet;
impl MouseProvider for RayTestRender {
fn get_mouse_position(&self) -> Vector2 {
let res = self.render.lock_handle().get_mouse_position();
Vector2::new(res.x * self.scale, res.y * self.scale)
}
fn mouse_button_down(&self, button: MouseButton) -> bool {
self.render.lock_handle().mouse_button_down(button)
}
fn get_mouse_wheel_move_v(&self) -> Vector2 {
self.render.lock_handle().get_mouse_wheel_move_v()
}
}
impl SimpleKeyboardProvider for RayTestRender {
fn get_pressed_keys(&self) -> IndexSet<KeyboardKey> {
self.render.lock_handle().get_pressed_keys()
}
}
impl SimpleTextProvider for RayTestRender {
fn get_pressed_chars(&self) -> Vec<char> {
SimpleTextProvider::get_pressed_chars(&self.render)
}
}