Native XComponent

概述

描述ArkUI XComponent持有的surface和触摸事件,该事件可用于EGL/OpenGLES和媒体数据输入,并显示在ArkUI XComponent上,具体使用请参考XComponent开发指导

说明:

该模块从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

汇总

文件

名称 描述
native_interface_xcomponent.h 声明用于访问Native XComponent的API。
引用文件: <ace/xcomponent/native_interface_xcomponent.h>
库: libace_ndk.z.so
native_xcomponent_key_event.h 声明用于访问Native XComponent键盘事件所使用到的枚举类型。
引用文件: <ace/xcomponent/native_xcomponent_key_event.h>
**库:**libace_ndk.z.so

结构体

名称 描述
OH_NativeXComponent_TouchPoint 触摸事件中触摸点的信息。
OH_NativeXComponent_TouchEvent 触摸事件。
OH_NativeXComponent_MouseEvent 鼠标事件。
OH_NativeXComponent_Callback 注册surface生命周期和触摸事件回调。
OH_NativeXComponent_MouseEvent_Callback 注册鼠标事件的回调。

类型定义

名称 描述
OH_NativeXComponent 提供封装的OH_NativeXComponent实例。
OH_NativeXComponent_Callback 注册surface生命周期和触摸事件回调。
OH_NativeXComponent_MouseEvent_Callback 注册鼠标事件的回调。
OH_NativeXComponent_KeyEvent 提供封装的OH_NativeXComponent_KeyEvent实例。

枚举

名称 描述
{ OH_NATIVEXCOMPONENT_RESULT_SUCCESS = 0, OH_NATIVEXCOMPONENT_RESULT_FAILED = -1, OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER = -2 } 枚举API访问状态。
OH_NativeXComponent_TouchEventType {
OH_NATIVEXCOMPONENT_DOWN = 0, OH_NATIVEXCOMPONENT_UP, OH_NATIVEXCOMPONENT_MOVE, OH_NATIVEXCOMPONENT_CANCEL,
OH_NATIVEXCOMPONENT_UNKNOWN
}
触摸事件类型。
OH_NativeXComponent_TouchPointToolType {
OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN = 0, OH_NATIVEXCOMPONENT_TOOL_TYPE_FINGER, OH_NATIVEXCOMPONENT_TOOL_TYPE_PEN, OH_NATIVEXCOMPONENT_TOOL_TYPE_RUBBER,
OH_NATIVEXCOMPONENT_TOOL_TYPE_BRUSH, OH_NATIVEXCOMPONENT_TOOL_TYPE_PENCIL, OH_NATIVEXCOMPONENT_TOOL_TYPE_AIRBRUSH, OH_NATIVEXCOMPONENT_TOOL_TYPE_MOUSE,
OH_NATIVEXCOMPONENT_TOOL_TYPE_LENS
}
触摸点工具类型。
OH_NativeXComponent_EventSourceType {
OH_NATIVEXCOMPONENT_SOURCE_TYPE_UNKNOWN = 0, OH_NATIVEXCOMPONENT_SOURCE_TYPE_MOUSE, OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHSCREEN, OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHPAD,
OH_NATIVEXCOMPONENT_SOURCE_TYPE_JOYSTICK, OH_NATIVEXCOMPONENT_SOURCE_TYPE_KEYBOARD
}
触摸事件源类型。
OH_NativeXComponent_MouseEventAction { OH_NATIVEXCOMPONENT_MOUSE_NONE = 0, OH_NATIVEXCOMPONENT_MOUSE_PRESS, OH_NATIVEXCOMPONENT_MOUSE_RELEASE, OH_NATIVEXCOMPONENT_MOUSE_MOVE } 鼠标事件动作。
OH_NativeXComponent_MouseEventButton {
OH_NATIVEXCOMPONENT_NONE_BUTTON = 0, OH_NATIVEXCOMPONENT_LEFT_BUTTON = 0x01, OH_NATIVEXCOMPONENT_RIGHT_BUTTON = 0x02, OH_NATIVEXCOMPONENT_MIDDLE_BUTTON = 0x04,
OH_NATIVEXCOMPONENT_BACK_BUTTON = 0x08, OH_NATIVEXCOMPONENT_FORWARD_BUTTON = 0x10
}
鼠标事件按键。
OH_NativeXComponent_KeyCode {
KEY_UNKNOWN = -1, KEY_FN = 0, KEY_HOME = 1, KEY_BACK = 2,KEY_MEDIA_PLAY_PAUSE = 10, KEY_MEDIA_STOP = 11, KEY_MEDIA_NEXT = 12, KEY_MEDIA_PREVIOUS = 13,
KEY_MEDIA_REWIND = 14, KEY_MEDIA_FAST_FORWARD = 15, KEY_VOLUME_UP = 16, KEY_VOLUME_DOWN = 17,
KEY_POWER = 18, KEY_CAMERA = 19, KEY_VOLUME_MUTE = 22, KEY_MUTE = 23,KEY_BRIGHTNESS_UP = 40, KEY_BRIGHTNESS_DOWN = 41, KEY_0 = 2000, KEY_1 = 2001,
KEY_2 = 2002, KEY_3 = 2003, KEY_4 = 2004, KEY_5 = 2005,
KEY_6 = 2006, KEY_7 = 2007, KEY_8 = 2008, KEY_9 = 2009,
KEY_STAR = 2010, KEY_POUND = 2011, KEY_DPAD_UP = 2012, KEY_DPAD_DOWN = 2013,KEY_DPAD_LEFT = 2014, KEY_DPAD_RIGHT = 2015, KEY_DPAD_CENTER = 2016,
KEY_A = 2017,
KEY_B = 2018, KEY_C = 2019, KEY_D = 2020, KEY_E = 2021,
KEY_F = 2022, KEY_G = 2023, KEY_H = 2024, KEY_I = 2025,
KEY_J = 2026, KEY_K = 2027, KEY_L = 2028, KEY_M = 2029,
KEY_N = 2030, KEY_O = 2031, KEY_P = 2032, KEY_Q = 2033,
KEY_R = 2034, KEY_S = 2035, KEY_T = 2036, KEY_U = 2037,
KEY_V = 2038, KEY_W = 2039, KEY_X = 2040, KEY_Y = 2041,
KEY_Z = 2042, KEY_COMMA = 2043, KEY_PERIOD = 2044, KEY_ALT_LEFT = 2045,
KEY_ALT_RIGHT = 2046, KEY_SHIFT_LEFT = 2047, KEY_SHIFT_RIGHT = 2048, KEY_TAB = 2049,
KEY_SPACE = 2050, KEY_SYM = 2051, KEY_EXPLORER = 2052, KEY_ENVELOPE = 2053,
KEY_ENTER = 2054, KEY_DEL = 2055, KEY_GRAVE = 2056, KEY_MINUS = 2057,
KEY_EQUALS = 2058, KEY_LEFT_BRACKET = 2059, KEY_RIGHT_BRACKET = 2060, KEY_BACKSLASH = 2061,
KEY_SEMICOLON = 2062, KEY_APOSTROPHE = 2063, KEY_SLASH = 2064, KEY_AT = 2065,
KEY_PLUS = 2066, KEY_MENU = 2067, KEY_PAGE_UP = 2068, KEY_PAGE_DOWN = 2069,
KEY_ESCAPE = 2070, KEY_FORWARD_DEL = 2071, KEY_CTRL_LEFT = 2072, KEY_CTRL_RIGHT = 2073,
KEY_CAPS_LOCK = 2074, KEY_SCROLL_LOCK = 2075, KEY_META_LEFT = 2076, KEY_META_RIGHT = 2077,
KEY_FUNCTION = 2078, KEY_SYSRQ = 2079, KEY_BREAK = 2080, KEY_MOVE_HOME = 2081,
KEY_MOVE_END = 2082, KEY_INSERT = 2083, KEY_FORWARD = 2084, KEY_MEDIA_PLAY = 2085,
KEY_MEDIA_PAUSE = 2086, KEY_MEDIA_CLOSE = 2087, KEY_MEDIA_EJECT = 2088, KEY_MEDIA_RECORD = 2089,
KEY_F1 = 2090, KEY_F2 = 2091, KEY_F3 = 2092, KEY_F4 = 2093,
KEY_F5 = 2094, KEY_F6 = 2095, KEY_F7 = 2096, KEY_F8 = 2097,
KEY_F9 = 2098, KEY_F10 = 2099, KEY_F11 = 2100, KEY_F12 = 2101,
KEY_NUM_LOCK = 2102, KEY_NUMPAD_0 = 2103, KEY_NUMPAD_1 = 2104, KEY_NUMPAD_2 = 2105,
KEY_NUMPAD_3 = 2106, KEY_NUMPAD_4 = 2107, KEY_NUMPAD_5 = 2108, KEY_NUMPAD_6 = 2109,
KEY_NUMPAD_7 = 2110, KEY_NUMPAD_8 = 2111, KEY_NUMPAD_9 = 2112, KEY_NUMPAD_DIVIDE = 2113,
KEY_NUMPAD_MULTIPLY = 2114, KEY_NUMPAD_SUBTRACT = 2115, KEY_NUMPAD_ADD = 2116, KEY_NUMPAD_DOT = 2117,
KEY_NUMPAD_COMMA = 2118, KEY_NUMPAD_ENTER = 2119, KEY_NUMPAD_EQUALS = 2120, KEY_NUMPAD_LEFT_PAREN = 2121,
KEY_NUMPAD_RIGHT_PAREN = 2122, KEY_VIRTUAL_MULTITASK = 2210, KEY_SLEEP = 2600, KEY_ZENKAKU_HANKAKU = 2601,
KEY_102ND = 2602, KEY_RO = 2603, KEY_KATAKANA = 2604, KEY_HIRAGANA = 2605,
KEY_HENKAN = 2606, KEY_KATAKANA_HIRAGANA = 2607, KEY_MUHENKAN = 2608, KEY_LINEFEED = 2609,
KEY_MACRO = 2610, KEY_NUMPAD_PLUSMINUS = 2611, KEY_SCALE = 2612, KEY_HANGUEL = 2613,
KEY_HANJA = 2614, KEY_YEN = 2615, KEY_STOP = 2616, KEY_AGAIN = 2617,
KEY_PROPS = 2618, KEY_UNDO = 2619, KEY_COPY = 2620, KEY_OPEN = 2621,
KEY_PASTE = 2622, KEY_FIND = 2623, KEY_CUT = 2624, KEY_HELP = 2625,
KEY_CALC = 2626, KEY_FILE = 2627, KEY_BOOKMARKS = 2628, KEY_NEXT = 2629,
KEY_PLAYPAUSE = 2630, KEY_PREVIOUS = 2631, KEY_STOPCD = 2632, KEY_CONFIG = 2634,
KEY_REFRESH = 2635, KEY_EXIT = 2636, KEY_EDIT = 2637, KEY_SCROLLUP = 2638,
KEY_SCROLLDOWN = 2639, KEY_NEW = 2640, KEY_REDO = 2641, KEY_CLOSE = 2642,
KEY_PLAY = 2643, KEY_BASSBOOST = 2644, KEY_PRINT = 2645, KEY_CHAT = 2646,
KEY_FINANCE = 2647, KEY_CANCEL = 2648, KEY_KBDILLUM_TOGGLE = 2649, KEY_KBDILLUM_DOWN = 2650,
KEY_KBDILLUM_UP = 2651, KEY_SEND = 2652, KEY_REPLY = 2653, KEY_FORWARDMAIL = 2654,
KEY_SAVE = 2655, KEY_DOCUMENTS = 2656, KEY_VIDEO_NEXT = 2657, KEY_VIDEO_PREV = 2658,
KEY_BRIGHTNESS_CYCLE = 2659, KEY_BRIGHTNESS_ZERO = 2660, KEY_DISPLAY_OFF = 2661, KEY_BTN_MISC = 2662,
KEY_GOTO = 2663, KEY_INFO = 2664, KEY_PROGRAM = 2665, KEY_PVR = 2666,
KEY_SUBTITLE = 2667, KEY_FULL_SCREEN = 2668, KEY_KEYBOARD = 2669, KEY_ASPECT_RATIO = 2670,
KEY_PC = 2671, KEY_TV = 2672, KEY_TV2 = 2673, KEY_VCR = 2674,
KEY_VCR2 = 2675, KEY_SAT = 2676, KEY_CD = 2677, KEY_TAPE = 2678,
KEY_TUNER = 2679, KEY_PLAYER = 2680, KEY_DVD = 2681, KEY_AUDIO = 2682,
KEY_VIDEO = 2683, KEY_MEMO = 2684, KEY_CALENDAR = 2685, KEY_RED = 2686,
KEY_GREEN = 2687, KEY_YELLOW = 2688, KEY_BLUE = 2689, KEY_CHANNELUP = 2690,
KEY_CHANNELDOWN = 2691, KEY_LAST = 2692, KEY_RESTART = 2693, KEY_SLOW = 2694,
KEY_SHUFFLE = 2695, KEY_VIDEOPHONE = 2696, KEY_GAMES = 2697, KEY_ZOOMIN = 2698,
KEY_ZOOMOUT = 2699, KEY_ZOOMRESET = 2700, KEY_WORDPROCESSOR = 2701, KEY_EDITOR = 2702,
KEY_SPREADSHEET = 2703, KEY_GRAPHICSEDITOR = 2704, KEY_PRESENTATION = 2705, KEY_DATABASE = 2706,
KEY_NEWS = 2707, KEY_VOICEMAIL = 2708, KEY_ADDRESSBOOK = 2709, KEY_MESSENGER = 2710,
KEY_BRIGHTNESS_TOGGLE = 2711, KEY_SPELLCHECK = 2712, KEY_COFFEE = 2713, KEY_MEDIA_REPEAT = 2714,
KEY_IMAGES = 2715, KEY_BUTTONCONFIG = 2716, KEY_TASKMANAGER = 2717, KEY_JOURNAL = 2718,
KEY_CONTROLPANEL = 2719, KEY_APPSELECT = 2720, KEY_SCREENSAVER = 2721, KEY_ASSISTANT = 2722,
KEY_KBD_LAYOUT_NEXT = 2723, KEY_BRIGHTNESS_MIN = 2724, KEY_BRIGHTNESS_MAX = 2725, KEY_KBDINPUTASSIST_PREV = 2726,
KEY_KBDINPUTASSIST_NEXT = 2727, KEY_KBDINPUTASSIST_PREVGROUP = 2728, KEY_KBDINPUTASSIST_NEXTGROUP = 2729, KEY_KBDINPUTASSIST_ACCEPT = 2730,
KEY_KBDINPUTASSIST_CANCEL = 2731, KEY_FRONT = 2800, KEY_SETUP = 2801, KEY_WAKEUP = 2802,
KEY_SENDFILE = 2803, KEY_DELETEFILE = 2804, KEY_XFER = 2805, KEY_PROG1 = 2806,
KEY_PROG2 = 2807, KEY_MSDOS = 2808, KEY_SCREENLOCK = 2809, KEY_DIRECTION_ROTATE_DISPLAY = 2810,
KEY_CYCLEWINDOWS = 2811, KEY_COMPUTER = 2812, KEY_EJECTCLOSECD = 2813, KEY_ISO = 2814,
KEY_MOVE = 2815, KEY_F13 = 2816, KEY_F14 = 2817, KEY_F15 = 2818,
KEY_F16 = 2819, KEY_F17 = 2820, KEY_F18 = 2821, KEY_F19 = 2822,
KEY_F20 = 2823, KEY_F21 = 2824, KEY_F22 = 2825, KEY_F23 = 2826,
KEY_F24 = 2827, KEY_PROG3 = 2828, KEY_PROG4 = 2829, KEY_DASHBOARD = 2830,
KEY_SUSPEND = 2831, KEY_HP = 2832, KEY_SOUND = 2833, KEY_QUESTION = 2834,
KEY_CONNECT = 2836, KEY_SPORT = 2837, KEY_SHOP = 2838, KEY_ALTERASE = 2839,
KEY_SWITCHVIDEOMODE = 2841, KEY_BATTERY = 2842, KEY_BLUETOOTH = 2843, KEY_WLAN = 2844,
KEY_UWB = 2845, KEY_WWAN_WIMAX = 2846, KEY_RFKILL = 2847, KEY_CHANNEL = 3001,
KEY_BTN_0 = 3100, KEY_BTN_1 = 3101, KEY_BTN_2 = 3102, KEY_BTN_3 = 3103,
KEY_BTN_4 = 3104, KEY_BTN_5 = 3105, KEY_BTN_6 = 3106, KEY_BTN_7 = 3107,
KEY_BTN_8 = 3108, KEY_BTN_9 = 3109
}
按键事件的键码。
OH_NativeXComponent_KeyAction { OH_NATIVEXCOMPONENT_KEY_ACTION_UNKNOWN = -1, OH_NATIVEXCOMPONENT_KEY_ACTION_DOWN = 0, OH_NATIVEXCOMPONENT_KEY_ACTION_UP } 按键事件动作。

函数

名称 描述
OH_NativeXComponent_GetXComponentId (OH_NativeXComponent *component, char *id, uint64_t *size) 获取ArkUI XComponent的id。
OH_NativeXComponent_GetXComponentSize (OH_NativeXComponent *component, const void *window, uint64_t *width, uint64_t *height) 获取ArkUI XComponent持有的surface的大小。
OH_NativeXComponent_GetXComponentOffset (OH_NativeXComponent *component, const void *window, double *x, double *y) 获取ArkUI XComponent组件相对屏幕左上顶点的偏移量。
OH_NativeXComponent_GetTouchEvent (OH_NativeXComponent *component, const void *window, OH_NativeXComponent_TouchEvent *touchEvent) 获取ArkUI XComponent调度的触摸事件。
OH_NativeXComponent_GetTouchPointToolType (OH_NativeXComponent *component, uint32_t pointIndex, OH_NativeXComponent_TouchPointToolType *toolType) 获取ArkUI XComponent触摸点工具类型。
OH_NativeXComponent_GetTouchPointTiltX (OH_NativeXComponent *component, uint32_t pointIndex, float *tiltX) 获取ArkUI XComponent触摸点倾斜与X轴角度。
OH_NativeXComponent_GetTouchPointTiltY (OH_NativeXComponent *component, uint32_t pointIndex, float *tiltY) 获取ArkUI XComponent触摸点倾斜与Y轴角度。
OH_NativeXComponent_GetMouseEvent (OH_NativeXComponent *component, const void *window, OH_NativeXComponent_MouseEvent *mouseEvent) 获取ArkUI XComponent调度的鼠标事件。
OH_NativeXComponent_RegisterCallback (OH_NativeXComponent *component, OH_NativeXComponent_Callback *callback) 为此OH_NativeXComponent实例注册回调。
OH_NativeXComponent_RegisterMouseEventCallback (OH_NativeXComponent *component, OH_NativeXComponent_MouseEvent_Callback *callback) 为此OH_NativeXComponent实例注册鼠标事件回调。
OH_NativeXComponent_RegisterFocusEventCallback (OH_NativeXComponent *component, void(*callback)(OH_NativeXComponent *component, void *window)) 为此OH_NativeXComponent实例注册获焦事件回调。
OH_NativeXComponent_RegisterKeyEventCallback (OH_NativeXComponent *component, void(*callback)(OH_NativeXComponent *component, void *window)) 为此OH_NativeXComponent实例注册按键事件回调。
OH_NativeXComponent_RegisterBlurEventCallback (OH_NativeXComponent *component, void(*callback)(OH_NativeXComponent *component, void *window)) 为此OH_NativeXComponent实例注册失焦事件回调。
OH_NativeXComponent_GetKeyEvent (OH_NativeXComponent *component, OH_NativeXComponent_KeyEvent **keyEvent) 获取ArkUI XComponent调度的按键事件。
OH_NativeXComponent_GetKeyEventAction (OH_NativeXComponent_KeyEvent *keyEvent, OH_NativeXComponent_KeyAction *action) 获取传入按键事件的动作。
OH_NativeXComponent_GetKeyEventCode (OH_NativeXComponent_KeyEvent *keyEvent, OH_NativeXComponent_KeyCode *code) 获取传入按键事件的按键码。
OH_NativeXComponent_GetKeyEventSourceType (OH_NativeXComponent_KeyEvent *keyEvent, OH_NativeXComponent_EventSourceType *sourceType) 获取传入按键事件的事件源类型。
OH_NativeXComponent_GetKeyEventDeviceId (OH_NativeXComponent_KeyEvent *keyEvent, int64_t *deviceId) 获取传入按键事件的设备id。
OH_NativeXComponent_GetKeyEventTimeStamp (OH_NativeXComponent_KeyEvent *keyEvent, int64_t *timeStamp) 获取传入按键事件的时间戳。

变量

名称 描述
OH_XCOMPONENT_ID_LEN_MAX = 128 ArkUI XComponent的id最大长度。
OH_MAX_TOUCH_POINTS_NUMBER = 10 触摸事件中的可识别的触摸点个数最大值。
OH_NativeXComponent_TouchPoint::id = 0 手指的唯一标识符。
OH_NativeXComponent_TouchPoint::screenX = 0.0 触摸点相对于XComponent所在应用窗口左上角的x坐标。
OH_NativeXComponent_TouchPoint::screenY = 0.0 触摸点相对于XComponent所在应用窗口左上角的y坐标。
OH_NativeXComponent_TouchPoint::x = 0.0 触摸点相对于XComponent组件左边缘的x坐标。
OH_NativeXComponent_TouchPoint::y = 0.0 触摸点相对于XComponent组件上边缘的y坐标。
OH_NativeXComponent_TouchPoint::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN 触摸事件的触摸类型。
OH_NativeXComponent_TouchPoint::size = 0.0 指垫和屏幕之间的接触面积。
OH_NativeXComponent_TouchPoint::force = 0.0 当前触摸事件的压力。
OH_NativeXComponent_TouchPoint::timeStamp = 0 当前触摸事件的时间戳。
OH_NativeXComponent_TouchPoint::isPressed = false 当前点是否被按下。
OH_NativeXComponent_TouchEvent::id = 0 手指的唯一标识符。
OH_NativeXComponent_TouchEvent::screenX = 0.0 触摸点相对于屏幕左边缘的x坐标。
OH_NativeXComponent_TouchEvent::screenY = 0.0 触摸点相对于屏幕上边缘的y坐标。
OH_NativeXComponent_TouchEvent::x = 0.0 触摸点相对于XComponent组件左边缘的x坐标。
OH_NativeXComponent_TouchEvent::y = 0.0 触摸点相对于XComponent组件上边缘的y坐标。
OH_NativeXComponent_TouchEvent::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN 触摸事件的触摸类型。
OH_NativeXComponent_TouchEvent::size = 0.0 指垫和屏幕之间的接触面积。
OH_NativeXComponent_TouchEvent::force = 0.0 当前触摸事件的压力。
OH_NativeXComponent_TouchEvent::deviceId = 0 产生当前触摸事件的设备的ID。
OH_NativeXComponent_TouchEvent::timeStamp = 0 当前触摸事件的时间戳。
OH_NativeXComponent_TouchEvent::touchPoints [OH_MAX_TOUCH_POINTS_NUMBER] 当前触摸点的数组。
OH_NativeXComponent_TouchEvent::numPoints = 0 当前接触点的数量。
OH_NativeXComponent_MouseEvent::x = 0.0 点击触点相对于当前组件左上角的x轴坐标。
OH_NativeXComponent_MouseEvent::y= 0.0 点击触点相对于当前组件左上角的y轴坐标。
OH_NativeXComponent_MouseEvent::screenX= 0.0 点击触点相对于屏幕左上角的x轴坐标。
OH_NativeXComponent_MouseEvent::screenY= 0.0 点击触点相对于屏幕左上角的y轴坐标。
OH_NativeXComponent_MouseEvent::timestamp= 0 当前鼠标事件的时间戳。
OH_NativeXComponent_MouseEvent::actionOH_NativeXComponent_MouseEventAction::OH_NATIVEXCOMPONENT_MOUSE_NONE 当前鼠标事件动作。
OH_NativeXComponent_MouseEvent::buttonOH_NativeXComponent_MouseEventButton::OH_NATIVEXCOMPONENT_NONE_BUTTON 鼠标事件按键。
OH_NativeXComponent_Callback::OnSurfaceCreated 创建surface时调用。
OH_NativeXComponent_Callback::OnSurfaceChanged 当surface改变时调用。
OH_NativeXComponent_Callback::OnSurfaceDestroyed 当surface被销毁时调用。
OH_NativeXComponent_Callback::DispatchTouchEvent 当触摸事件被触发时调用。
OH_NativeXComponent_MouseEvent_Callback::DispatchMouseEvent 当鼠标事件被触发时调用。
OH_NativeXComponent_MouseEvent_Callback::DispatchHoverEvent 当悬停事件被触发时调用。

类型定义说明

OH_NativeXComponent

typedef struct OH_NativeXComponent OH_NativeXComponent

描述:

提供封装的OH_NativeXComponent实例。

起始版本:

8

OH_NativeXComponent_Callback

typedef struct OH_NativeXComponent_Callback OH_NativeXComponent_Callback

描述:

注册surface生命周期和触摸事件回调。

起始版本:

8

OH_NativeXComponent_KeyEvent

typedef struct OH_NativeXComponent_KeyEvent OH_NativeXComponent_KeyEvent

描述:

提供封装的OH_NativeXComponent_KeyEvent实例。

起始版本:

10

OH_NativeXComponent_MouseEvent_Callback

typedef struct OH_NativeXComponent_MouseEvent_Callback OH_NativeXComponent_MouseEvent_Callback

描述:

注册鼠标事件的回调。

起始版本:

9

枚举类型说明

anonymous enum

anonymous enum

描述:

枚举API访问状态。

枚举值 描述
OH_NATIVEXCOMPONENT_RESULT_SUCCESS 成功结果。
OH_NATIVEXCOMPONENT_RESULT_FAILED 失败结果。
OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER 无效参数。

起始版本:

8

OH_NativeXComponent_EventSourceType

enum OH_NativeXComponent_EventSourceType

描述:

触摸事件源类型。

枚举值 描述
OH_NATIVEXCOMPONENT_SOURCE_TYPE_UNKNOWN 未知的输入源类型。
OH_NATIVEXCOMPONENT_SOURCE_TYPE_MOUSE 表示输入源生成鼠标多点触摸事件。
OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHSCREEN 表示输入源生成一个触摸屏多点触摸事件。
OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHPAD 表示输入源生成一个触摸板多点触摸事件。
OH_NATIVEXCOMPONENT_SOURCE_TYPE_JOYSTICK 表示输入源生成一个操纵杆多点触摸事件。
OH_NATIVEXCOMPONENT_SOURCE_TYPE_KEYBOARD10+ 表示输入源生成一个键盘事件。

起始版本:

9

OH_NativeXComponent_KeyAction

enum OH_NativeXComponent_KeyAction

描述:

按键事件动作。

枚举值 描述
OH_NATIVEXCOMPONENT_KEY_ACTION_UNKNOWN 未知的按键动作。
OH_NATIVEXCOMPONENT_KEY_ACTION_DOWN 按键按下动作。
OH_NATIVEXCOMPONENT_KEY_ACTION_UP 按键抬起动作。

起始版本:

10

OH_NativeXComponent_KeyCode

enum OH_NativeXComponent_KeyCode

描述:

按键事件的键码。

枚举值 描述
KEY_UNKNOWN 未知按键
KEY_FN 功能(Fn)键
KEY_HOME 功能(Home)键
KEY_BACK 返回键
KEY_MEDIA_PLAY_PAUSE 多媒体键 播放/暂停
KEY_MEDIA_STOP 多媒体键 停止
KEY_MEDIA_NEXT 多媒体键 下一首
KEY_MEDIA_PREVIOUS 多媒体键 上一首
KEY_MEDIA_REWIND 多媒体键 快退
KEY_MEDIA_FAST_FORWARD 多媒体键 快进
KEY_VOLUME_UP 音量增加键
KEY_VOLUME_DOWN 音量减小键
KEY_POWER 电源键
KEY_CAMERA 拍照键
KEY_VOLUME_MUTE 扬声器静音键
KEY_MUTE 话筒静音键
KEY_BRIGHTNESS_UP 亮度调节按键 调亮
KEY_BRIGHTNESS_DOWN 亮度调节按键 调暗
KEY_0 按键'0'
KEY_1 按键'1'
KEY_2 按键'2'
KEY_3 按键'3'
KEY_4 按键'4'
KEY_5 按键'5'
KEY_6 按键'6'
KEY_7 按键'7'
KEY_8 按键'8'
KEY_9 按键'9'
KEY_STAR 按键'*'
KEY_POUND 按键'#'
KEY_DPAD_UP 导航键 向上
KEY_DPAD_DOWN 导航键 向下
KEY_DPAD_LEFT 导航键 向左
KEY_DPAD_RIGHT 导航键 向右
KEY_DPAD_CENTER 导航键 确定键
KEY_A 按键'A'
KEY_B 按键'B'
KEY_C 按键'C'
KEY_D 按键'D'
KEY_E 按键'E'
KEY_F 按键'F'
KEY_G 按键'G'
KEY_H 按键'H'
KEY_I 按键'I'
KEY_J 按键'J'
KEY_K 按键'K'
KEY_L 按键'L'
KEY_M 按键'M'
KEY_N 按键'N'
KEY_O 按键'O'
KEY_P 按键'P'
KEY_Q 按键'Q'
KEY_R 按键'R'
KEY_S 按键'S'
KEY_T 按键'T'
KEY_U 按键'U'
KEY_V 按键'V'
KEY_W 按键'W'
KEY_X 按键'X'
KEY_Y 按键'Y'
KEY_Z 按键'Z'
KEY_COMMA 按键','
KEY_PERIOD 按键'.'
KEY_ALT_LEFT 左Alt键
KEY_ALT_RIGHT 右Alt键
KEY_SHIFT_LEFT 左Shift键
KEY_SHIFT_RIGHT 右Shift键
KEY_TAB Tab键
KEY_SPACE 空格键
KEY_SYM 符号修改器按键
KEY_EXPLORER 浏览器功能键,此键用于启动浏览器应用程序。
KEY_ENVELOPE 电子邮件功能键,此键用于启动电子邮件应用程序。
KEY_ENTER 回车键
KEY_DEL 退格键
KEY_GRAVE 按键'‘’
KEY_MINUS 按键'-'
KEY_EQUALS 按键'='
KEY_LEFT_BRACKET 按键'['
KEY_RIGHT_BRACKET 按键']'
KEY_BACKSLASH 按键''
KEY_SEMICOLON 按键';'
KEY_APOSTROPHE 按键''' (单引号)
KEY_SLASH 按键'/'
KEY_AT 按键'@'
KEY_PLUS 按键'+'
KEY_MENU 菜单键
KEY_PAGE_UP 向上翻页键
KEY_PAGE_DOWN 向下翻页键
KEY_ESCAPE ESC键
KEY_FORWARD_DEL 删除键
KEY_CTRL_LEFT 左Ctrl键
KEY_CTRL_RIGHT 右Ctrl键
KEY_CAPS_LOCK 大写锁定键
KEY_SCROLL_LOCK 滚动锁定键
KEY_META_LEFT 左元修改器键
KEY_META_RIGHT 右元修改器键
KEY_FUNCTION 功能键
KEY_SYSRQ 系统请求/打印屏幕键
KEY_BREAK Break/Pause键
KEY_MOVE_HOME 光标移动到开始键
KEY_MOVE_END 光标移动到末尾键
KEY_INSERT 插入键
KEY_FORWARD 前进键
KEY_MEDIA_PLAY 多媒体键 播放
KEY_MEDIA_PAUSE 多媒体键 暂停
KEY_MEDIA_CLOSE 多媒体键 关闭
KEY_MEDIA_EJECT 多媒体键 弹出
KEY_MEDIA_RECORD 多媒体键 录音
KEY_F1 按键'F1'
KEY_F2 按键'F2'
KEY_F3 按键'F3'
KEY_F4 按键'F4'
KEY_F5 按键'F5'
KEY_F6 按键'F6'
KEY_F7 按键'F7'
KEY_F8 按键'F8'
KEY_F9 按键'F9'
KEY_F10 按键'F10'
KEY_F11 按键'F11'
KEY_F12 按键'F12'
KEY_NUM_LOCK 小键盘锁
KEY_NUMPAD_0 小键盘按键'0'
KEY_NUMPAD_1 小键盘按键'1'
KEY_NUMPAD_2 小键盘按键'2'
KEY_NUMPAD_3 小键盘按键'3'
KEY_NUMPAD_4 小键盘按键'4'
KEY_NUMPAD_5 小键盘按键'5'
KEY_NUMPAD_6 小键盘按键'6'
KEY_NUMPAD_7 小键盘按键'7'
KEY_NUMPAD_8 小键盘按键'8'
KEY_NUMPAD_9 小键盘按键'9'
KEY_NUMPAD_DIVIDE 小键盘按键'/'
KEY_NUMPAD_MULTIPLY 小键盘按键'*'
KEY_NUMPAD_SUBTRACT 小键盘按键'-'
KEY_NUMPAD_ADD 小键盘按键'+'
KEY_NUMPAD_DOT 小键盘按键'.'
KEY_NUMPAD_COMMA 小键盘按键','
KEY_NUMPAD_ENTER 小键盘按键回车
KEY_NUMPAD_EQUALS 小键盘按键'='
KEY_NUMPAD_LEFT_PAREN 小键盘按键'('
KEY_NUMPAD_RIGHT_PAREN 小键盘按键')'
KEY_VIRTUAL_MULTITASK 虚拟多任务键
KEY_SLEEP 睡眠键
KEY_ZENKAKU_HANKAKU 日文全宽/半宽键
KEY_102ND 102nd按键
KEY_RO 日文Ro键
KEY_KATAKANA 日文片假名键
KEY_HIRAGANA 日文平假名键
KEY_HENKAN 日文转换键
KEY_KATAKANA_HIRAGANA 日语片假名/平假名键
KEY_MUHENKAN 日文非转换键
KEY_LINEFEED 换行键
KEY_MACRO 宏键
KEY_NUMPAD_PLUSMINUS 数字键盘上的加号/减号键
KEY_SCALE 扩展键
KEY_HANGUEL 日文韩语键
KEY_HANJA 日文汉语键
KEY_YEN 日元键
KEY_STOP 停止键
KEY_AGAIN 重复键
KEY_PROPS 道具键
KEY_UNDO 撤消键
KEY_COPY 复制键
KEY_OPEN 打开键
KEY_PASTE 粘贴键
KEY_FIND 查找键
KEY_CUT 剪切键
KEY_HELP 帮助键
KEY_CALC 计算器特殊功能键,用于启动计算器应用程序
KEY_FILE 文件按键
KEY_BOOKMARKS 书签键
KEY_NEXT 下一个按键
KEY_PLAYPAUSE 播放/暂停键
KEY_PREVIOUS 上一个按键
KEY_STOPCD CD停止键
KEY_CONFIG 配置键
KEY_REFRESH 刷新键
KEY_EXIT 退出键
KEY_EDIT 编辑键
KEY_SCROLLUP 向上滚动键
KEY_SCROLLDOWN 向下滚动键
KEY_NEW 新建键
KEY_REDO 恢复键
KEY_CLOSE 关闭键
KEY_PLAY 播放键
KEY_BASSBOOST 低音增强键
KEY_PRINT 打印键
KEY_CHAT 聊天键
KEY_FINANCE 金融键
KEY_CANCEL 取消键
KEY_KBDILLUM_TOGGLE 键盘灯光切换键
KEY_KBDILLUM_DOWN 键盘灯光调亮键
KEY_KBDILLUM_UP 键盘灯光调暗键
KEY_SEND 发送键
KEY_REPLY 答复键
KEY_FORWARDMAIL 邮件转发键
KEY_SAVE 保存键
KEY_DOCUMENTS 文件键
KEY_VIDEO_NEXT 下一个视频键
KEY_VIDEO_PREV 上一个视频键
KEY_BRIGHTNESS_CYCLE 背光渐变键
KEY_BRIGHTNESS_ZERO 亮度调节为0键
KEY_DISPLAY_OFF 显示关闭键
KEY_BTN_MISC 游戏手柄上的各种按键
KEY_GOTO 进入键
KEY_INFO 信息查看键
KEY_PROGRAM 程序键
KEY_PVR 个人录像机(PVR)键
KEY_SUBTITLE 字幕键
KEY_FULL_SCREEN 全屏键
KEY_KEYBOARD 键盘
KEY_ASPECT_RATIO 屏幕纵横比调节键
KEY_PC 端口控制键
KEY_TV TV键
KEY_TV2 TV键2
KEY_VCR 录像机开启键
KEY_VCR2 录像机开启键2
KEY_SAT SIM卡应用工具包(SAT)键
KEY_CD CD键
KEY_TAPE 磁带键
KEY_TUNER 调谐器键
KEY_PLAYER 播放器键
KEY_DVD DVD键
KEY_AUDIO 音频键
KEY_VIDEO 视频键
KEY_MEMO 备忘录键
KEY_CALENDAR 日历键
KEY_RED 红色指示器
KEY_GREEN 绿色指示器
KEY_YELLOW 黄色指示器
KEY_BLUE 蓝色指示器
KEY_CHANNELUP 频道向上键
KEY_CHANNELDOWN 频道向下键
KEY_LAST 末尾键
KEY_RESTART 重启键
KEY_SLOW 慢速键
KEY_SHUFFLE 随机播放键
KEY_VIDEOPHONE 可视电话键
KEY_GAMES 游戏键
KEY_ZOOMIN 放大键
KEY_ZOOMOUT 缩小键
KEY_ZOOMRESET 缩放重置键
KEY_WORDPROCESSOR 文字处理键
KEY_EDITOR 编辑器键
KEY_SPREADSHEET 电子表格键
KEY_GRAPHICSEDITOR 图形编辑器键
KEY_PRESENTATION 演示文稿键
KEY_DATABASE 数据库键标
KEY_NEWS 新闻键
KEY_VOICEMAIL 语音信箱
KEY_ADDRESSBOOK 通讯簿
KEY_MESSENGER 通信键
KEY_BRIGHTNESS_TOGGLE 亮度切换键
KEY_SPELLCHECK AL拼写检查
KEY_COFFEE 终端锁/屏幕保护程序
KEY_MEDIA_REPEAT 媒体循环键
KEY_IMAGES 图像键
KEY_BUTTONCONFIG 按键配置键
KEY_TASKMANAGER 任务管理器
KEY_JOURNAL 日志按键
KEY_CONTROLPANEL 控制面板键
KEY_APPSELECT 应用程序选择键
KEY_SCREENSAVER 屏幕保护程序键
KEY_ASSISTANT 辅助键
KEY_KBD_LAYOUT_NEXT 下一个键盘布局键
KEY_BRIGHTNESS_MIN 最小亮度键
KEY_BRIGHTNESS_MAX 最大亮度键
KEY_KBDINPUTASSIST_PREV 键盘输入Assist_Previous
KEY_KBDINPUTASSIST_NEXT 键盘输入Assist_Next
KEY_KBDINPUTASSIST_PREVGROUP 键盘输入Assist_Previous
KEY_KBDINPUTASSIST_NEXTGROUP 键盘输入Assist_Next
KEY_KBDINPUTASSIST_ACCEPT 键盘输入Assist_Accept
KEY_KBDINPUTASSIST_CANCEL 键盘输入Assist_Cancel
KEY_FRONT 挡风玻璃除雾器开关
KEY_SETUP 设置键
KEY_WAKEUP 唤醒键
KEY_SENDFILE 发送文件按键
KEY_DELETEFILE 删除文件按键
KEY_XFER 文件传输(XFER)按键
KEY_PROG1 程序键1
KEY_PROG2 程序键2
KEY_MSDOS MS-DOS键(微软磁盘操作系统
KEY_SCREENLOCK 屏幕锁定键
KEY_DIRECTION_ROTATE_DISPLAY 方向旋转显示键
KEY_CYCLEWINDOWS Windows循环键
KEY_COMPUTER 按键
KEY_EJECTCLOSECD 弹出CD键
KEY_ISO ISO键
KEY_MOVE 移动键
KEY_F13 按键'F13'
KEY_F14 按键'F14'
KEY_F15 按键'F15'
KEY_F16 按键'F16'
KEY_F17 按键'F17'
KEY_F18 按键'F18'
KEY_F19 按键'F19'
KEY_F20 按键'F20'
KEY_F21 按键'F21'
KEY_F22 按键'F22'
KEY_F23 按键'F23'
KEY_F24 按键'F24'
KEY_PROG3 程序键3
KEY_PROG4 程序键4
KEY_DASHBOARD 仪表板
KEY_SUSPEND 挂起键
KEY_HP 高阶路径键
KEY_SOUND 音量键
KEY_QUESTION 疑问按键
KEY_CONNECT 连接键
KEY_SPORT 运动按键
KEY_SHOP 商城键
KEY_ALTERASE 交替键
KEY_SWITCHVIDEOMODE 在可用视频之间循环输出(监视器/LCD/TV输出/等)
KEY_BATTERY 电池按键
KEY_BLUETOOTH 蓝牙按键
KEY_WLAN 无线局域网
KEY_UWB 超宽带(UWB)
KEY_WWAN_WIMAX WWAN WiMAX按键
KEY_RFKILL 控制所有收音机的键
KEY_CHANNEL 向上频道键
KEY_BTN_0 按键0
KEY_BTN_1 按键1
KEY_BTN_2 按键2
KEY_BTN_3 按键3
KEY_BTN_4 按键4
KEY_BTN_5 按键5
KEY_BTN_6 按键6
KEY_BTN_7 按键7
KEY_BTN_8 按键8
KEY_BTN_9 按键9

起始版本:

10

OH_NativeXComponent_MouseEventAction

enum OH_NativeXComponent_MouseEventAction

描述:

鼠标事件动作。

枚举值 描述
OH_NATIVEXCOMPONENT_MOUSE_NONE 无效鼠标事件 。
OH_NATIVEXCOMPONENT_MOUSE_PRESS 鼠标按键按下时触发鼠标事件。
OH_NATIVEXCOMPONENT_MOUSE_RELEASE 鼠标按键松开时触发鼠标事件。
OH_NATIVEXCOMPONENT_MOUSE_MOVE 鼠标在屏幕上移动时触发鼠标事件。

起始版本:

9

OH_NativeXComponent_MouseEventButton

enum OH_NativeXComponent_MouseEventButton

描述:

鼠标事件按键。

枚举值 描述
OH_NATIVEXCOMPONENT_NONE_BUTTON 鼠标无按键操作时触发鼠标事件。
OH_NATIVEXCOMPONENT_LEFT_BUTTON 按下鼠标左键时触发鼠标事件。
OH_NATIVEXCOMPONENT_RIGHT_BUTTON 按下鼠标右键时触发鼠标事件。
OH_NATIVEXCOMPONENT_MIDDLE_BUTTON 按下鼠标中键时触发鼠标事件。
OH_NATIVEXCOMPONENT_BACK_BUTTON 按下鼠标左侧后退键时触发鼠标事件。
OH_NATIVEXCOMPONENT_FORWARD_BUTTON 按下鼠标左侧前进键时触发鼠标事件。

起始版本:

9

OH_NativeXComponent_TouchEventType

enum OH_NativeXComponent_TouchEventType

描述:

触摸事件类型。

枚举值 描述
OH_NATIVEXCOMPONENT_DOWN 手指按下时触发触摸事件。
OH_NATIVEXCOMPONENT_UP 手指抬起时触发触摸事件。
OH_NATIVEXCOMPONENT_MOVE 手指按下状态下在屏幕上移动时触发触摸事件。
OH_NATIVEXCOMPONENT_CANCEL 触摸事件取消时触发事件。
OH_NATIVEXCOMPONENT_UNKNOWN 无效的触摸类型。

起始版本:

8

OH_NativeXComponent_TouchPointToolType

enum OH_NativeXComponent_TouchPointToolType

描述:

触摸点工具类型

枚举值 描述
OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN 未识别工具类型。
OH_NATIVEXCOMPONENT_TOOL_TYPE_FINGER 表示用手指。
OH_NATIVEXCOMPONENT_TOOL_TYPE_PEN 表示用触笔。
OH_NATIVEXCOMPONENT_TOOL_TYPE_RUBBER 表示用橡皮擦。
OH_NATIVEXCOMPONENT_TOOL_TYPE_BRUSH 表示用画笔。
OH_NATIVEXCOMPONENT_TOOL_TYPE_PENCIL 表示用铅笔。
OH_NATIVEXCOMPONENT_TOOL_TYPE_AIRBRUSH 表示用气笔。
OH_NATIVEXCOMPONENT_TOOL_TYPE_MOUSE 表示用鼠标。
OH_NATIVEXCOMPONENT_TOOL_TYPE_LENS 表示用晶状体。

起始版本:

9

函数说明

OH_NativeXComponent_GetKeyEvent()

int32_t OH_NativeXComponent_GetKeyEvent (OH_NativeXComponent * component, OH_NativeXComponent_KeyEvent ** keyEvent )

描述:

获取ArkUI XComponent调度的按键事件。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
keyEvent 表示指向当前按键事件指针的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetKeyEventAction()

int32_t OH_NativeXComponent_GetKeyEventAction (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_KeyAction * action )

描述:

获取传入按键事件的动作。

参数:

名称 描述
keyEvent 表示指向OH_NativeXComponent_KeyEvent实例的指针。
action 表示指向按键事件动作的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetKeyEventCode()

int32_t OH_NativeXComponent_GetKeyEventCode (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_KeyCode * code )

描述:

获取传入按键事件的按键码。

参数:

名称 描述
keyEvent 表示指向OH_NativeXComponent_KeyEvent实例的指针。
code 表示指向按键事件按键码的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetKeyEventDeviceId()

int32_t OH_NativeXComponent_GetKeyEventDeviceId (OH_NativeXComponent_KeyEvent * keyEvent, int64_t * deviceId )

描述:

获取传入按键事件的设备id。

参数:

名称 描述
keyEvent 表示指向OH_NativeXComponent_KeyEvent实例的指针。
deviceId 表示指向按键事件设备id的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetKeyEventSourceType()

int32_t OH_NativeXComponent_GetKeyEventSourceType (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_EventSourceType * sourceType )

描述:

获取传入按键事件的事件源类型。

参数:

名称 描述
keyEvent 表示指向OH_NativeXComponent_KeyEvent实例的指针。
sourceType 表示指向按键事件事件源类型的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetKeyEventTimeStamp()

int32_t OH_NativeXComponent_GetKeyEventTimeStamp (OH_NativeXComponent_KeyEvent * keyEvent, int64_t * timeStamp )

描述:

获取传入按键事件的时间戳。

参数:

名称 描述
keyEvent 表示指向OH_NativeXComponent_KeyEvent实例的指针。
timeStamp 表示指向按键事件时间戳的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_GetMouseEvent()

int32_t OH_NativeXComponent_GetMouseEvent (OH_NativeXComponent * component, const void * window, OH_NativeXComponent_MouseEvent * mouseEvent )

描述:

获取ArkUI XComponent调度的鼠标事件

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
window 表示NativeWindow句柄
mouseEvent 指示指向当前鼠标事件的指针。

返回:

返回执行的状态代码。

起始版本:

9

OH_NativeXComponent_GetTouchEvent()

int32_t OH_NativeXComponent_GetTouchEvent (OH_NativeXComponent * component, const void * window, OH_NativeXComponent_TouchEvent * touchEvent )

描述:

获取ArkUI XComponent调度的触摸事件。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
window 表示NativeWindow句柄。
touchEvent 指示指向当前触摸事件的指针。

返回:

返回执行的状态代码。

起始版本:

8

OH_NativeXComponent_GetTouchPointTiltX()

int32_t OH_NativeXComponent_GetTouchPointTiltX (OH_NativeXComponent * component, uint32_t pointIndex, float * tiltX )

描述:

获取ArkUI XComponent触摸点倾斜与X轴角度。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
pointIndex 表示触摸点的指针索引。
tiltX 表示指向X倾斜度的指针。

返回:

返回执行的状态代码。

起始版本:

9

OH_NativeXComponent_GetTouchPointTiltY()

int32_t OH_NativeXComponent_GetTouchPointTiltY (OH_NativeXComponent * component, uint32_t pointIndex, float * tiltY )

描述:

获取ArkUI XComponent触摸点倾斜与Y轴角度。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
pointIndex 表示触摸点的指针索引。
tiltY 表示指向Y倾斜度的指针。

返回:

返回执行的状态代码。

起始版本:

9

OH_NativeXComponent_GetTouchPointToolType()

int32_t OH_NativeXComponent_GetTouchPointToolType (OH_NativeXComponent * component, uint32_t pointIndex, OH_NativeXComponent_TouchPointToolType * toolType )

描述:

获取ArkUI XComponent触摸点工具类型。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
pointIndex 表示触摸点的指针索引。
toolType 表示指向工具类型的指针。

返回:

返回执行的状态代码。

起始版本:

9

OH_NativeXComponent_GetXComponentId()

int32_t OH_NativeXComponent_GetXComponentId (OH_NativeXComponent * component, char * id, uint64_t * size )

描述:

获取ArkUI XComponent的id。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
id 指示用于保存此OH_NativeXComponent实例的ID的字符缓冲区。 请注意,空终止符将附加到字符缓冲区,因此字符缓冲区的大小应至少比真实id长度大一个单位。 建议字符缓冲区的大小为[OH_XCOMPONENT_ID_LEN_MAX + 1]。
size 指示指向id长度的指针,用于接收id的长度信息。

返回:

返回执行的状态代码。

起始版本:

8

OH_NativeXComponent_GetXComponentOffset()

int32_t OH_NativeXComponent_GetXComponentOffset (OH_NativeXComponent * component, const void * window, double * x, double * y )

描述:

获取ArkUI XComponent组件相对屏幕左上顶点的偏移量。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
window 表示NativeWindow句柄。
x 指示指向当前surface的x坐标的指针。
y 指示指向当前surface的y坐标的指针。

返回:

返回执行的状态代码。

起始版本:

8

OH_NativeXComponent_GetXComponentSize()

int32_t OH_NativeXComponent_GetXComponentSize (OH_NativeXComponent * component, const void * window, uint64_t * width, uint64_t * height )

描述:

获取ArkUI XComponent持有的surface的大小。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
window 表示NativeWindow句柄。
width 指示指向当前surface宽度的指针。
height 指示指向当前surface高度的指针。

返回:

返回执行的状态代码。

起始版本:

8

OH_NativeXComponent_RegisterBlurEventCallback()

int32_t OH_NativeXComponent_RegisterBlurEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))

描述:

为此OH_NativeXComponent实例注册失焦事件回调。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
callback 指示指向失焦事件回调的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_RegisterCallback()

int32_t OH_NativeXComponent_RegisterCallback (OH_NativeXComponent * component, OH_NativeXComponent_Callback * callback )

描述:

为此OH_NativeXComponent实例注册回调。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
callback 指示指向surface生命周期和触摸事件回调的指针。

返回:

返回执行的状态代码。

起始版本:

8

OH_NativeXComponent_RegisterFocusEventCallback()

int32_t OH_NativeXComponent_RegisterFocusEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))

描述:

为此OH_NativeXComponent实例注册获焦事件回调。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
callback 指示指向获焦事件回调的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_RegisterKeyEventCallback()

int32_t OH_NativeXComponent_RegisterKeyEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))

描述:

为此OH_NativeXComponent实例注册按键事件回调。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
callback 指示指向按键事件回调的指针。

返回:

返回执行的状态代码。

起始版本:

10

OH_NativeXComponent_RegisterMouseEventCallback()

int32_t OH_NativeXComponent_RegisterMouseEventCallback (OH_NativeXComponent * component, OH_NativeXComponent_MouseEvent_Callback * callback )

描述:

为此OH_NativeXComponent实例注册鼠标事件回调。

参数:

名称 描述
component 表示指向OH_NativeXComponent实例的指针。
callback 指示指向鼠标事件回调的指针。

返回:

返回执行的状态代码。

起始版本:

9

变量说明

OH_XCOMPONENT_ID_LEN_MAX

const uint32_t OH_XCOMPONENT_ID_LEN_MAX = 128

描述:

ArkUI XComponent的id最大长度。

起始版本:

8

OH_MAX_TOUCH_POINTS_NUMBER

const uint32_t OH_MAX_TOUCH_POINTS_NUMBER = 10

描述:

触摸事件中的可识别的触摸点个数最大值。

起始版本:

8

action

OH_NativeXComponent_MouseEventAction OH_NativeXComponent_MouseEvent::action

描述:

当前鼠标事件动作。

起始版本:

8

button

OH_NativeXComponent_MouseEventButton OH_NativeXComponent_MouseEvent::button

描述:

鼠标事件按键。

起始版本:

8

deviceId

int64_t OH_NativeXComponent_TouchEvent::deviceId = 0

描述:

产生当前触摸事件的设备的ID。

起始版本:

8

DispatchHoverEvent

void(* OH_NativeXComponent_MouseEvent_Callback::DispatchHoverEvent) (OH_NativeXComponent *component, bool isHover)

描述:

当悬停事件被触发时调用。

起始版本:

8

DispatchMouseEvent

void(* OH_NativeXComponent_MouseEvent_Callback::DispatchMouseEvent) (OH_NativeXComponent *component, void *window)

描述:

当鼠标事件被触发时调用。

起始版本:

8

DispatchTouchEvent

void(* OH_NativeXComponent_Callback::DispatchTouchEvent) (OH_NativeXComponent *component, void *window)

描述:

当触摸事件被触发时调用。

起始版本:

8

force [1/2]

float OH_NativeXComponent_TouchPoint::force = 0.0

描述:

当前触摸事件的压力。

起始版本:

8

force [2/2]

float OH_NativeXComponent_TouchEvent::force = 0.0

描述:

当前触摸事件的压力。

起始版本:

8

id [1/2]

int32_t OH_NativeXComponent_TouchPoint::id = 0

描述:

手指的唯一标识符。

起始版本:

8

id [2/2]

int32_t OH_NativeXComponent_TouchEvent::id = 0

描述:

手指的唯一标识符。

起始版本:

8

isPressed

bool OH_NativeXComponent_TouchPoint::isPressed = false

描述:

当前点是否被按下。

起始版本:

8

numPoints

uint32_t OH_NativeXComponent_TouchEvent::numPoints = 0

描述:

当前接触点的数量。

起始版本:

8

OnSurfaceChanged

void(* OH_NativeXComponent_Callback::OnSurfaceChanged) (OH_NativeXComponent *component, void *window)

描述:

当surface改变时调用。

起始版本:

8

OnSurfaceCreated

void(* OH_NativeXComponent_Callback::OnSurfaceCreated) (OH_NativeXComponent *component, void *window)

描述:

创建surface时调用。

起始版本:

8

OnSurfaceDestroyed

void(* OH_NativeXComponent_Callback::OnSurfaceDestroyed) (OH_NativeXComponent *component, void *window)

描述:

当surface被销毁时调用。

起始版本:

8

screenX [1/3]

float OH_NativeXComponent_TouchPoint::screenX = 0.0

描述:

触摸点相对于XComponent所在应用窗口左上角的x坐标。

起始版本:

8

screenX [2/3]

float OH_NativeXComponent_TouchEvent::screenX = 0.0

描述:

触摸点相对于屏幕左边缘的x坐标。

起始版本:

8

screenX [3/3]

float OH_NativeXComponent_MouseEvent::screenX

描述:

点击触点相对于屏幕左上角的x轴坐标。

起始版本:

8

screenY [1/3]

float OH_NativeXComponent_TouchPoint::screenY = 0.0

描述:

触摸点相对于XComponent所在应用窗口左上角的y坐标。

起始版本:

8

screenY [2/3]

float OH_NativeXComponent_TouchEvent::screenY = 0.0

描述:

触摸点相对于屏幕上边缘的y坐标。

起始版本:

8

screenY [3/3]

float OH_NativeXComponent_MouseEvent::screenY

描述:

点击触点相对于屏幕左上角的y轴坐标。

起始版本:

8

size [1/2]

double OH_NativeXComponent_TouchPoint::size = 0.0

描述:

指垫和屏幕之间的接触面积。

起始版本:

8

size [2/2]

double OH_NativeXComponent_TouchEvent::size = 0.0

描述:

指垫和屏幕之间的接触面积。

起始版本:

8

timeStamp [1/2]

long long OH_NativeXComponent_TouchPoint::timeStamp = 0

描述:

当前触摸事件的时间戳。

起始版本:

8

timeStamp [2/2]

long long OH_NativeXComponent_TouchEvent::timeStamp = 0

描述:

当前触摸事件的时间戳。

起始版本:

8

timestamp

int64_t OH_NativeXComponent_MouseEvent::timestamp

描述:

当前鼠标事件的时间戳。

起始版本:

8

touchPoints

OH_NativeXComponent_TouchPoint OH_NativeXComponent_TouchEvent::touchPoints[OH_MAX_TOUCH_POINTS_NUMBER]

描述:

当前触摸点的数组。

起始版本:

8

type [1/2]

OH_NativeXComponent_TouchEventType OH_NativeXComponent_TouchPoint::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN

描述:

触摸事件的触摸类型。

起始版本:

8

type [2/2]

OH_NativeXComponent_TouchEventType OH_NativeXComponent_TouchEvent::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN

描述:

触摸事件的触摸类型。

起始版本:

8

x [1/3]

float OH_NativeXComponent_TouchPoint::x = 0.0

描述:

触摸点相对于XComponent组件左边缘的x坐标。

起始版本:

8

x [2/3]

float OH_NativeXComponent_TouchEvent::x = 0.0

描述:

触摸点相对于XComponent组件左边缘的x坐标。

起始版本:

8

x [3/3]

float OH_NativeXComponent_MouseEvent::x

描述:

点击触点相对于当前组件左上角的x轴坐标。

起始版本:

8

y [1/3]

float OH_NativeXComponent_TouchPoint::y = 0.0

描述:

触摸点相对于XComponent组件上边缘的y坐标。

起始版本:

8

y [2/3]

float OH_NativeXComponent_TouchEvent::y = 0.0

描述:

触摸点相对于XComponent组件上边缘的y坐标。

起始版本:

8

y [3/3]

float OH_NativeXComponent_MouseEvent::y

描述:

点击触点相对于当前组件左上角的y轴坐标。

起始版本:

8