1#[cfg(feature = "serde")]
2use serde::{
3 Deserialize,
4 Serialize,
5};
6use {
7 crate::{
8 button::MouseButton,
9 state::ButtonState,
10 },
11 dpi::PhysicalPosition,
12 keyboard_types::Modifiers,
13};
14
15#[derive(Clone, Debug, Eq, Hash, PartialEq, PartialOrd, Ord)]
17#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
18pub struct MouseEvent {
19 pub position: PhysicalPosition<i32>,
21 pub state: ButtonState,
23 pub button: MouseButton,
25 pub modifiers: Modifiers,
27 pub is_double_click: bool,
29}