#[derive(Debug, Default, Clone)]
pub struct ClickRequest {
position: ClickPosition,
button: MouseButton,
}
impl ClickRequest {
pub fn new(position: ClickPosition, button: MouseButton) -> Self {
Self {
position,
button,
}
}
#[must_use]
pub const fn position(&self) -> ClickPosition {
self.position
}
#[must_use]
pub const fn button(&self) -> MouseButton {
self.button
}
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub enum ClickPosition {
Origin,
#[default]
Center,
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub enum MouseButton {
#[default]
Left,
Middle,
Right,
}