diff options
Diffstat (limited to 'src/input/mouse')
-rw-r--r-- | src/input/mouse/button.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/input/mouse/button.rs b/src/input/mouse/button.rs index c51bedfc..e552af5a 100644 --- a/src/input/mouse/button.rs +++ b/src/input/mouse/button.rs @@ -1,7 +1,27 @@ +/// The button of a mouse. #[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)] pub enum Button { + /// The left mouse button. Left, + + /// The right mouse button. Right, + + /// The middle (wheel) button. Middle, + + /// Some other button. Other(u8), } + +#[cfg(feature = "winit")] +impl From<winit::event::MouseButton> for super::Button { + fn from(mouse_button: winit::event::MouseButton) -> Self { + match mouse_button { + winit::event::MouseButton::Left => Button::Left, + winit::event::MouseButton::Right => Button::Right, + winit::event::MouseButton::Middle => Button::Middle, + winit::event::MouseButton::Other(other) => Button::Other(other), + } + } +} |