Skip to main content

ohos_arkui_input_binding/
ui_input_enum.rs

1use ohos_arkui_input_sys::*;
2
3use ohos_enum_derive::EnumFrom;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
6#[config(
7    ArkUI_UIInputEvent_Type,
8    "ArkUI_UIInputEvent_Type_ARKUI_UIINPUTEVENT_TYPE_"
9)]
10pub enum UIInputEvent {
11    Unknown,
12    Touch,
13    Axis,
14    Mouse,
15    #[cfg(feature = "api-20")]
16    Key,
17}
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
20#[config(UI_TOUCH_EVENT_ACTION, "UI_TOUCH_EVENT_ACTION_", i32)]
21pub enum UIInputAction {
22    Cancel,
23    Down,
24    Move,
25    Up,
26}
27
28#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
29#[config(UI_INPUT_EVENT_TOOL_TYPE, "UI_INPUT_EVENT_TOOL_TYPE_")]
30pub enum UIInputToolType {
31    Unknown,
32    Finger,
33    Pen,
34    Mouse,
35    Touchpad,
36    Joystick,
37}
38
39#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
40#[config(UI_INPUT_EVENT_SOURCE_TYPE, "UI_INPUT_EVENT_SOURCE_TYPE_")]
41pub enum UIInputSourceType {
42    Unknown,
43    Mouse,
44    TouchScreen,
45}
46
47#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
48#[config(UI_MOUSE_EVENT_ACTION, "UI_MOUSE_EVENT_ACTION_")]
49pub enum UIMouseEventAction {
50    Unknown,
51    Press,
52    Release,
53    Move,
54    #[cfg(feature = "api-20")]
55    Cancel,
56}
57
58#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
59#[config(UI_MOUSE_EVENT_BUTTON, "UI_MOUSE_EVENT_BUTTON_")]
60pub enum UIMouseEventButton {
61    None,
62    Left,
63    Right,
64    Middle,
65    Back,
66    Forward,
67}
68
69#[cfg(feature = "api-15")]
70#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
71#[config(UI_FOCUS_AXIS_EVENT_ABS, "UI_FOCUS_AXIS_EVENT_ABS_")]
72pub enum UIFocusAxisEventAbs {
73    X,
74    Y,
75    Z,
76    RZ,
77    BRAKE,
78    #[suffix("HAT0X")]
79    HAT0X,
80    #[suffix("HAT0Y")]
81    HAT0Y,
82}
83
84#[cfg(feature = "api-15")]
85#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
86#[config(UI_AXIS_EVENT_ACTION, "UI_AXIS_EVENT_ACTION_")]
87pub enum UIAxisEventAction {
88    None,
89    Begin,
90    Update,
91    End,
92    Cancel,
93}
94
95#[cfg(feature = "api-22")]
96#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
97#[config(
98    ArkUI_CoastingAxisEventPhase,
99    "ArkUI_CoastingAxisEventPhase_ARKUI_COASTING_AXIS_EVENT_PHASE_"
100)]
101pub enum UICoastingAxisEventPhase {
102    None,
103    Begin,
104    Update,
105    End,
106}
107
108#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
109#[config(HitTestMode, "HitTestMode_HTM_")]
110pub enum HitTest {
111    Default,
112    Block,
113    Transparent,
114    None,
115    #[cfg(feature = "api-20")]
116    BlockHierarchy,
117    #[cfg(feature = "api-20")]
118    BlockDescendants,
119}
120
121#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
122#[config(ArkUI_ModifierKeyName, "ArkUI_ModifierKeyName_ARKUI_MODIFIER_KEY_")]
123pub enum ModifierKey {
124    Ctrl,
125    Shift,
126    Alt,
127    Fn,
128}
129
130#[cfg(feature = "api-15")]
131#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
132#[config(ArkUI_InteractionHand, "ArkUI_InteractionHand_ARKUI_EVENT_HAND_")]
133pub enum InteractionHand {
134    None,
135    Left,
136    Right,
137}