use ohos_arkui_input_sys::*;
use ohos_enum_derive::EnumFrom;
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(
ArkUI_UIInputEvent_Type,
"ArkUI_UIInputEvent_Type_ARKUI_UIINPUTEVENT_TYPE_"
)]
pub enum UIInputEvent {
Unknown,
Touch,
Axis,
Mouse,
#[cfg(feature = "api-20")]
Key,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_TOUCH_EVENT_ACTION, "UI_TOUCH_EVENT_ACTION_", i32)]
pub enum UIInputAction {
Cancel,
Down,
Move,
Up,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_INPUT_EVENT_TOOL_TYPE, "UI_INPUT_EVENT_TOOL_TYPE_")]
pub enum UIInputToolType {
Unknown,
Finger,
Pen,
Mouse,
Touchpad,
Joystick,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_INPUT_EVENT_SOURCE_TYPE, "UI_INPUT_EVENT_SOURCE_TYPE_")]
pub enum UIInputSourceType {
Unknown,
Mouse,
TouchScreen,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_MOUSE_EVENT_ACTION, "UI_MOUSE_EVENT_ACTION_")]
pub enum UIMouseEventAction {
Unknown,
Press,
Release,
Move,
#[cfg(feature = "api-20")]
Cancel,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_MOUSE_EVENT_BUTTON, "UI_MOUSE_EVENT_BUTTON_")]
pub enum UIMouseEventButton {
None,
Left,
Right,
Middle,
Back,
Forward,
}
#[cfg(feature = "api-15")]
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_FOCUS_AXIS_EVENT_ABS, "UI_FOCUS_AXIS_EVENT_ABS_")]
pub enum UIFocusAxisEventAbs {
X,
Y,
Z,
RZ,
BRAKE,
#[suffix("HAT0X")]
HAT0X,
#[suffix("HAT0Y")]
HAT0Y,
}
#[cfg(feature = "api-15")]
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(UI_AXIS_EVENT_ACTION, "UI_AXIS_EVENT_ACTION_")]
pub enum UIAxisEventAction {
None,
Begin,
Update,
End,
Cancel,
}
#[cfg(feature = "api-22")]
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(
ArkUI_CoastingAxisEventPhase,
"ArkUI_CoastingAxisEventPhase_ARKUI_COASTING_AXIS_EVENT_PHASE_"
)]
pub enum UICoastingAxisEventPhase {
None,
Begin,
Update,
End,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(HitTestMode, "HitTestMode_HTM_")]
pub enum HitTest {
Default,
Block,
Transparent,
None,
#[cfg(feature = "api-20")]
BlockHierarchy,
#[cfg(feature = "api-20")]
BlockDescendants,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(ArkUI_ModifierKeyName, "ArkUI_ModifierKeyName_ARKUI_MODIFIER_KEY_")]
pub enum ModifierKey {
Ctrl,
Shift,
Alt,
Fn,
}
#[cfg(feature = "api-15")]
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[config(ArkUI_InteractionHand, "ArkUI_InteractionHand_ARKUI_EVENT_HAND_")]
pub enum InteractionHand {
None,
Left,
Right,
}