#[derive(Clone, PartialEq, Debug)]
pub enum MouseWheelState {
Up,
Down,
None,
}
pub struct Mouse {
pub x: f32,
pub y: f32,
left: bool,
right: bool,
mws: MouseWheelState,
}
impl Mouse {
pub fn new(x: f32, y: f32, left: bool, right: bool, mws: MouseWheelState) -> Mouse {
Mouse {x, y, left, right, mws}
}
pub fn pos(&self) -> (f32, f32) {
(self.x, self.y)
}
pub fn left(&self) -> bool {
self.left
}
pub fn right(&self) -> bool {
self.right
}
pub fn mws(&self) -> MouseWheelState {
self.mws.clone()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_mouse() {
let mouse = Mouse::new(100.0, 250.0, false, true, MouseWheelState::None);
assert_eq!(mouse.pos(), (100.0, 250.0));
assert_eq!(mouse.left(), false);
assert_eq!(mouse.right(), true);
assert_eq!(mouse.mws(), MouseWheelState::None);
}
}