1use lotus_script_sys::FfiObject;
2use lotus_shared::math::Vec2;
3
4pub use lotus_shared::input::*;
5
6pub fn mouse_delta() -> Vec2 {
9 let delta = unsafe { lotus_script_sys::input::mouse_delta() };
10 FfiObject::from_packed(delta).deserialize()
11}
12
13pub fn mouse_position() -> Vec2 {
14 let delta = unsafe { lotus_script_sys::input::mouse_position() };
15 FfiObject::from_packed(delta).deserialize()
16}
17
18#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
19pub enum MouseSteeringMode {
20 #[default]
21 Inactive,
22 Active,
23 ActiveBoost,
24}
25
26impl From<u32> for MouseSteeringMode {
27 fn from(value: u32) -> Self {
28 match value {
29 1 => Self::Active,
30 2 => Self::ActiveBoost,
31 _ => Self::Inactive,
32 }
33 }
34}
35
36pub fn mouse_steering_mode() -> MouseSteeringMode {
37 let active = unsafe { lotus_script_sys::input::mouse_steering_mode() };
38 active.into()
39}