1#[derive(Debug, Default, Clone)]
5pub struct ClickRequest {
6 position: ClickPosition,
7 button: MouseButton,
8}
9
10impl ClickRequest {
11 pub fn new(position: ClickPosition, button: MouseButton) -> Self {
12 Self {
13 position,
14 button,
15 }
16 }
17
18 #[must_use]
19 pub const fn position(&self) -> ClickPosition {
20 self.position
21 }
22
23 #[must_use]
24 pub const fn button(&self) -> MouseButton {
25 self.button
26 }
27}
28
29#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
30pub enum ClickPosition {
31 Origin,
33
34 #[default]
36 Center,
37}
38
39#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
40pub enum MouseButton {
41 #[default]
43 Left,
44
45 Middle,
47
48 Right,
50}