use super::window_center;
pub struct MouseCursor{
position:[f32;2],
saved_position:[f32;2],
}
impl MouseCursor{
pub const fn new()->MouseCursor{
Self{
position:[0f32;2],
saved_position:[0f32;2],
}
}
pub fn save_position(&mut self){
self.saved_position=self.position
}
pub fn saved_shift(&self)->[f32;2]{
[
self.position[0]-self.saved_position[0],
self.position[1]-self.saved_position[1]
]
}
#[inline(always)]
pub fn x(&self)->f32{
self.position[0]
}
#[inline(always)]
pub fn y(&self)->f32{
self.position[1]
}
#[inline(always)]
pub fn position(&self)->[f32;2]{
self.position
}
pub fn center_radius(&self)->[f32;2]{
unsafe{[
self.position[0]-window_center[0],
self.position[1]-window_center[1]
]}
}
#[inline(always)]
pub (crate) fn set_position(&mut self,position:[f32;2]){
self.position=position;
}
}