harmony 鸿蒙native_gesture.h

  • 2025-06-12
  • 浏览 (4)

native_gesture.h

概述

提供NativeGesture接口的类型定义。

库: libace_ndk.z.so

引用文件:

系统能力: SystemCapability.ArkUI.ArkUI.Full

起始版本: 12

相关模块:ArkUI_NativeModule

汇总

结构体

名称 描述
struct  ArkUI_NativeGestureAPI_1 手势模块接口集合。
struct  ArkUI_NativeGestureAPI_2 手势模块接口集合。

类型定义

名称 描述
typedef uint32_t ArkUI_GestureEventActionTypeMask 定义手势事件类型集合
typedef uint32_t ArkUI_GestureDirectionMask 定义滑动手势方向集合。
typedef ArkUI_GestureRecognizer * ArkUI_GestureRecognizerHandle 提供手势识别器句柄类型对象定义。
typedef ArkUI_GestureRecognizerHandle * ArkUI_GestureRecognizerHandleArray 提供手势识别器句柄类型数组对象定义。
typedef ArkUI_TouchRecognizer * ArkUI_TouchRecognizerHandle 提供触摸识别器句柄类型对象定义。
typedef ArkUI_TouchRecognizerHandle * ArkUI_TouchRecognizerHandleArray 提供触摸识别器句柄类型数组对象定义。
typedef struct ArkUI_GestureEventTargetInfo ArkUI_GestureEventTargetInfo 提供手势事件目标信息类型对象定义。
typedef struct ArkUI_ParallelInnerGestureEvent ArkUI_ParallelInnerGestureEvent 提供并行内部手势事件类型对象定义。
typedef struct ArkUI_GestureInterruptInfo ArkUI_GestureInterruptInfo 获取手势中断事件中的用户自定义数据。
typedef void(* ArkUI_GestureRecognizerDisposeNotifyCallback) (ArkUI_GestureRecognizer *recognizer, void *userData) 定义手势识别器析构通知事件的回调函数类型。

枚举

名称 描述
ArkUI_GestureEventActionType { GESTURE_EVENT_ACTION_ACCEPT = 0x01, GESTURE_EVENT_ACTION_UPDATE = 0x02, GESTURE_EVENT_ACTION_END = 0x04, GESTURE_EVENT_ACTION_CANCEL = 0x08 } 定义手势事件类型。
ArkUI_GesturePriority { NORMAL = 0, PRIORITY = 1, PARALLEL = 2 } 定义手势事件模式。
ArkUI_GroupGestureMode { SEQUENTIAL_GROUP = 0, PARALLEL_GROUP = 1, EXCLUSIVE_GROUP = 2 } 定义手势组事件模式。
ArkUI_GestureDirection {
GESTURE_DIRECTION_ALL = 0b1111, GESTURE_DIRECTION_HORIZONTAL = 0b0011, GESTURE_DIRECTION_VERTICAL = 0b1100, GESTURE_DIRECTION_LEFT = 0b0001,
GESTURE_DIRECTION_RIGHT = 0b0010, GESTURE_DIRECTION_UP = 0b0100, GESTURE_DIRECTION_DOWN = 0b1000, GESTURE_DIRECTION_NONE = 0
}
定义滑动手势方向。
ArkUI_GestureMask { NORMAL_GESTURE_MASK = 0, IGNORE_INTERNAL_GESTURE_MASK } 定义手势屏蔽模式。
ArkUI_GestureRecognizerType {
TAP_GESTURE = 0, LONG_PRESS_GESTURE, PAN_GESTURE, PINCH_GESTURE,
ROTATION_GESTURE, SWIPE_GESTURE, GROUP_GESTURE
}
定义手势类型。
ArkUI_GestureInterruptResult { GESTURE_INTERRUPT_RESULT_CONTINUE = 0, GESTURE_INTERRUPT_RESULT_REJECT } 定义手势打断结果。
ArkUI_GestureRecognizerState {
ARKUI_GESTURE_RECOGNIZER_STATE_READY = 0, ARKUI_GESTURE_RECOGNIZER_STATE_DETECTING = 1, ARKUI_GESTURE_RECOGNIZER_STATE_PENDING = 2, ARKUI_GESTURE_RECOGNIZER_STATE_BLOCKED = 3,
ARKUI_GESTURE_RECOGNIZER_STATE_SUCCESSFUL = 4, ARKUI_GESTURE_RECOGNIZER_STATE_FAILED = 5
}
定义手势识别器状态。

函数

名称 描述
bool OH_ArkUI_GestureInterruptInfo_GetSystemFlag (const ArkUI_GestureInterruptInfo *event) 判断是否组件内置手势。
ArkUI_GestureRecognizer * OH_ArkUI_GestureInterruptInfo_GetRecognizer (const ArkUI_GestureInterruptInfo *event) 返回被打断的手势指针。
ArkUI_GestureEvent * OH_ArkUI_GestureInterruptInfo_GetGestureEvent (const ArkUI_GestureInterruptInfo *event) 返回打断的手势事件数据。
int32_t OH_ArkUI_GestureInterruptInfo_GetSystemRecognizerType (const ArkUI_GestureInterruptInfo *event) 当要触发的是系统内部手势时,使用该方法可返回该系统内部手势的类型。
int32_t OH_ArkUI_GestureInterruptInfo_GetTouchRecognizers (const ArkUI_GestureInterruptInfo* info, ArkUI_TouchRecognizerHandleArray* recognizers, int32_t* size) 使用该方法可返回与该手势相关的所有触摸识别器。
int32_t OH_ArkUI_TouchRecognizer_GetNodeHandle (const ArkUI_TouchRecognizerHandle recognizer) 使用该方法可返回与触摸识别器绑定的组件句柄。
int32_t OH_ArkUI_TouchRecognizer_CancelTouch (ArkUI_TouchRecognizerHandle recognizer, ArkUI_GestureInterruptInfo* info) 使用该方法向对应触摸识别器分发Cancel事件拦截后续触摸事件。
ArkUI_GestureEventActionType OH_ArkUI_GestureEvent_GetActionType (const ArkUI_GestureEvent *event) 返回手势事件类型。
const ArkUI_UIInputEvent * OH_ArkUI_GestureEvent_GetRawInputEvent (const ArkUI_GestureEvent *event) 返回手势输入。
int32_t OH_ArkUI_LongPress_GetRepeatCount (const ArkUI_GestureEvent *event) 返回长按手势定时触发次数。
float OH_ArkUI_PanGesture_GetVelocity (const ArkUI_GestureEvent *event) 滑动手势返回手势主方向速度。
float OH_ArkUI_PanGesture_GetVelocityX (const ArkUI_GestureEvent *event) 滑动手势返回当前手势的x轴方向速度。
float OH_ArkUI_PanGesture_GetVelocityY (const ArkUI_GestureEvent *event) 滑动手势返回当前手势的y轴方向速度。
float OH_ArkUI_PanGesture_GetOffsetX (const ArkUI_GestureEvent *event) 滑动手势返回当前手势事件x轴相对偏移量。
float OH_ArkUI_PanGesture_GetOffsetY (const ArkUI_GestureEvent *event) 滑动手势返回当前手势事件y轴相对偏移量。
float OH_ArkUI_SwipeGesture_GetAngle (const ArkUI_GestureEvent *event) 滑动手势返回当前手势事件角度信息。
float OH_ArkUI_SwipeGesture_GetVelocity (const ArkUI_GestureEvent *event) 滑动手势场景中所有手指滑动平均速度。
float OH_ArkUI_RotationGesture_GetAngle (const ArkUI_GestureEvent *event) 旋转手势返回当前手势事件角度信息。
float OH_ArkUI_PinchGesture_GetScale (const ArkUI_GestureEvent *event) 捏合手势返回当前手势事件缩放信息。
float OH_ArkUI_PinchGesture_GetCenterX (const ArkUI_GestureEvent *event) 捏合手势中心点相对于当前组件元素左上角x轴坐标。
float OH_ArkUI_PinchGesture_GetCenterY (const ArkUI_GestureEvent *event) 捏合手势中心点相对于当前组件元素左上角y轴坐标。
ArkUI_NodeHandle OH_ArkUI_GestureEvent_GetNode (const ArkUI_GestureEvent *event) 获取被绑定手势的ARKUI组件。
int32_t OH_ArkUI_GetResponseRecognizersFromInterruptInfo (const ArkUI_GestureInterruptInfo *event, ArkUI_GestureRecognizerHandleArray *responseChain, int32_t *count) 获取手势响应链的信息。
int32_t OH_ArkUI_SetGestureRecognizerEnabled (ArkUI_GestureRecognizer *recognizer, bool enabled) 设置手势识别器的使能状态。
int32_t(* OH_ArkUI_SetGestureRecognizerLimitFingerCount )(ArkUI_GestureRecognizer *recognizer, bool limitFingerCount) 设置是否检查触摸屏幕的手指数量。
bool OH_ArkUI_GetGestureRecognizerEnabled (ArkUI_GestureRecognizer *recognizer) 获取手势识别器的使能状态。
int32_t OH_ArkUI_GetGestureRecognizerState (ArkUI_GestureRecognizer *recognizer, ArkUI_GestureRecognizerState *state) 获取手势识别器的状态。
int32_t OH_ArkUI_GetGestureEventTargetInfo (ArkUI_GestureRecognizer *recognizer, ArkUI_GestureEventTargetInfo **info) 获取手势事件目标信息。
int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollBegin (ArkUI_GestureEventTargetInfo *info, bool *ret) 当前滚动类容器组件是否在顶部。
int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollEnd (ArkUI_GestureEventTargetInfo *info, bool *ret) 当前滚动类容器组件是否在底部。
int32_t OH_ArkUI_GetPanGestureDirectionMask (ArkUI_GestureRecognizer *recognizer, ArkUI_GestureDirectionMask *directionMask) 获取滑动手势的滑动方向。
bool OH_ArkUI_IsBuiltInGesture (ArkUI_GestureRecognizer *recognizer) 当前手势是否为系统内置手势。
int32_t OH_ArkUI_GetGestureTag (ArkUI_GestureRecognizer *recognizer, char *buffer, int32_t bufferSize, int32_t *result) 获取手势识别器的标记。
int32_t OH_ArkUI_GetGestureBindNodeId (ArkUI_GestureRecognizer *recognizer, char *nodeId, int32_t size, int32_t *result) 获取手势识别器绑定的组件的ID。
bool OH_ArkUI_IsGestureRecognizerValid (ArkUI_GestureRecognizer *recognizer) 当前手势识别器是否有效。
void * OH_ArkUI_ParallelInnerGestureEvent_GetUserData (ArkUI_ParallelInnerGestureEvent *event) 获取并行内部手势事件中的用户自定义数据。
void* OH_ArkUI_GestureInterrupter_GetUserData(ArkUI_GestureInterruptInfo* event) 获取手势中断事件中的用户自定义数据。
ArkUI_GestureRecognizer * OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer (ArkUI_ParallelInnerGestureEvent *event) 获取并行内部手势事件中的当前手势识别器。
int32_t OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers (ArkUI_ParallelInnerGestureEvent *event, ArkUI_GestureRecognizerHandleArray *array, int32_t *size) 获取并行内部手势事件中的冲突的手势识别器。
int32_t OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify (ArkUI_GestureRecognizer *recognizer, ArkUI_GestureRecognizerDisposeNotifyCallback callback, void *userData) 设置手势识别器对象析构通知回调函数。
int32_t OH_ArkUI_GetGestureParam_DirectMask (ArkUI_GestureRecognizer *recognizer, ArkUI_GestureDirectionMask *directMask) 获取手势识别器的滑动方向。
int32_t OH_ArkUI_GetGestureParam_FingerCount (ArkUI_GestureRecognizer *recognizer, int *finger) 获取手势识别器的手指数。
int32_t OH_ArkUI_GetGestureParam_limitFingerCount (ArkUI_GestureRecognizer *recognizer, bool *isLimited) 获取手势识别器是否有手指数限制。
int32_t OH_ArkUI_GetGestureParam_repeat (ArkUI_GestureRecognizer *recognizer, bool *isRepeat) 获取手势识别器是否连续触发事件回调。
int32_t OH_ArkUI_GetGestureParam_distance (ArkUI_GestureRecognizer *recognizer, double *distance) 获取手势识别器的手指允许的移动距离范围。
int32_t OH_ArkUI_GetGestureParam_speed (ArkUI_GestureRecognizer *recognizer, double *speed) 获取手势识别器的识别滑动的最小速度。
int32_t OH_ArkUI_GetGestureParam_duration (ArkUI_GestureRecognizer *recognizer, int *duration) 获取手势识别器的触发长按的最短时间。
int32_t OH_ArkUI_GetGestureParam_angle (ArkUI_GestureRecognizer *recognizer, double *angle) 获取手势识别器的旋转手势的最小改变度数。
int32_t OH_ArkUI_GetGestureParam_distanceThreshold (ArkUI_GestureRecognizer *recognizer, double *distanceThreshold) 获取手势识别器的手势移动阈值。
ArkUI_ErrorCode OH_ArkUI_SetGestureParamDistanceMap (ArkUI_GestureRecognizer *recognizer, int size, int* toolTypeArray, double* distanceArray) 设置手势最小滑动阈值表。
ArkUI_ErrorCode OH_ArkUI_PanGesture_GetDistanceByToolType (ArkUI_GestureRecognizer *recognizer, int toolType, double* distance) 获取手势识别器的手势移动阈值表。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkUI(方舟UI框架)

harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent

harmony 鸿蒙ARKUI_TextPickerRangeContent

harmony 鸿蒙ArkUI_AnimateCompleteCallback

harmony 鸿蒙ArkUI_AttributeItem

harmony 鸿蒙ArkUI_ColorStop

harmony 鸿蒙ArkUI_ContextCallback

harmony 鸿蒙ArkUI_EventModule

harmony 鸿蒙ArkUI_ExpectedFrameRateRange

harmony 鸿蒙ArkUI_IntOffset

0  赞