dear_imgui_rs/input/
mouse.rs1use crate::sys;
2#[cfg(feature = "serde")]
3use serde::{Deserialize, Serialize};
4
5#[repr(i32)]
7#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
8#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
9pub enum MouseButton {
10 Left = sys::ImGuiMouseButton_Left as i32,
12 Right = sys::ImGuiMouseButton_Right as i32,
14 Middle = sys::ImGuiMouseButton_Middle as i32,
16 Extra1 = 3,
18 Extra2 = 4,
20}
21
22#[repr(i32)]
24#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
25#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
26pub enum MouseCursor {
27 None = sys::ImGuiMouseCursor_None as i32,
29 Arrow = sys::ImGuiMouseCursor_Arrow as i32,
31 TextInput = sys::ImGuiMouseCursor_TextInput as i32,
33 ResizeAll = sys::ImGuiMouseCursor_ResizeAll as i32,
35 ResizeNS = sys::ImGuiMouseCursor_ResizeNS as i32,
37 ResizeEW = sys::ImGuiMouseCursor_ResizeEW as i32,
39 ResizeNESW = sys::ImGuiMouseCursor_ResizeNESW as i32,
41 ResizeNWSE = sys::ImGuiMouseCursor_ResizeNWSE as i32,
43 Hand = sys::ImGuiMouseCursor_Hand as i32,
45 NotAllowed = sys::ImGuiMouseCursor_NotAllowed as i32,
47}
48
49#[repr(i32)]
55#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
56#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
57pub enum MouseSource {
58 Mouse = sys::ImGuiMouseSource_Mouse as i32,
60 TouchScreen = sys::ImGuiMouseSource_TouchScreen as i32,
62 Pen = sys::ImGuiMouseSource_Pen as i32,
64}
65
66impl From<MouseButton> for sys::ImGuiMouseButton {
67 #[inline]
68 fn from(value: MouseButton) -> sys::ImGuiMouseButton {
69 value as sys::ImGuiMouseButton
70 }
71}
72
73impl From<MouseSource> for sys::ImGuiMouseSource {
74 #[inline]
75 fn from(value: MouseSource) -> sys::ImGuiMouseSource {
76 value as sys::ImGuiMouseSource
77 }
78}