1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use sdl2::mouse::MouseState as SdlMouseState;
use super::{ButtonState, MouseButton};
pub struct MouseState {
pub buttons: ButtonState<MouseButton>,
pub x: i32,
pub y: i32,
}
impl MouseState {
pub(crate) fn new(state: SdlMouseState) -> Self {
Self {
buttons: ButtonState::new(state.mouse_buttons()),
x: state.x(),
y: state.y(),
}
}
pub(crate) fn update(&mut self, state: SdlMouseState) {
self.buttons.update(state.mouse_buttons());
self.x = state.x();
self.y = state.y();
}
}