xcomponent_sys/
xcomponent_ffi.rs

1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6#[cfg(feature = "api-13")]
7use ohos_sys_opaque_types::ArkUI_AccessibilityProvider;
8#[cfg(feature = "api-19")]
9use ohos_sys_opaque_types::{ArkUI_NodeHandle, OHNativeWindow};
10
11pub const OH_NATIVE_XCOMPONENT_OBJ: &::core::ffi::CStr = c"__NATIVE_XCOMPONENT_OBJ__";
12pub const OH_NATIVE_XCOMPONENT_MAX_TOUCH_POINTS_NUMBER: u32 = 10;
13impl OH_NativeXComponent_KeyCode {
14    pub const KEY_UNKNOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(-1);
15    pub const KEY_FN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(0);
16    pub const KEY_HOME: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(1);
17    pub const KEY_BACK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2);
18    pub const KEY_MEDIA_PLAY_PAUSE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(10);
19    pub const KEY_MEDIA_STOP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(11);
20    pub const KEY_MEDIA_NEXT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(12);
21    pub const KEY_MEDIA_PREVIOUS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(13);
22    pub const KEY_MEDIA_REWIND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(14);
23    pub const KEY_MEDIA_FAST_FORWARD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(15);
24    pub const KEY_VOLUME_UP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(16);
25    pub const KEY_VOLUME_DOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(17);
26    pub const KEY_POWER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(18);
27    pub const KEY_CAMERA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(19);
28    pub const KEY_VOLUME_MUTE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(22);
29    pub const KEY_MUTE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(23);
30    pub const KEY_BRIGHTNESS_UP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(40);
31    pub const KEY_BRIGHTNESS_DOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(41);
32    pub const KEY_0: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2000);
33    pub const KEY_1: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2001);
34    pub const KEY_2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2002);
35    pub const KEY_3: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2003);
36    pub const KEY_4: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2004);
37    pub const KEY_5: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2005);
38    pub const KEY_6: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2006);
39    pub const KEY_7: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2007);
40    pub const KEY_8: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2008);
41    pub const KEY_9: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2009);
42    pub const KEY_STAR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2010);
43    pub const KEY_POUND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2011);
44    pub const KEY_DPAD_UP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2012);
45    pub const KEY_DPAD_DOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2013);
46    pub const KEY_DPAD_LEFT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2014);
47    pub const KEY_DPAD_RIGHT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2015);
48    pub const KEY_DPAD_CENTER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2016);
49    pub const KEY_A: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2017);
50    pub const KEY_B: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2018);
51    pub const KEY_C: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2019);
52    pub const KEY_D: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2020);
53    pub const KEY_E: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2021);
54    pub const KEY_F: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2022);
55    pub const KEY_G: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2023);
56    pub const KEY_H: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2024);
57    pub const KEY_I: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2025);
58    pub const KEY_J: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2026);
59    pub const KEY_K: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2027);
60    pub const KEY_L: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2028);
61    pub const KEY_M: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2029);
62    pub const KEY_N: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2030);
63    pub const KEY_O: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2031);
64    pub const KEY_P: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2032);
65    pub const KEY_Q: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2033);
66    pub const KEY_R: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2034);
67    pub const KEY_S: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2035);
68    pub const KEY_T: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2036);
69    pub const KEY_U: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2037);
70    pub const KEY_V: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2038);
71    pub const KEY_W: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2039);
72    pub const KEY_X: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2040);
73    pub const KEY_Y: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2041);
74    pub const KEY_Z: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2042);
75    pub const KEY_COMMA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2043);
76    pub const KEY_PERIOD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2044);
77    pub const KEY_ALT_LEFT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2045);
78    pub const KEY_ALT_RIGHT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2046);
79    pub const KEY_SHIFT_LEFT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2047);
80    pub const KEY_SHIFT_RIGHT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2048);
81    pub const KEY_TAB: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2049);
82    pub const KEY_SPACE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2050);
83    pub const KEY_SYM: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2051);
84    pub const KEY_EXPLORER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2052);
85    pub const KEY_ENVELOPE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2053);
86    pub const KEY_ENTER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2054);
87    pub const KEY_DEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2055);
88    pub const KEY_GRAVE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2056);
89    pub const KEY_MINUS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2057);
90    pub const KEY_EQUALS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2058);
91    pub const KEY_LEFT_BRACKET: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2059);
92    pub const KEY_RIGHT_BRACKET: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2060);
93    pub const KEY_BACKSLASH: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2061);
94    pub const KEY_SEMICOLON: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2062);
95    pub const KEY_APOSTROPHE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2063);
96    pub const KEY_SLASH: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2064);
97    pub const KEY_AT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2065);
98    pub const KEY_PLUS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2066);
99    pub const KEY_MENU: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2067);
100    pub const KEY_PAGE_UP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2068);
101    pub const KEY_PAGE_DOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2069);
102    pub const KEY_ESCAPE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2070);
103    pub const KEY_FORWARD_DEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2071);
104    pub const KEY_CTRL_LEFT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2072);
105    pub const KEY_CTRL_RIGHT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2073);
106    pub const KEY_CAPS_LOCK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2074);
107    pub const KEY_SCROLL_LOCK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2075);
108    pub const KEY_META_LEFT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2076);
109    pub const KEY_META_RIGHT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2077);
110    pub const KEY_FUNCTION: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2078);
111    pub const KEY_SYSRQ: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2079);
112    pub const KEY_BREAK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2080);
113    pub const KEY_MOVE_HOME: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2081);
114    pub const KEY_MOVE_END: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2082);
115    pub const KEY_INSERT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2083);
116    pub const KEY_FORWARD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2084);
117    pub const KEY_MEDIA_PLAY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2085);
118    pub const KEY_MEDIA_PAUSE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2086);
119    pub const KEY_MEDIA_CLOSE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2087);
120    pub const KEY_MEDIA_EJECT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2088);
121    pub const KEY_MEDIA_RECORD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2089);
122    pub const KEY_F1: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2090);
123    pub const KEY_F2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2091);
124    pub const KEY_F3: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2092);
125    pub const KEY_F4: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2093);
126    pub const KEY_F5: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2094);
127    pub const KEY_F6: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2095);
128    pub const KEY_F7: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2096);
129    pub const KEY_F8: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2097);
130    pub const KEY_F9: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2098);
131    pub const KEY_F10: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2099);
132    pub const KEY_F11: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2100);
133    pub const KEY_F12: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2101);
134    pub const KEY_NUM_LOCK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2102);
135    pub const KEY_NUMPAD_0: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2103);
136    pub const KEY_NUMPAD_1: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2104);
137    pub const KEY_NUMPAD_2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2105);
138    pub const KEY_NUMPAD_3: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2106);
139    pub const KEY_NUMPAD_4: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2107);
140    pub const KEY_NUMPAD_5: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2108);
141    pub const KEY_NUMPAD_6: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2109);
142    pub const KEY_NUMPAD_7: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2110);
143    pub const KEY_NUMPAD_8: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2111);
144    pub const KEY_NUMPAD_9: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2112);
145    pub const KEY_NUMPAD_DIVIDE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2113);
146    pub const KEY_NUMPAD_MULTIPLY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2114);
147    pub const KEY_NUMPAD_SUBTRACT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2115);
148    pub const KEY_NUMPAD_ADD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2116);
149    pub const KEY_NUMPAD_DOT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2117);
150    pub const KEY_NUMPAD_COMMA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2118);
151    pub const KEY_NUMPAD_ENTER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2119);
152    pub const KEY_NUMPAD_EQUALS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2120);
153    pub const KEY_NUMPAD_LEFT_PAREN: OH_NativeXComponent_KeyCode =
154        OH_NativeXComponent_KeyCode(2121);
155    pub const KEY_NUMPAD_RIGHT_PAREN: OH_NativeXComponent_KeyCode =
156        OH_NativeXComponent_KeyCode(2122);
157    pub const KEY_VIRTUAL_MULTITASK: OH_NativeXComponent_KeyCode =
158        OH_NativeXComponent_KeyCode(2210);
159    pub const KEY_SLEEP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2600);
160    pub const KEY_ZENKAKU_HANKAKU: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2601);
161    pub const KEY_102ND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2602);
162    pub const KEY_RO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2603);
163    pub const KEY_KATAKANA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2604);
164    pub const KEY_HIRAGANA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2605);
165    pub const KEY_HENKAN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2606);
166    pub const KEY_KATAKANA_HIRAGANA: OH_NativeXComponent_KeyCode =
167        OH_NativeXComponent_KeyCode(2607);
168    pub const KEY_MUHENKAN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2608);
169    pub const KEY_LINEFEED: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2609);
170    pub const KEY_MACRO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2610);
171    pub const KEY_NUMPAD_PLUSMINUS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2611);
172    pub const KEY_SCALE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2612);
173    pub const KEY_HANGUEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2613);
174    pub const KEY_HANJA: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2614);
175    pub const KEY_YEN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2615);
176    pub const KEY_STOP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2616);
177    pub const KEY_AGAIN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2617);
178    pub const KEY_PROPS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2618);
179    pub const KEY_UNDO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2619);
180    pub const KEY_COPY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2620);
181    pub const KEY_OPEN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2621);
182    pub const KEY_PASTE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2622);
183    pub const KEY_FIND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2623);
184    pub const KEY_CUT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2624);
185    pub const KEY_HELP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2625);
186    pub const KEY_CALC: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2626);
187    pub const KEY_FILE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2627);
188    pub const KEY_BOOKMARKS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2628);
189    pub const KEY_NEXT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2629);
190    pub const KEY_PLAYPAUSE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2630);
191    pub const KEY_PREVIOUS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2631);
192    pub const KEY_STOPCD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2632);
193    pub const KEY_CONFIG: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2634);
194    pub const KEY_REFRESH: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2635);
195    pub const KEY_EXIT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2636);
196    pub const KEY_EDIT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2637);
197    pub const KEY_SCROLLUP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2638);
198    pub const KEY_SCROLLDOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2639);
199    pub const KEY_NEW: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2640);
200    pub const KEY_REDO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2641);
201    pub const KEY_CLOSE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2642);
202    pub const KEY_PLAY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2643);
203    pub const KEY_BASSBOOST: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2644);
204    pub const KEY_PRINT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2645);
205    pub const KEY_CHAT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2646);
206    pub const KEY_FINANCE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2647);
207    pub const KEY_CANCEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2648);
208    pub const KEY_KBDILLUM_TOGGLE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2649);
209    pub const KEY_KBDILLUM_DOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2650);
210    pub const KEY_KBDILLUM_UP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2651);
211    pub const KEY_SEND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2652);
212    pub const KEY_REPLY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2653);
213    pub const KEY_FORWARDMAIL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2654);
214    pub const KEY_SAVE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2655);
215    pub const KEY_DOCUMENTS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2656);
216    pub const KEY_VIDEO_NEXT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2657);
217    pub const KEY_VIDEO_PREV: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2658);
218    pub const KEY_BRIGHTNESS_CYCLE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2659);
219    pub const KEY_BRIGHTNESS_ZERO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2660);
220    pub const KEY_DISPLAY_OFF: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2661);
221    pub const KEY_BTN_MISC: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2662);
222    pub const KEY_GOTO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2663);
223    pub const KEY_INFO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2664);
224    pub const KEY_PROGRAM: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2665);
225    pub const KEY_PVR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2666);
226    pub const KEY_SUBTITLE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2667);
227    pub const KEY_FULL_SCREEN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2668);
228    pub const KEY_KEYBOARD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2669);
229    pub const KEY_ASPECT_RATIO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2670);
230    pub const KEY_PC: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2671);
231    pub const KEY_TV: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2672);
232    pub const KEY_TV2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2673);
233    pub const KEY_VCR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2674);
234    pub const KEY_VCR2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2675);
235    pub const KEY_SAT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2676);
236    pub const KEY_CD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2677);
237    pub const KEY_TAPE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2678);
238    pub const KEY_TUNER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2679);
239    pub const KEY_PLAYER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2680);
240    pub const KEY_DVD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2681);
241    pub const KEY_AUDIO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2682);
242    pub const KEY_VIDEO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2683);
243    pub const KEY_MEMO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2684);
244    pub const KEY_CALENDAR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2685);
245    pub const KEY_RED: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2686);
246    pub const KEY_GREEN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2687);
247    pub const KEY_YELLOW: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2688);
248    pub const KEY_BLUE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2689);
249    pub const KEY_CHANNELUP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2690);
250    pub const KEY_CHANNELDOWN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2691);
251    pub const KEY_LAST: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2692);
252    pub const KEY_RESTART: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2693);
253    pub const KEY_SLOW: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2694);
254    pub const KEY_SHUFFLE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2695);
255    pub const KEY_VIDEOPHONE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2696);
256    pub const KEY_GAMES: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2697);
257    pub const KEY_ZOOMIN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2698);
258    pub const KEY_ZOOMOUT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2699);
259    pub const KEY_ZOOMRESET: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2700);
260    pub const KEY_WORDPROCESSOR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2701);
261    pub const KEY_EDITOR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2702);
262    pub const KEY_SPREADSHEET: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2703);
263    pub const KEY_GRAPHICSEDITOR: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2704);
264    pub const KEY_PRESENTATION: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2705);
265    pub const KEY_DATABASE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2706);
266    pub const KEY_NEWS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2707);
267    pub const KEY_VOICEMAIL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2708);
268    pub const KEY_ADDRESSBOOK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2709);
269    pub const KEY_MESSENGER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2710);
270    pub const KEY_BRIGHTNESS_TOGGLE: OH_NativeXComponent_KeyCode =
271        OH_NativeXComponent_KeyCode(2711);
272    pub const KEY_SPELLCHECK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2712);
273    pub const KEY_COFFEE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2713);
274    pub const KEY_MEDIA_REPEAT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2714);
275    pub const KEY_IMAGES: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2715);
276    pub const KEY_BUTTONCONFIG: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2716);
277    pub const KEY_TASKMANAGER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2717);
278    pub const KEY_JOURNAL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2718);
279    pub const KEY_CONTROLPANEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2719);
280    pub const KEY_APPSELECT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2720);
281    pub const KEY_SCREENSAVER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2721);
282    pub const KEY_ASSISTANT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2722);
283    pub const KEY_KBD_LAYOUT_NEXT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2723);
284    pub const KEY_BRIGHTNESS_MIN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2724);
285    pub const KEY_BRIGHTNESS_MAX: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2725);
286    pub const KEY_KBDINPUTASSIST_PREV: OH_NativeXComponent_KeyCode =
287        OH_NativeXComponent_KeyCode(2726);
288    pub const KEY_KBDINPUTASSIST_NEXT: OH_NativeXComponent_KeyCode =
289        OH_NativeXComponent_KeyCode(2727);
290    pub const KEY_KBDINPUTASSIST_PREVGROUP: OH_NativeXComponent_KeyCode =
291        OH_NativeXComponent_KeyCode(2728);
292    pub const KEY_KBDINPUTASSIST_NEXTGROUP: OH_NativeXComponent_KeyCode =
293        OH_NativeXComponent_KeyCode(2729);
294    pub const KEY_KBDINPUTASSIST_ACCEPT: OH_NativeXComponent_KeyCode =
295        OH_NativeXComponent_KeyCode(2730);
296    pub const KEY_KBDINPUTASSIST_CANCEL: OH_NativeXComponent_KeyCode =
297        OH_NativeXComponent_KeyCode(2731);
298    pub const KEY_FRONT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2800);
299    pub const KEY_SETUP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2801);
300    pub const KEY_WAKEUP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2802);
301    pub const KEY_SENDFILE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2803);
302    pub const KEY_DELETEFILE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2804);
303    pub const KEY_XFER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2805);
304    pub const KEY_PROG1: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2806);
305    pub const KEY_PROG2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2807);
306    pub const KEY_MSDOS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2808);
307    pub const KEY_SCREENLOCK: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2809);
308    pub const KEY_DIRECTION_ROTATE_DISPLAY: OH_NativeXComponent_KeyCode =
309        OH_NativeXComponent_KeyCode(2810);
310    pub const KEY_CYCLEWINDOWS: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2811);
311    pub const KEY_COMPUTER: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2812);
312    pub const KEY_EJECTCLOSECD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2813);
313    pub const KEY_ISO: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2814);
314    pub const KEY_MOVE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2815);
315    pub const KEY_F13: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2816);
316    pub const KEY_F14: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2817);
317    pub const KEY_F15: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2818);
318    pub const KEY_F16: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2819);
319    pub const KEY_F17: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2820);
320    pub const KEY_F18: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2821);
321    pub const KEY_F19: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2822);
322    pub const KEY_F20: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2823);
323    pub const KEY_F21: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2824);
324    pub const KEY_F22: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2825);
325    pub const KEY_F23: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2826);
326    pub const KEY_F24: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2827);
327    pub const KEY_PROG3: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2828);
328    pub const KEY_PROG4: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2829);
329    pub const KEY_DASHBOARD: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2830);
330    pub const KEY_SUSPEND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2831);
331    pub const KEY_HP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2832);
332    pub const KEY_SOUND: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2833);
333    pub const KEY_QUESTION: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2834);
334    pub const KEY_CONNECT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2836);
335    pub const KEY_SPORT: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2837);
336    pub const KEY_SHOP: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2838);
337    pub const KEY_ALTERASE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2839);
338    pub const KEY_SWITCHVIDEOMODE: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2841);
339    pub const KEY_BATTERY: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2842);
340    pub const KEY_BLUETOOTH: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2843);
341    pub const KEY_WLAN: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2844);
342    pub const KEY_UWB: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2845);
343    pub const KEY_WWAN_WIMAX: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2846);
344    pub const KEY_RFKILL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(2847);
345    pub const KEY_CHANNEL: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3001);
346    pub const KEY_BTN_0: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3100);
347    pub const KEY_BTN_1: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3101);
348    pub const KEY_BTN_2: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3102);
349    pub const KEY_BTN_3: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3103);
350    pub const KEY_BTN_4: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3104);
351    pub const KEY_BTN_5: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3105);
352    pub const KEY_BTN_6: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3106);
353    pub const KEY_BTN_7: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3107);
354    pub const KEY_BTN_8: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3108);
355    pub const KEY_BTN_9: OH_NativeXComponent_KeyCode = OH_NativeXComponent_KeyCode(3109);
356}
357#[repr(transparent)]
358/// Represents the key event code.
359///
360///
361/// Available since API-level: 10
362///
363/// Version: 1.0
364#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
365pub struct OH_NativeXComponent_KeyCode(pub ::core::ffi::c_int);
366impl OH_NativeXComponent_KeyAction {
367    pub const OH_NATIVEXCOMPONENT_KEY_ACTION_UNKNOWN: OH_NativeXComponent_KeyAction =
368        OH_NativeXComponent_KeyAction(-1);
369    pub const OH_NATIVEXCOMPONENT_KEY_ACTION_DOWN: OH_NativeXComponent_KeyAction =
370        OH_NativeXComponent_KeyAction(0);
371    pub const OH_NATIVEXCOMPONENT_KEY_ACTION_UP: OH_NativeXComponent_KeyAction =
372        OH_NativeXComponent_KeyAction(1);
373}
374#[repr(transparent)]
375/// Represents the key event action.
376///
377///
378/// Available since API-level: 10
379///
380/// Version: 1.0
381#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
382pub struct OH_NativeXComponent_KeyAction(pub ::core::ffi::c_int);
383pub const OH_XCOMPONENT_ID_LEN_MAX: u32 = 128;
384pub const OH_MAX_TOUCH_POINTS_NUMBER: u32 = 10;
385impl OH_NativeXComponent_TouchEventType {
386    /// Trigger a touch event when a finger is pressed.
387    pub const OH_NATIVEXCOMPONENT_DOWN: OH_NativeXComponent_TouchEventType =
388        OH_NativeXComponent_TouchEventType(0);
389    /// Trigger a touch event when a finger is lifted.
390    pub const OH_NATIVEXCOMPONENT_UP: OH_NativeXComponent_TouchEventType =
391        OH_NativeXComponent_TouchEventType(1);
392    /// Trigger a touch event when a finger moves on the screen in pressed state.
393    pub const OH_NATIVEXCOMPONENT_MOVE: OH_NativeXComponent_TouchEventType =
394        OH_NativeXComponent_TouchEventType(2);
395    /// Trigger an event when a touch event is canceled.
396    pub const OH_NATIVEXCOMPONENT_CANCEL: OH_NativeXComponent_TouchEventType =
397        OH_NativeXComponent_TouchEventType(3);
398    /// Invalid touch type.
399    pub const OH_NATIVEXCOMPONENT_UNKNOWN: OH_NativeXComponent_TouchEventType =
400        OH_NativeXComponent_TouchEventType(4);
401}
402#[repr(transparent)]
403/// Represents the type of touch event.
404///
405///
406/// Available since API-level: 8
407///
408/// Version: 1.0
409#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
410pub struct OH_NativeXComponent_TouchEventType(pub ::core::ffi::c_uint);
411impl OH_NativeXComponent_TouchPointToolType {
412    /// Indicates invalid tool type.
413    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN: OH_NativeXComponent_TouchPointToolType =
414        OH_NativeXComponent_TouchPointToolType(0);
415    /// Indicates a finger.
416    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_FINGER: OH_NativeXComponent_TouchPointToolType =
417        OH_NativeXComponent_TouchPointToolType(1);
418    /// Indicates a stylus.
419    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_PEN: OH_NativeXComponent_TouchPointToolType =
420        OH_NativeXComponent_TouchPointToolType(2);
421    /// Indicates a eraser.
422    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_RUBBER: OH_NativeXComponent_TouchPointToolType =
423        OH_NativeXComponent_TouchPointToolType(3);
424    /// Indicates a brush.
425    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_BRUSH: OH_NativeXComponent_TouchPointToolType =
426        OH_NativeXComponent_TouchPointToolType(4);
427    /// Indicates a pencil.
428    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_PENCIL: OH_NativeXComponent_TouchPointToolType =
429        OH_NativeXComponent_TouchPointToolType(5);
430    /// Indicates a brush.
431    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_AIRBRUSH: OH_NativeXComponent_TouchPointToolType =
432        OH_NativeXComponent_TouchPointToolType(6);
433    /// Indicates a mouse.
434    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_MOUSE: OH_NativeXComponent_TouchPointToolType =
435        OH_NativeXComponent_TouchPointToolType(7);
436    /// Indicates a lens.
437    pub const OH_NATIVEXCOMPONENT_TOOL_TYPE_LENS: OH_NativeXComponent_TouchPointToolType =
438        OH_NativeXComponent_TouchPointToolType(8);
439}
440#[repr(transparent)]
441/// Represents the touch point tool type.
442///
443///
444/// Available since API-level: 9
445///
446/// Version: 1.0
447#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
448pub struct OH_NativeXComponent_TouchPointToolType(pub ::core::ffi::c_uint);
449impl OH_NativeXComponent_EventSourceType {
450    /// Indicates an unknown input source type.
451    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_UNKNOWN: OH_NativeXComponent_EventSourceType =
452        OH_NativeXComponent_EventSourceType(0);
453    /// Indicates that the input source generates a mouse multi-touch event.
454    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_MOUSE: OH_NativeXComponent_EventSourceType =
455        OH_NativeXComponent_EventSourceType(1);
456    /// Indicates that the input source generates a touchscreen multi-touch event.
457    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHSCREEN: OH_NativeXComponent_EventSourceType =
458        OH_NativeXComponent_EventSourceType(2);
459    /// Indicates that the input source generates a touchpad multi-touch event.
460    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHPAD: OH_NativeXComponent_EventSourceType =
461        OH_NativeXComponent_EventSourceType(3);
462    /// Indicates that the input source generates a joystick multi-touch event.
463    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_JOYSTICK: OH_NativeXComponent_EventSourceType =
464        OH_NativeXComponent_EventSourceType(4);
465    /// Indicates that the input source generates a keyboard event.
466    ///
467    ///
468    /// Available since API-level: 10
469    ///
470    /// Version: 1.0
471    pub const OH_NATIVEXCOMPONENT_SOURCE_TYPE_KEYBOARD: OH_NativeXComponent_EventSourceType =
472        OH_NativeXComponent_EventSourceType(5);
473}
474#[repr(transparent)]
475/// Represents the touch event source type.
476///
477///
478/// Available since API-level: 9
479///
480/// Version: 1.0
481#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
482pub struct OH_NativeXComponent_EventSourceType(pub ::core::ffi::c_uint);
483impl OH_NativeXComponent_MouseEventAction {
484    pub const OH_NATIVEXCOMPONENT_MOUSE_NONE: OH_NativeXComponent_MouseEventAction =
485        OH_NativeXComponent_MouseEventAction(0);
486    pub const OH_NATIVEXCOMPONENT_MOUSE_PRESS: OH_NativeXComponent_MouseEventAction =
487        OH_NativeXComponent_MouseEventAction(1);
488    pub const OH_NATIVEXCOMPONENT_MOUSE_RELEASE: OH_NativeXComponent_MouseEventAction =
489        OH_NativeXComponent_MouseEventAction(2);
490    pub const OH_NATIVEXCOMPONENT_MOUSE_MOVE: OH_NativeXComponent_MouseEventAction =
491        OH_NativeXComponent_MouseEventAction(3);
492    /// Triggered when the mouse event is canceled.
493    ///
494    /// Available since API-level: 18
495    #[cfg(feature = "api-18")]
496    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
497    pub const OH_NATIVEXCOMPONENT_MOUSE_CANCEL: OH_NativeXComponent_MouseEventAction =
498        OH_NativeXComponent_MouseEventAction(4);
499}
500#[repr(transparent)]
501/// Represents the mouse event action.
502///
503///
504/// Available since API-level: 9
505///
506/// Version: 1.0
507#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
508pub struct OH_NativeXComponent_MouseEventAction(pub ::core::ffi::c_uint);
509impl OH_NativeXComponent_MouseEventButton {
510    pub const OH_NATIVEXCOMPONENT_NONE_BUTTON: OH_NativeXComponent_MouseEventButton =
511        OH_NativeXComponent_MouseEventButton(0);
512    pub const OH_NATIVEXCOMPONENT_LEFT_BUTTON: OH_NativeXComponent_MouseEventButton =
513        OH_NativeXComponent_MouseEventButton(1);
514    pub const OH_NATIVEXCOMPONENT_RIGHT_BUTTON: OH_NativeXComponent_MouseEventButton =
515        OH_NativeXComponent_MouseEventButton(2);
516    pub const OH_NATIVEXCOMPONENT_MIDDLE_BUTTON: OH_NativeXComponent_MouseEventButton =
517        OH_NativeXComponent_MouseEventButton(4);
518    pub const OH_NATIVEXCOMPONENT_BACK_BUTTON: OH_NativeXComponent_MouseEventButton =
519        OH_NativeXComponent_MouseEventButton(8);
520    pub const OH_NATIVEXCOMPONENT_FORWARD_BUTTON: OH_NativeXComponent_MouseEventButton =
521        OH_NativeXComponent_MouseEventButton(16);
522}
523#[repr(transparent)]
524/// Represents the mouse event button.
525///
526///
527/// Available since API-level: 9
528///
529/// Version: 1.0
530#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
531pub struct OH_NativeXComponent_MouseEventButton(pub ::core::ffi::c_uint);
532impl OH_NativeXComponent_TouchEvent_SourceTool {
533    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_UNKNOWN: OH_NativeXComponent_TouchEvent_SourceTool =
534        OH_NativeXComponent_TouchEvent_SourceTool(0);
535    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_FINGER: OH_NativeXComponent_TouchEvent_SourceTool =
536        OH_NativeXComponent_TouchEvent_SourceTool(1);
537    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_PEN: OH_NativeXComponent_TouchEvent_SourceTool =
538        OH_NativeXComponent_TouchEvent_SourceTool(2);
539    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_RUBBER: OH_NativeXComponent_TouchEvent_SourceTool =
540        OH_NativeXComponent_TouchEvent_SourceTool(3);
541    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_BRUSH: OH_NativeXComponent_TouchEvent_SourceTool =
542        OH_NativeXComponent_TouchEvent_SourceTool(4);
543    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_PENCIL: OH_NativeXComponent_TouchEvent_SourceTool =
544        OH_NativeXComponent_TouchEvent_SourceTool(5);
545    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_AIRBRUSH: OH_NativeXComponent_TouchEvent_SourceTool =
546        OH_NativeXComponent_TouchEvent_SourceTool(6);
547    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_MOUSE: OH_NativeXComponent_TouchEvent_SourceTool =
548        OH_NativeXComponent_TouchEvent_SourceTool(7);
549    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_LENS: OH_NativeXComponent_TouchEvent_SourceTool =
550        OH_NativeXComponent_TouchEvent_SourceTool(8);
551    pub const OH_NATIVEXCOMPONENT_SOURCETOOL_TOUCHPAD: OH_NativeXComponent_TouchEvent_SourceTool =
552        OH_NativeXComponent_TouchEvent_SourceTool(9);
553}
554#[repr(transparent)]
555/// Represents the source tool type of TouchEvent
556///
557///
558/// Available since API-level: 10
559///
560/// Version: 1.0
561#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
562pub struct OH_NativeXComponent_TouchEvent_SourceTool(pub ::core::ffi::c_uint);
563/// Represents the historical point.
564///
565///
566/// Available since API-level: 10
567///
568/// Version: 1.0
569#[repr(C)]
570#[derive(Debug, Copy, Clone)]
571pub struct OH_NativeXComponent_HistoricalPoint {
572    /// Unique identifier of a finger.
573    pub id: i32,
574    /// X coordinate of the touch point relative to the left edge of the screen.
575    pub screenX: f32,
576    /// Y coordinate of the touch point relative to the upper edge of the screen.
577    pub screenY: f32,
578    /// X coordinate of the touch point relative to the left edge of the element to touch.
579    pub x: f32,
580    /// Y coordinate of the touch point relative to the upper edge of the element to touch.
581    pub y: f32,
582    /// Touch type of the touch event.
583    pub type_: OH_NativeXComponent_TouchEventType,
584    /// Contact area between the finger pad and the screen.
585    pub size: f64,
586    /// Pressure of the current touch event.
587    pub force: f32,
588    /// Timestamp of the current touch event.
589    pub timeStamp: i64,
590    /// The angle betweenprojection on plane-X-Y and axis-Z of the current touch event.
591    pub titlX: f32,
592    /// The angle betweenprojection on plane-Y-Z and axis-Z of the current touch event.
593    pub titlY: f32,
594    /// The sourceTool of the current touch event.
595    pub sourceTool: OH_NativeXComponent_TouchEvent_SourceTool,
596}
597/// Represents the touch point information of touch event.
598///
599///
600/// Available since API-level: 8
601///
602/// Version: 1.0
603#[repr(C)]
604#[derive(Debug, Copy, Clone)]
605pub struct OH_NativeXComponent_TouchPoint {
606    /// Unique identifier of a finger.
607    pub id: i32,
608    /// X coordinate of the touch point relative to the left edge of the screen.
609    pub screenX: f32,
610    /// Y coordinate of the touch point relative to the upper edge of the screen.
611    pub screenY: f32,
612    /// X coordinate of the touch point relative to the left edge of the element to touch.
613    pub x: f32,
614    /// Y coordinate of the touch point relative to the upper edge of the element to touch.
615    pub y: f32,
616    /// Touch type of the touch event.
617    pub type_: OH_NativeXComponent_TouchEventType,
618    /// Contact area between the finger pad and the screen.
619    pub size: f64,
620    /// Pressure of the current touch event.
621    pub force: f32,
622    /// Timestamp of the current touch event.
623    pub timeStamp: i64,
624    /// Whether the current point is pressed.
625    pub isPressed: bool,
626}
627/// Represents the touch event.
628///
629///
630/// Available since API-level: 8
631///
632/// Version: 1.0
633#[repr(C)]
634#[derive(Debug, Copy, Clone)]
635pub struct OH_NativeXComponent_TouchEvent {
636    /// Unique identifier of a finger.
637    pub id: i32,
638    /// X coordinate of the touch point relative to the left edge of the screen.
639    pub screenX: f32,
640    /// Y coordinate of the touch point relative to the upper edge of the screen.
641    pub screenY: f32,
642    /// X coordinate of the touch point relative to the left edge of the element to touch.
643    pub x: f32,
644    /// Y coordinate of the touch point relative to the upper edge of the element to touch.
645    pub y: f32,
646    /// Touch type of the touch event.
647    pub type_: OH_NativeXComponent_TouchEventType,
648    /// Contact area between the finger pad and the screen.
649    pub size: f64,
650    /// Pressure of the current touch event.
651    pub force: f32,
652    /// ID of the device where the current touch event is generated.
653    pub deviceId: i64,
654    /// Timestamp of the current touch event.
655    pub timeStamp: i64,
656    /// Array of the current touch points.
657    pub touchPoints: [OH_NativeXComponent_TouchPoint; 10usize],
658    /// Number of current touch points.
659    pub numPoints: u32,
660}
661/// Represents the mouse event information.
662///
663///
664/// Available since API-level: 9
665///
666/// Version: 1.0
667#[repr(C)]
668#[derive(Debug, Copy, Clone)]
669pub struct OH_NativeXComponent_MouseEvent {
670    /// X coordinate of the mouse point relative to the left edge of the element to mouse.
671    pub x: f32,
672    /// Y coordinate of the mouse point relative to the upper edge of the element to mouse.
673    pub y: f32,
674    /// X coordinate of the mouse point relative to the left edge of the screen.
675    pub screenX: f32,
676    /// Y coordinate of the mouse point relative to the upper edge of the screen.
677    pub screenY: f32,
678    /// Timestamp of the current mouse event.
679    pub timestamp: i64,
680    /// Mouse event action.
681    pub action: OH_NativeXComponent_MouseEventAction,
682    /// Mouse event button.
683    pub button: OH_NativeXComponent_MouseEventButton,
684}
685/// Provides an encapsulated <b>OH_NativeXComponent</b> instance.
686///
687///
688/// Available since API-level: 8
689///
690/// Version: 1.0
691#[repr(C)]
692pub struct OH_NativeXComponent {
693    _unused: [u8; 0],
694}
695/// Registers the surface lifecycle and touch event callbacks.
696///
697///
698/// Available since API-level: 8
699///
700/// Version: 1.0
701#[repr(C)]
702#[derive(Debug, Copy, Clone)]
703pub struct OH_NativeXComponent_Callback {
704    /// Called when the surface is created.
705    pub OnSurfaceCreated: ::core::option::Option<
706        unsafe extern "C" fn(component: *mut OH_NativeXComponent, window: *mut ::core::ffi::c_void),
707    >,
708    /// Called when the surface is changed.
709    pub OnSurfaceChanged: ::core::option::Option<
710        unsafe extern "C" fn(component: *mut OH_NativeXComponent, window: *mut ::core::ffi::c_void),
711    >,
712    /// Called when the surface is destroyed.
713    pub OnSurfaceDestroyed: ::core::option::Option<
714        unsafe extern "C" fn(component: *mut OH_NativeXComponent, window: *mut ::core::ffi::c_void),
715    >,
716    /// Called when a touch event is triggered.
717    pub DispatchTouchEvent: ::core::option::Option<
718        unsafe extern "C" fn(component: *mut OH_NativeXComponent, window: *mut ::core::ffi::c_void),
719    >,
720}
721/// Registers the mouse event callbacks.
722///
723///
724/// Available since API-level: 9
725///
726/// Version: 1.0
727#[repr(C)]
728#[derive(Debug, Copy, Clone)]
729pub struct OH_NativeXComponent_MouseEvent_Callback {
730    /// Called when a mouse event is triggered.
731    pub DispatchMouseEvent: ::core::option::Option<
732        unsafe extern "C" fn(component: *mut OH_NativeXComponent, window: *mut ::core::ffi::c_void),
733    >,
734    /// Called when a hover event is triggered.
735    pub DispatchHoverEvent: ::core::option::Option<
736        unsafe extern "C" fn(component: *mut OH_NativeXComponent, isHover: bool),
737    >,
738}
739/// Provides an encapsulated <b>OH_NativeXComponent_KeyEvent</b> instance.
740///
741///
742/// Available since API-level: 10
743///
744/// Version: 1.0
745#[repr(C)]
746pub struct OH_NativeXComponent_KeyEvent {
747    _unused: [u8; 0],
748}
749/// Defines the expected frame rate range struct.
750///
751///
752/// Available since API-level: 11
753///
754/// Version: 1.0
755#[cfg(feature = "api-11")]
756#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
757#[repr(C)]
758#[derive(Debug, Copy, Clone)]
759pub struct OH_NativeXComponent_ExpectedRateRange {
760    /// The minimum frame rate of dynamical callback rate range.
761    pub min: i32,
762    /// The maximum frame rate of dynamical callback rate range.
763    pub max: i32,
764    /// The expected frame rate of dynamical callback rate range.
765    pub expected: i32,
766}
767/// Provides an encapsulated <b>OH_NativeXComponent_ExtraMouseEventInfo</b>
768/// instance which has extra info compared to OH_NativeXComponent_MouseEvent.
769///
770///
771/// Available since API-level: 20
772///
773/// Version: 1.0
774#[cfg(feature = "api-20")]
775#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
776#[repr(C)]
777pub struct OH_NativeXComponent_ExtraMouseEventInfo {
778    _unused: [u8; 0],
779}
780/// Provides an encapsulated <b>OH_ArkUI_SurfaceHolder</b> instance.
781///
782///
783/// Available since API-level: 19
784#[cfg(feature = "api-19")]
785#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
786#[repr(C)]
787pub struct OH_ArkUI_SurfaceHolder {
788    _unused: [u8; 0],
789}
790/// Define the surface lifecycle callback.
791///
792///
793/// Available since API-level: 19
794#[cfg(feature = "api-19")]
795#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
796#[repr(C)]
797pub struct OH_ArkUI_SurfaceCallback {
798    _unused: [u8; 0],
799}
800extern "C" {
801    /// Obtains the ID of the ArkUI XComponent.
802    ///
803    /// # Arguments
804    ///
805    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
806    ///
807    /// * `id` - Indicates the char buffer to keep the ID of this <b>OH_NativeXComponent</b> instance.
808    ///
809    /// Notice that a null-terminator will be appended to the char buffer, so the size of the
810    ///
811    /// char buffer should be at least as large as the size of the real id length plus 1.
812    ///
813    /// It is recommended that the size of the char buffer be [OH_XCOMPONENT_ID_LEN_MAX + 1].
814    ///
815    /// * `size` - Indicates the pointer to the length of <b>id</b>, which you can receive.
816    ///
817    /// # Returns
818    ///
819    /// * Returns the status code of the execution.
820    ///
821    /// Available since API-level: 8
822    ///
823    /// Version: 1.0
824    pub fn OH_NativeXComponent_GetXComponentId(
825        component: *mut OH_NativeXComponent,
826        id: *mut ::core::ffi::c_char,
827        size: *mut u64,
828    ) -> i32;
829    /// Obtains the size of the surface held by the ArkUI XComponent.
830    ///
831    /// # Arguments
832    ///
833    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
834    ///
835    /// * `window` - Indicates the native window handler.
836    ///
837    /// * `width` - Indicates the pointer to the width of the current surface.
838    ///
839    /// * `height` - Indicates the pointer to the height of the current surface.
840    ///
841    /// # Returns
842    ///
843    /// * Returns the status code of the execution.
844    ///
845    /// Available since API-level: 8
846    ///
847    /// Version: 1.0
848    pub fn OH_NativeXComponent_GetXComponentSize(
849        component: *mut OH_NativeXComponent,
850        window: *const ::core::ffi::c_void,
851        width: *mut u64,
852        height: *mut u64,
853    ) -> i32;
854    /// Obtains the offset of the surface held by the ArkUI XComponent.
855    ///
856    /// # Arguments
857    ///
858    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
859    ///
860    /// * `window` - Indicates the native window handler.
861    ///
862    /// * `x` - Indicates the pointer to the x coordinate of the current surface.
863    ///
864    /// * `y` - Indicates the pointer to the y coordinate of the current surface.
865    ///
866    /// # Returns
867    ///
868    /// * Returns the status code of the execution.
869    ///
870    /// Available since API-level: 8
871    ///
872    /// Version: 1.0
873    pub fn OH_NativeXComponent_GetXComponentOffset(
874        component: *mut OH_NativeXComponent,
875        window: *const ::core::ffi::c_void,
876        x: *mut f64,
877        y: *mut f64,
878    ) -> i32;
879    /// Obtains the touch event dispatched by the ArkUI XComponent.
880    ///
881    /// # Arguments
882    ///
883    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
884    ///
885    /// * `window` - Indicates the native window handler.
886    ///
887    /// * `touchEvent` - Indicates the pointer to the current touch event.
888    ///
889    /// # Returns
890    ///
891    /// * Returns the status code of the execution.
892    ///
893    /// Available since API-level: 8
894    ///
895    /// Version: 1.0
896    pub fn OH_NativeXComponent_GetTouchEvent(
897        component: *mut OH_NativeXComponent,
898        window: *const ::core::ffi::c_void,
899        touchEvent: *mut OH_NativeXComponent_TouchEvent,
900    ) -> i32;
901    /// Obtains the touch pointer tool type by the ArkUI XComponent.
902    ///
903    /// # Arguments
904    ///
905    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
906    ///
907    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
908    ///
909    /// * `toolType` - Indicates the tool Type of the pointer.
910    ///
911    /// # Returns
912    ///
913    /// * Returns the status code of the execution.
914    ///
915    /// Available since API-level: 9
916    ///
917    /// Version: 1.0
918    pub fn OH_NativeXComponent_GetTouchPointToolType(
919        component: *mut OH_NativeXComponent,
920        pointIndex: u32,
921        toolType: *mut OH_NativeXComponent_TouchPointToolType,
922    ) -> i32;
923    /// Obtains the touch pointer tiltX by the ArkUI XComponent.
924    ///
925    /// # Arguments
926    ///
927    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
928    ///
929    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
930    ///
931    /// * `tiltX` - Indicates the x tilt of the pointer.
932    ///
933    /// # Returns
934    ///
935    /// * Returns the status code of the execution.
936    ///
937    /// Available since API-level: 9
938    ///
939    /// Version: 1.0
940    pub fn OH_NativeXComponent_GetTouchPointTiltX(
941        component: *mut OH_NativeXComponent,
942        pointIndex: u32,
943        tiltX: *mut f32,
944    ) -> i32;
945    /// Obtains the touch pointer tiltX by the ArkUI XComponent.
946    ///
947    /// # Arguments
948    ///
949    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
950    ///
951    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
952    ///
953    /// * `tiltY` - Indicates the y tilt of the pointer.
954    ///
955    /// # Returns
956    ///
957    /// * Returns the status code of the execution.
958    ///
959    /// Available since API-level: 9
960    ///
961    /// Version: 1.0
962    pub fn OH_NativeXComponent_GetTouchPointTiltY(
963        component: *mut OH_NativeXComponent,
964        pointIndex: u32,
965        tiltY: *mut f32,
966    ) -> i32;
967    /// Obtains the x coordinate of a specific touch point relative to the upper left corner of
968    ///
969    /// the current application window from the ArkUI XComponent.
970    ///
971    /// # Arguments
972    ///
973    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
974    ///
975    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
976    ///
977    /// * `windowX` - Indicates the x coordinate relative to the upper left corner of the current
978    ///
979    /// application window.
980    ///
981    /// # Returns
982    ///
983    /// * Returns the status code of the execution.
984    /// [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] get windowX success.
985    /// [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] component is NULL, windowX is NULL
986    ///
987    /// or native XComponent is NULL.
988    ///
989    /// Available since API-level: 12
990    ///
991    /// Version: 1.0
992    #[cfg(feature = "api-12")]
993    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
994    pub fn OH_NativeXComponent_GetTouchPointWindowX(
995        component: *mut OH_NativeXComponent,
996        pointIndex: u32,
997        windowX: *mut f32,
998    ) -> i32;
999    /// Obtains the y coordinate of a specific touch point relative to the upper left corner of
1000    ///
1001    /// the current application window from the ArkUI XComponent.
1002    ///
1003    /// # Arguments
1004    ///
1005    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1006    ///
1007    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
1008    ///
1009    /// * `windowY` - Indicates the y coordinate relative to the upper left corner of the current
1010    ///
1011    /// application window.
1012    ///
1013    /// # Returns
1014    ///
1015    /// * Returns the status code of the execution.
1016    /// [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] get windowY success.
1017    /// [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] component is NULL, windowY is NULL
1018    ///
1019    /// or native XComponent is NULL.
1020    ///
1021    /// Available since API-level: 12
1022    ///
1023    /// Version: 1.0
1024    #[cfg(feature = "api-12")]
1025    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1026    pub fn OH_NativeXComponent_GetTouchPointWindowY(
1027        component: *mut OH_NativeXComponent,
1028        pointIndex: u32,
1029        windowY: *mut f32,
1030    ) -> i32;
1031    /// Obtains the x coordinate of a specific touch point relative to the upper left corner of
1032    ///
1033    /// the current screen from the ArkUI XComponent.
1034    ///
1035    /// # Arguments
1036    ///
1037    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1038    ///
1039    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
1040    ///
1041    /// * `displayX` - Indicates the x coordinate relative to the upper left corner of the current
1042    ///
1043    /// screen.
1044    ///
1045    /// # Returns
1046    ///
1047    /// * Returns the status code of the execution.
1048    /// [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] get displayX success.
1049    /// [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] component is NULL, displayX is NULL
1050    ///
1051    /// or native XComponent is NULL.
1052    ///
1053    /// Available since API-level: 12
1054    ///
1055    /// Version: 1.0
1056    #[cfg(feature = "api-12")]
1057    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1058    pub fn OH_NativeXComponent_GetTouchPointDisplayX(
1059        component: *mut OH_NativeXComponent,
1060        pointIndex: u32,
1061        displayX: *mut f32,
1062    ) -> i32;
1063    /// Obtains the y coordinate of a specific touch point relative to the upper left corner of
1064    ///
1065    /// the current screen from the ArkUI XComponent.
1066    ///
1067    /// # Arguments
1068    ///
1069    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1070    ///
1071    /// * `pointIndex` - Indicates the pointer index in the touchPoints.
1072    ///
1073    /// * `displayY` - Indicates the y coordinate relative to the upper left corner of the current
1074    ///
1075    /// screen.
1076    ///
1077    /// # Returns
1078    ///
1079    /// * Returns the status code of the execution.
1080    /// [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] get displayY success.
1081    /// [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] component is NULL, displayY is NULL
1082    ///
1083    /// or native XComponent is NULL.
1084    ///
1085    /// Available since API-level: 12
1086    ///
1087    /// Version: 1.0
1088    #[cfg(feature = "api-12")]
1089    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1090    pub fn OH_NativeXComponent_GetTouchPointDisplayY(
1091        component: *mut OH_NativeXComponent,
1092        pointIndex: u32,
1093        displayY: *mut f32,
1094    ) -> i32;
1095    /// Obtains the touch event dispatched by the ArkUI XComponent.
1096    ///
1097    /// # Arguments
1098    ///
1099    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1100    ///
1101    /// * `window` - Indicates the native window handler.
1102    ///
1103    /// * `size` - Length of the historical touch point array.
1104    ///
1105    /// * `historicalPoints` - Pointer to the historical touch point array.
1106    ///
1107    /// # Returns
1108    ///
1109    /// * Returns the status code of the execution.
1110    ///
1111    /// Available since API-level: 10
1112    ///
1113    /// Version: 1.0
1114    pub fn OH_NativeXComponent_GetHistoricalPoints(
1115        component: *mut OH_NativeXComponent,
1116        window: *const ::core::ffi::c_void,
1117        size: *mut i32,
1118        historicalPoints: *mut *mut OH_NativeXComponent_HistoricalPoint,
1119    ) -> i32;
1120    /// Obtains the mouse event dispatched by the ArkUI XComponent.
1121    ///
1122    /// # Arguments
1123    ///
1124    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1125    ///
1126    /// * `window` - Indicates the native window handler.
1127    ///
1128    /// * `mouseEvent` - Indicates the pointer to the current mouse event.
1129    ///
1130    /// # Returns
1131    ///
1132    /// * Returns the status code of the execution.
1133    ///
1134    /// Available since API-level: 9
1135    ///
1136    /// Version: 1.0
1137    pub fn OH_NativeXComponent_GetMouseEvent(
1138        component: *mut OH_NativeXComponent,
1139        window: *const ::core::ffi::c_void,
1140        mouseEvent: *mut OH_NativeXComponent_MouseEvent,
1141    ) -> i32;
1142    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1143    ///
1144    /// # Arguments
1145    ///
1146    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1147    ///
1148    /// * `callback` - Indicates the pointer to a surface lifecycle and touch event callback.
1149    ///
1150    /// # Returns
1151    ///
1152    /// * Returns the status code of the execution.
1153    ///
1154    /// Available since API-level: 8
1155    ///
1156    /// Version: 1.0
1157    pub fn OH_NativeXComponent_RegisterCallback(
1158        component: *mut OH_NativeXComponent,
1159        callback: *mut OH_NativeXComponent_Callback,
1160    ) -> i32;
1161    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1162    ///
1163    /// # Arguments
1164    ///
1165    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1166    ///
1167    /// * `callback` - Indicates the pointer to a mouse event callback.
1168    ///
1169    /// # Returns
1170    ///
1171    /// * Returns the status code of the execution.
1172    ///
1173    /// Available since API-level: 9
1174    ///
1175    /// Version: 1.0
1176    pub fn OH_NativeXComponent_RegisterMouseEventCallback(
1177        component: *mut OH_NativeXComponent,
1178        callback: *mut OH_NativeXComponent_MouseEvent_Callback,
1179    ) -> i32;
1180    /// Obtains the extra mouse event dispatched by the ArkUI XComponent.
1181    ///
1182    /// # Arguments
1183    ///
1184    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1185    ///
1186    /// * `extraMouseEventInfo` - Indicates the pointer to pointer of <b>OH_NativeXComponent_ExtraMouseEventInfo</b> instance.
1187    ///
1188    /// # Returns
1189    ///
1190    /// * Returns the status code of the execution.
1191    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1192    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1193    ///
1194    /// Available since API-level: 20
1195    ///
1196    /// Version: 1.0
1197    #[cfg(feature = "api-20")]
1198    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1199    pub fn OH_NativeXComponent_GetExtraMouseEventInfo(
1200        component: *mut OH_NativeXComponent,
1201        extraMouseEventInfo: *mut *mut OH_NativeXComponent_ExtraMouseEventInfo,
1202    ) -> i32;
1203    /// Obtains the state of the modifier keys of the mouse event.
1204    ///
1205    /// # Arguments
1206    ///
1207    /// * `extraMouseEventInfo` - Indicates the pointer to this <b>OH_NativeXComponent_ExtraMouseEventInfo</b> instance.
1208    ///
1209    /// * `keys` - Pointer to a variable where the current combination of pressed modifier keys will be returned.
1210    /// The application can use bitwise operations to determine the state of each modifier key.
1211    /// Modifier keys can be referred to [`ArkUI_ModifierKeyName`].
1212    ///
1213    /// # Returns
1214    ///
1215    /// * Returns the result code.
1216    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1217    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1218    ///
1219    /// Available since API-level: 20
1220    ///
1221    /// Version: 1.0
1222    #[cfg(feature = "api-20")]
1223    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1224    pub fn OH_NativeXComponent_GetMouseEventModifierKeyStates(
1225        extraMouseEventInfo: *mut OH_NativeXComponent_ExtraMouseEventInfo,
1226        keys: *mut u64,
1227    ) -> i32;
1228    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1229    ///
1230    /// # Arguments
1231    ///
1232    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1233    ///
1234    /// * `callback` - Indicates the pointer to a focus event callback.
1235    ///
1236    /// # Returns
1237    ///
1238    /// * Returns the status code of the execution.
1239    ///
1240    /// Available since API-level: 10
1241    ///
1242    /// Version: 1.0
1243    pub fn OH_NativeXComponent_RegisterFocusEventCallback(
1244        component: *mut OH_NativeXComponent,
1245        callback: ::core::option::Option<
1246            unsafe extern "C" fn(
1247                component: *mut OH_NativeXComponent,
1248                window: *mut ::core::ffi::c_void,
1249            ),
1250        >,
1251    ) -> i32;
1252    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1253    ///
1254    /// # Arguments
1255    ///
1256    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1257    ///
1258    /// * `callback` - Indicates the pointer to a key event callback.
1259    ///
1260    /// # Returns
1261    ///
1262    /// * Returns the status code of the execution.
1263    ///
1264    /// Available since API-level: 10
1265    ///
1266    /// Version: 1.0
1267    pub fn OH_NativeXComponent_RegisterKeyEventCallback(
1268        component: *mut OH_NativeXComponent,
1269        callback: ::core::option::Option<
1270            unsafe extern "C" fn(
1271                component: *mut OH_NativeXComponent,
1272                window: *mut ::core::ffi::c_void,
1273            ),
1274        >,
1275    ) -> i32;
1276    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1277    ///
1278    /// # Arguments
1279    ///
1280    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1281    ///
1282    /// * `callback` - Indicates the pointer to a blur event callback.
1283    ///
1284    /// # Returns
1285    ///
1286    /// * Returns the status code of the execution.
1287    ///
1288    /// Available since API-level: 10
1289    ///
1290    /// Version: 1.0
1291    pub fn OH_NativeXComponent_RegisterBlurEventCallback(
1292        component: *mut OH_NativeXComponent,
1293        callback: ::core::option::Option<
1294            unsafe extern "C" fn(
1295                component: *mut OH_NativeXComponent,
1296                window: *mut ::core::ffi::c_void,
1297            ),
1298        >,
1299    ) -> i32;
1300    /// Obtains the key event dispatched by the ArkUI XComponent.
1301    ///
1302    /// # Arguments
1303    ///
1304    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1305    ///
1306    /// * `keyEvent` - Indicates the pointer to pointer of <b>OH_NativeXComponent_KeyEvent</b> instance.
1307    ///
1308    /// # Returns
1309    ///
1310    /// * Returns the status code of the execution.
1311    ///
1312    /// Available since API-level: 10
1313    ///
1314    /// Version: 1.0
1315    pub fn OH_NativeXComponent_GetKeyEvent(
1316        component: *mut OH_NativeXComponent,
1317        keyEvent: *mut *mut OH_NativeXComponent_KeyEvent,
1318    ) -> i32;
1319    /// Obtains the action of the key event.
1320    ///
1321    /// # Arguments
1322    ///
1323    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1324    ///
1325    /// * `action` - Indicates the action of the <b>OH_NativeXComponent_KeyEvent</b> instance.
1326    ///
1327    /// # Returns
1328    ///
1329    /// * Returns the status code of the execution.
1330    ///
1331    /// Available since API-level: 10
1332    ///
1333    /// Version: 1.0
1334    pub fn OH_NativeXComponent_GetKeyEventAction(
1335        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1336        action: *mut OH_NativeXComponent_KeyAction,
1337    ) -> i32;
1338    /// Obtains the keyCode of the key event.
1339    ///
1340    /// # Arguments
1341    ///
1342    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1343    ///
1344    /// * `code` - Indicates the keyCode of the <b>OH_NativeXComponent_KeyEvent</b> instance.
1345    ///
1346    /// # Returns
1347    ///
1348    /// * Returns the status code of the execution.
1349    ///
1350    /// Available since API-level: 10
1351    ///
1352    /// Version: 1.0
1353    pub fn OH_NativeXComponent_GetKeyEventCode(
1354        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1355        code: *mut OH_NativeXComponent_KeyCode,
1356    ) -> i32;
1357    /// Obtains the sourceType of the key event.
1358    ///
1359    /// # Arguments
1360    ///
1361    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1362    ///
1363    /// * `sourceType` - Indicates the sourceType of the <b>OH_NativeXComponent_KeyEvent</b> instance.
1364    ///
1365    /// # Returns
1366    ///
1367    /// * Returns the status code of the execution.
1368    ///
1369    /// Available since API-level: 10
1370    ///
1371    /// Version: 1.0
1372    pub fn OH_NativeXComponent_GetKeyEventSourceType(
1373        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1374        sourceType: *mut OH_NativeXComponent_EventSourceType,
1375    ) -> i32;
1376    /// Obtains the deviceId of the key event.
1377    ///
1378    /// # Arguments
1379    ///
1380    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1381    ///
1382    /// * `deviceId` - Indicates the deviceId of the <b>OH_NativeXComponent_KeyEvent</b> instance.
1383    ///
1384    /// # Returns
1385    ///
1386    /// * Returns the status code of the execution.
1387    ///
1388    /// Available since API-level: 10
1389    ///
1390    /// Version: 1.0
1391    pub fn OH_NativeXComponent_GetKeyEventDeviceId(
1392        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1393        deviceId: *mut i64,
1394    ) -> i32;
1395    /// Obtains the timestamp of the key event.
1396    ///
1397    /// # Arguments
1398    ///
1399    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1400    ///
1401    /// * `timestamp` - Indicates the timestamp of the <b>OH_NativeXComponent_KeyEvent</b> instance.
1402    ///
1403    /// # Returns
1404    ///
1405    /// * Returns the status code of the execution.
1406    ///
1407    /// Available since API-level: 10
1408    ///
1409    /// Version: 1.0
1410    pub fn OH_NativeXComponent_GetKeyEventTimestamp(
1411        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1412        timestamp: *mut i64,
1413    ) -> i32;
1414    /// Obtains the state of the modifier keys of the key event.
1415    ///
1416    /// # Arguments
1417    ///
1418    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1419    ///
1420    /// * `keys` - Pointer to a variable where the current combination of pressed modifier keys will be returned.
1421    /// The application can use bitwise operations to determine the state of each modifier key.
1422    /// Modifier keys can be referred to [`ArkUI_ModifierKeyName`].
1423    ///
1424    /// # Returns
1425    ///
1426    /// * Returns the result code.
1427    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1428    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1429    ///
1430    /// Available since API-level: 20
1431    ///
1432    /// Version: 1.0
1433    #[cfg(feature = "api-20")]
1434    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1435    pub fn OH_NativeXComponent_GetKeyEventModifierKeyStates(
1436        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1437        keys: *mut u64,
1438    ) -> i32;
1439    /// Obtains the Num Lock state of the key event.
1440    ///
1441    /// # Arguments
1442    ///
1443    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1444    ///
1445    /// * `isNumLockOn` - Return whether the Num Lock is on.
1446    ///
1447    /// # Returns
1448    ///
1449    /// * Returns the result code.
1450    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1451    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1452    ///
1453    /// Available since API-level: 20
1454    ///
1455    /// Version: 1.0
1456    #[cfg(feature = "api-20")]
1457    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1458    pub fn OH_NativeXComponent_GetKeyEventNumLockState(
1459        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1460        isNumLockOn: *mut bool,
1461    ) -> i32;
1462    /// Obtains the Caps Lock state of the key event.
1463    ///
1464    /// # Arguments
1465    ///
1466    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1467    ///
1468    /// * `isCapsLockOn` - Return whether the Caps Lock is on.
1469    ///
1470    /// # Returns
1471    ///
1472    /// * Returns the result code.
1473    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1474    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1475    ///
1476    /// Available since API-level: 20
1477    ///
1478    /// Version: 1.0
1479    #[cfg(feature = "api-20")]
1480    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1481    pub fn OH_NativeXComponent_GetKeyEventCapsLockState(
1482        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1483        isCapsLockOn: *mut bool,
1484    ) -> i32;
1485    /// Obtains the Scroll Lock state of the key event.
1486    ///
1487    /// # Arguments
1488    ///
1489    /// * `keyEvent` - Indicates the pointer to this <b>OH_NativeXComponent_KeyEvent</b> instance.
1490    ///
1491    /// * `isScrollLockOn` - Return whether the Scroll Lock is on.
1492    ///
1493    /// # Returns
1494    ///
1495    /// * Returns the result code.
1496    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1497    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1498    ///
1499    /// Available since API-level: 20
1500    ///
1501    /// Version: 1.0
1502    #[cfg(feature = "api-20")]
1503    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1504    pub fn OH_NativeXComponent_GetKeyEventScrollLockState(
1505        keyEvent: *mut OH_NativeXComponent_KeyEvent,
1506        isScrollLockOn: *mut bool,
1507    ) -> i32;
1508    /// Set the Expected FrameRateRange.
1509    ///
1510    /// # Arguments
1511    ///
1512    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1513    ///
1514    /// * `range` - Indicates the pointer to a expected rate range.
1515    ///
1516    /// # Returns
1517    ///
1518    /// * Returns the status code of the execution.
1519    ///
1520    /// Available since API-level: 11
1521    ///
1522    /// Version: 1.0
1523    #[cfg(feature = "api-11")]
1524    #[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
1525    pub fn OH_NativeXComponent_SetExpectedFrameRateRange(
1526        component: *mut OH_NativeXComponent,
1527        range: *mut OH_NativeXComponent_ExpectedRateRange,
1528    ) -> i32;
1529    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1530    ///
1531    /// # Arguments
1532    ///
1533    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1534    ///
1535    /// * `callback` - Indicates the pointer to a onFrame callback.
1536    ///
1537    /// # Returns
1538    ///
1539    /// * Returns the status code of the execution.
1540    ///
1541    /// Available since API-level: 11
1542    ///
1543    /// Version: 1.0
1544    #[cfg(feature = "api-11")]
1545    #[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
1546    pub fn OH_NativeXComponent_RegisterOnFrameCallback(
1547        component: *mut OH_NativeXComponent,
1548        callback: ::core::option::Option<
1549            unsafe extern "C" fn(
1550                component: *mut OH_NativeXComponent,
1551                timestamp: u64,
1552                targetTimestamp: u64,
1553            ),
1554        >,
1555    ) -> i32;
1556    /// UnRegister a callback for this <b>OH_NativeXComponent</b> instance.
1557    ///
1558    /// # Arguments
1559    ///
1560    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1561    ///
1562    /// # Returns
1563    ///
1564    /// * Returns the status code of the execution.
1565    ///
1566    /// Available since API-level: 11
1567    ///
1568    /// Version: 1.0
1569    #[cfg(feature = "api-11")]
1570    #[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
1571    pub fn OH_NativeXComponent_UnregisterOnFrameCallback(
1572        component: *mut OH_NativeXComponent,
1573    ) -> i32;
1574    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1575    ///
1576    /// # Arguments
1577    ///
1578    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1579    ///
1580    /// * `callback` - Indicates the pointer to a surface show event callback.
1581    ///
1582    /// # Returns
1583    ///
1584    /// * Returns the status code of the execution.
1585    ///
1586    /// Available since API-level: 12
1587    ///
1588    /// Version: 1.0
1589    #[cfg(feature = "api-12")]
1590    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1591    pub fn OH_NativeXComponent_RegisterSurfaceShowCallback(
1592        component: *mut OH_NativeXComponent,
1593        callback: ::core::option::Option<
1594            unsafe extern "C" fn(
1595                component: *mut OH_NativeXComponent,
1596                window: *mut ::core::ffi::c_void,
1597            ),
1598        >,
1599    ) -> i32;
1600    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1601    ///
1602    /// # Arguments
1603    ///
1604    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1605    ///
1606    /// * `callback` - Indicates the pointer to a surface hide event callback.
1607    ///
1608    /// # Returns
1609    ///
1610    /// * Returns the status code of the execution.
1611    ///
1612    /// Available since API-level: 12
1613    ///
1614    /// Version: 1.0
1615    #[cfg(feature = "api-12")]
1616    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1617    pub fn OH_NativeXComponent_RegisterSurfaceHideCallback(
1618        component: *mut OH_NativeXComponent,
1619        callback: ::core::option::Option<
1620            unsafe extern "C" fn(
1621                component: *mut OH_NativeXComponent,
1622                window: *mut ::core::ffi::c_void,
1623            ),
1624        >,
1625    ) -> i32;
1626    /// Set whether the <b>OH_NativeXComponent</b> instance needs soft keyboard.
1627    /// # Arguments
1628    ///
1629    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1630    ///
1631    /// * `needSoftKeyboard` - Indicates whether the <b>OH_NativeXComponent</b> instance needs soft keyboard or not.
1632    /// Default value is false.
1633    ///
1634    /// # Returns
1635    ///
1636    /// * Returns the status code of the execution.
1637    ///
1638    /// Available since API-level: 12
1639    ///
1640    /// Version: 1.0
1641    #[cfg(feature = "api-12")]
1642    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1643    pub fn OH_NativeXComponent_SetNeedSoftKeyboard(
1644        component: *mut OH_NativeXComponent,
1645        needSoftKeyboard: bool,
1646    ) -> i32;
1647    /// Obtains the touch event's source type dispatched by the ArkUI XComponent.
1648    ///
1649    /// # Arguments
1650    ///
1651    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1652    ///
1653    /// * `pointId` - Indicates the id of the touch point which triggers this touch event.
1654    ///
1655    /// * `sourceType` - Indicates the source type of this touch event.
1656    ///
1657    /// # Returns
1658    ///
1659    /// * Returns OH_NATIVEXCOMPONENT_RESULT_SUCCESS if success.
1660    /// Returns OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER if a parameter exception occurs.
1661    /// Returns OH_NATIVEXCOMPONENT_RESULT_FAILED if other exceptions occur.
1662    ///
1663    /// Available since API-level: 12
1664    ///
1665    /// Version: 1.0
1666    #[cfg(feature = "api-12")]
1667    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1668    pub fn OH_NativeXComponent_GetTouchEventSourceType(
1669        component: *mut OH_NativeXComponent,
1670        pointId: i32,
1671        sourceType: *mut OH_NativeXComponent_EventSourceType,
1672    ) -> i32;
1673    /// Obtains the pointer to the <b> ArkUI_AccessibilityProvider</b>
1674    /// instance of this <b>OH_NativeXComponent</b> instance.
1675    ///
1676    /// # Arguments
1677    ///
1678    /// * `component` - Indicates the pointer to the <b>OH_NativeXComponent</b> instance.
1679    ///
1680    /// * `handle` - Indicates the pointer to the <b>ArkUI_AccessibilityProvider</b> instance.
1681    ///
1682    /// # Returns
1683    ///
1684    /// * Returns [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] if the operation is successful.
1685    /// Returns [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] if a parameter error occurs.
1686    ///
1687    /// Available since API-level: 13
1688    #[cfg(feature = "api-13")]
1689    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1690    pub fn OH_NativeXComponent_GetNativeAccessibilityProvider(
1691        component: *mut OH_NativeXComponent,
1692        handle: *mut *mut ArkUI_AccessibilityProvider,
1693    ) -> i32;
1694    /// Registers a callback for this <b>OH_NativeXComponent</b> instance.
1695    ///
1696    /// # Arguments
1697    ///
1698    /// * `component` - Indicates the pointer to this <b>OH_NativeXComponent</b> instance.
1699    ///
1700    /// * `callback` - Indicates the pointer to a key event callback with result.
1701    ///
1702    /// # Returns
1703    ///
1704    /// * Returns the status code of the execution.
1705    /// [`OH_NATIVEXCOMPONENT_RESULT_SUCCESS`] the callback function is successfully registered.
1706    ///
1707    /// [`OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER`] component is nullptr or callback is nullptr.
1708    ///
1709    ///
1710    /// Available since API-level: 14
1711    ///
1712    /// Version: 1.0
1713    #[cfg(feature = "api-14")]
1714    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
1715    pub fn OH_NativeXComponent_RegisterKeyEventCallbackWithResult(
1716        component: *mut OH_NativeXComponent,
1717        callback: ::core::option::Option<
1718            unsafe extern "C" fn(
1719                component: *mut OH_NativeXComponent,
1720                window: *mut ::core::ffi::c_void,
1721            ) -> bool,
1722        >,
1723    ) -> i32;
1724    /// Create a <b>OH_ArkUI_SurfaceHolder</b> object from an XComponent node.
1725    ///
1726    /// # Arguments
1727    ///
1728    /// * `node` - Indicates the pointer to the XComponent node.
1729    ///
1730    /// # Returns
1731    ///
1732    /// * Returns the created <b>OH_ArkUI_SurfaceHolder</b> object's pointer.
1733    ///
1734    /// Available since API-level: 19
1735    #[cfg(feature = "api-19")]
1736    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1737    pub fn OH_ArkUI_SurfaceHolder_Create(node: ArkUI_NodeHandle) -> *mut OH_ArkUI_SurfaceHolder;
1738    /// Disposes of a <b>OH_ArkUI_SurfaceHolder</b> object.
1739    ///
1740    /// # Arguments
1741    ///
1742    /// * `node` - Indicates the pointer to <b>OH_ArkUI_SurfaceHolder</b> object needed to dispose.
1743    ///
1744    /// Available since API-level: 19
1745    #[cfg(feature = "api-19")]
1746    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1747    pub fn OH_ArkUI_SurfaceHolder_Dispose(surfaceHolder: *mut OH_ArkUI_SurfaceHolder);
1748    /// Saves custom data on the <b>OH_ArkUI_SurfaceHolder</b> instance.
1749    ///
1750    /// # Arguments
1751    ///
1752    /// * `surfaceHolder` - Indicates the <b>OH_ArkUI_SurfaceHolder</b> instance
1753    /// on which the custom data will be saved.
1754    ///
1755    /// * `userData` - Indicates the custom data to be saved.
1756    ///
1757    /// # Returns
1758    ///
1759    /// * Returns the error code.
1760    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1761    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1762    ///
1763    /// Available since API-level: 19
1764    #[cfg(feature = "api-19")]
1765    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1766    pub fn OH_ArkUI_SurfaceHolder_SetUserData(
1767        surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1768        userData: *mut ::core::ffi::c_void,
1769    ) -> i32;
1770    /// Obtains the custom data saved on the <b>OH_ArkUI_SurfaceHolder</b> instance.
1771    ///
1772    /// # Arguments
1773    ///
1774    /// * `surfaceHolder` - Indicates the target <b>OH_ArkUI_SurfaceHolder</b> instance.
1775    ///
1776    /// # Returns
1777    ///
1778    /// * Returns the custom data.
1779    ///
1780    /// Available since API-level: 19
1781    #[cfg(feature = "api-19")]
1782    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1783    pub fn OH_ArkUI_SurfaceHolder_GetUserData(
1784        surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1785    ) -> *mut ::core::ffi::c_void;
1786    /// Create a <b>OH_ArkUI_SurfaceCallback</b> object.
1787    ///
1788    ///
1789    /// # Returns
1790    ///
1791    /// * Returns the created <b>OH_ArkUI_SurfaceCallback</b> object's pointer.
1792    ///
1793    /// Available since API-level: 19
1794    #[cfg(feature = "api-19")]
1795    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1796    pub fn OH_ArkUI_SurfaceCallback_Create() -> *mut OH_ArkUI_SurfaceCallback;
1797    /// Disposes of a <b>OH_ArkUI_SurfaceCallback</b> object.
1798    ///
1799    /// # Arguments
1800    ///
1801    /// * `callback` - Indicates the pointer to <b>OH_ArkUI_SurfaceCallback</b> object needed to dispose.
1802    ///
1803    /// Available since API-level: 19
1804    #[cfg(feature = "api-19")]
1805    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1806    pub fn OH_ArkUI_SurfaceCallback_Dispose(callback: *mut OH_ArkUI_SurfaceCallback);
1807    /// Set the surface created event of the surface callback.
1808    ///
1809    /// # Arguments
1810    ///
1811    /// * `callback` - Indicated the pointer to the surface callback.
1812    ///
1813    /// * `onSurfaceCreated` - Indicates the surface created callback event
1814    /// which will called when the surface is created.
1815    ///
1816    /// Available since API-level: 19
1817    #[cfg(feature = "api-19")]
1818    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1819    pub fn OH_ArkUI_SurfaceCallback_SetSurfaceCreatedEvent(
1820        callback: *mut OH_ArkUI_SurfaceCallback,
1821        onSurfaceCreated: ::core::option::Option<
1822            unsafe extern "C" fn(surfaceHolder: *mut OH_ArkUI_SurfaceHolder),
1823        >,
1824    );
1825    /// Set the surface changed event of the surface callback.
1826    ///
1827    /// # Arguments
1828    ///
1829    /// * `callback` - Indicated the pointer to the surface callback.
1830    ///
1831    /// * `onSurfaceChanged` - Indicates the surface changed callback event
1832    /// which will called when the surface is changed.
1833    ///
1834    /// Available since API-level: 19
1835    #[cfg(feature = "api-19")]
1836    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1837    pub fn OH_ArkUI_SurfaceCallback_SetSurfaceChangedEvent(
1838        callback: *mut OH_ArkUI_SurfaceCallback,
1839        onSurfaceChanged: ::core::option::Option<
1840            unsafe extern "C" fn(
1841                surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1842                width: u64,
1843                height: u64,
1844            ),
1845        >,
1846    );
1847    /// Set the surface destroyed event of the surface callback.
1848    ///
1849    /// # Arguments
1850    ///
1851    /// * `callback` - Indicated the pointer to the surface callback.
1852    ///
1853    /// * `onSurfaceDestroyed` - Indicates the surface destroyed callback event
1854    /// which will called when the surface is destroyed.
1855    ///
1856    /// Available since API-level: 19
1857    #[cfg(feature = "api-19")]
1858    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1859    pub fn OH_ArkUI_SurfaceCallback_SetSurfaceDestroyedEvent(
1860        callback: *mut OH_ArkUI_SurfaceCallback,
1861        onSurfaceDestroyed: ::core::option::Option<
1862            unsafe extern "C" fn(surfaceHolder: *mut OH_ArkUI_SurfaceHolder),
1863        >,
1864    );
1865    /// Adds a surface lifecycle callback for this <b>OH_ArkUI_SurfaceHolder</b> instance.
1866    ///
1867    /// # Arguments
1868    ///
1869    /// * `surfaceHolder` - Indicates the pointer to this <b>OH_ArkUI_SurfaceHolder</b> instance.
1870    ///
1871    /// * `callback` - Indicates the pointer to this new callback.
1872    ///
1873    /// # Returns
1874    ///
1875    /// * Returns the status code of the execution.
1876    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1877    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1878    ///
1879    /// Available since API-level: 19
1880    #[cfg(feature = "api-19")]
1881    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1882    pub fn OH_ArkUI_SurfaceHolder_AddSurfaceCallback(
1883        surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1884        callback: *mut OH_ArkUI_SurfaceCallback,
1885    ) -> i32;
1886    /// Removes a previously added surface lifecycle callback
1887    /// from this <b>OH_ArkUI_SurfaceHolder</b> instance.
1888    ///
1889    /// # Arguments
1890    ///
1891    /// * `surfaceHolder` - Indicates the pointer to this <b>OH_ArkUI_SurfaceHolder</b> instance.
1892    ///
1893    /// * `callback` - Indicates the pointer to the callback needed to remove.
1894    ///
1895    /// # Returns
1896    ///
1897    /// * Returns the status code of the execution.
1898    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1899    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1900    ///
1901    /// Available since API-level: 19
1902    #[cfg(feature = "api-19")]
1903    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1904    pub fn OH_ArkUI_SurfaceHolder_RemoveSurfaceCallback(
1905        surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1906        callback: *mut OH_ArkUI_SurfaceCallback,
1907    ) -> i32;
1908    /// Obtains the nativeWindow associated with a <b>OH_ArkUI_SurfaceHolder</b> instance.
1909    ///
1910    /// # Arguments
1911    ///
1912    /// * `surfaceHolder` - Indicates the pointer to this <b>OH_ArkUI_SurfaceHolder</b> instance.
1913    ///
1914    /// # Returns
1915    ///
1916    /// * Returns the nativeWindow associated with this <b>OH_ArkUI_SurfaceHolder</b> instance.
1917    ///
1918    /// Available since API-level: 19
1919    #[cfg(feature = "api-19")]
1920    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1921    pub fn OH_ArkUI_XComponent_GetNativeWindow(
1922        surfaceHolder: *mut OH_ArkUI_SurfaceHolder,
1923    ) -> *mut OHNativeWindow;
1924    /// Set whether the XComponent node needs to initialize automatically.
1925    ///
1926    /// # Arguments
1927    ///
1928    /// * `node` - Indicates the pointer to the XComponent node.
1929    ///
1930    /// * `autoInitialize` - Indicates whether the XComponent node needs to initialize automatically or not.
1931    /// If the value is true, OnSurfaceCreated will be called when the node is mounted and
1932    /// OnSurfaceDestroyed will be called when the node is unmounted.
1933    /// Default value is true.
1934    ///
1935    /// # Returns
1936    ///
1937    /// * Returns the status code of the execution.
1938    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1939    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if the node is invalid.
1940    ///
1941    /// Available since API-level: 19
1942    #[cfg(feature = "api-19")]
1943    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1944    pub fn OH_ArkUI_XComponent_SetAutoInitialize(
1945        node: ArkUI_NodeHandle,
1946        autoInitialize: bool,
1947    ) -> i32;
1948    /// Initialize the XComponent node.
1949    ///
1950    /// # Arguments
1951    ///
1952    /// * `node` - Indicates the pointer to the XComponent node.
1953    ///
1954    /// # Returns
1955    ///
1956    /// * Returns the status code of the execution.
1957    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1958    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if the node is invalid.
1959    /// [`ARKUI_ERROR_CODE_XCOMPONENT_STATE_INVALID`] if the node has initialized.
1960    ///
1961    /// Available since API-level: 19
1962    #[cfg(feature = "api-19")]
1963    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1964    pub fn OH_ArkUI_XComponent_Initialize(node: ArkUI_NodeHandle) -> i32;
1965    /// Finalize the XComponent node.
1966    ///
1967    /// # Arguments
1968    ///
1969    /// * `node` - Indicates the pointer to the XComponent node.
1970    ///
1971    /// # Returns
1972    ///
1973    /// * Returns the status code of the execution.
1974    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1975    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if the node is invalid.
1976    /// [`ARKUI_ERROR_CODE_XCOMPONENT_STATE_INVALID`] if the node has finalized.
1977    ///
1978    /// Available since API-level: 19
1979    #[cfg(feature = "api-19")]
1980    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1981    pub fn OH_ArkUI_XComponent_Finalize(node: ArkUI_NodeHandle) -> i32;
1982    /// Obtains whether the XComponent node has initalized or not.
1983    ///
1984    /// # Arguments
1985    ///
1986    /// * `node` - Indicates the pointer to the XComponent node.
1987    ///
1988    /// * `isInitialized` - Indicates whether the XComponent node has initalized.
1989    ///
1990    /// # Returns
1991    ///
1992    /// * Returns the status code of the execution.
1993    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
1994    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if the node is invalid.
1995    ///
1996    /// Available since API-level: 19
1997    #[cfg(feature = "api-19")]
1998    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1999    pub fn OH_ArkUI_XComponent_IsInitialized(
2000        node: ArkUI_NodeHandle,
2001        isInitialized: *mut bool,
2002    ) -> i32;
2003    /// Set the Expected FrameRateRange for the XComponent node.
2004    ///
2005    /// # Arguments
2006    ///
2007    /// * `node` - Indicates the pointer to the XComponent node.
2008    ///
2009    /// * `range` - Indicates the expected rate range.
2010    ///
2011    /// # Returns
2012    ///
2013    /// * Returns the status code of the execution.
2014    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
2015    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
2016    ///
2017    /// Available since API-level: 20
2018    ///
2019    /// Version: 1.0
2020    #[cfg(feature = "api-20")]
2021    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2022    pub fn OH_ArkUI_XComponent_SetExpectedFrameRateRange(
2023        node: ArkUI_NodeHandle,
2024        range: OH_NativeXComponent_ExpectedRateRange,
2025    ) -> i32;
2026    /// Registers an onFrame callback for the XComponent node.
2027    ///
2028    /// # Arguments
2029    ///
2030    /// * `node` - Indicates the pointer to the XComponent node.
2031    ///
2032    /// * `callback` - Indicates the pointer to an onFrame callback.
2033    ///
2034    /// # Returns
2035    ///
2036    /// * Returns the status code of the execution.
2037    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
2038    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
2039    ///
2040    /// Available since API-level: 20
2041    ///
2042    /// Version: 1.0
2043    #[cfg(feature = "api-20")]
2044    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2045    pub fn OH_ArkUI_XComponent_RegisterOnFrameCallback(
2046        node: ArkUI_NodeHandle,
2047        callback: ::core::option::Option<
2048            unsafe extern "C" fn(node: ArkUI_NodeHandle, timestamp: u64, targetTimestamp: u64),
2049        >,
2050    ) -> i32;
2051    /// UnRegister the onFrame callback for the XComponent node.
2052    ///
2053    /// # Arguments
2054    ///
2055    /// * `node` - Indicates the pointer to the XComponent node.
2056    ///
2057    /// # Returns
2058    ///
2059    /// * Returns the status code of the execution.
2060    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
2061    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
2062    ///
2063    /// Available since API-level: 20
2064    ///
2065    /// Version: 1.0
2066    #[cfg(feature = "api-20")]
2067    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2068    pub fn OH_ArkUI_XComponent_UnregisterOnFrameCallback(node: ArkUI_NodeHandle) -> i32;
2069    /// Set whether the XComponent node needs soft keyboard when focused.
2070    /// # Arguments
2071    ///
2072    /// * `node` - Indicates the pointer to the XComponent node.
2073    ///
2074    /// * `needSoftKeyboard` - Indicates whether the XComponent node needs soft keyboard or not.
2075    /// Default value is false.
2076    ///
2077    /// # Returns
2078    ///
2079    /// * Returns the status code of the execution.
2080    /// [`ARKUI_ERROR_CODE_NO_ERROR`] the execution is successful.
2081    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
2082    ///
2083    /// Available since API-level: 20
2084    #[cfg(feature = "api-20")]
2085    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2086    pub fn OH_ArkUI_XComponent_SetNeedSoftKeyboard(
2087        node: ArkUI_NodeHandle,
2088        needSoftKeyboard: bool,
2089    ) -> i32;
2090    /// Create a <b>ArkUI_AccessibilityProvider</b> object from an XComponent node.
2091    ///
2092    /// # Arguments
2093    ///
2094    /// * `node` - Indicates the pointer to the XComponent node.
2095    ///
2096    /// # Returns
2097    ///
2098    /// * Returns the created <b>ArkUI_AccessibilityProvider</b> object's pointer.
2099    ///
2100    /// Available since API-level: 20
2101    #[cfg(feature = "api-20")]
2102    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2103    pub fn OH_ArkUI_AccessibilityProvider_Create(
2104        node: ArkUI_NodeHandle,
2105    ) -> *mut ArkUI_AccessibilityProvider;
2106    /// Disposes of an <b>ArkUI_AccessibilityProvider</b> object.
2107    ///
2108    /// # Arguments
2109    ///
2110    /// * `provider` - Indicates the pointer to <b>ArkUI_AccessibilityProvider</b> object needed to dispose.
2111    ///
2112    /// Available since API-level: 20
2113    #[cfg(feature = "api-20")]
2114    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2115    pub fn OH_ArkUI_AccessibilityProvider_Dispose(provider: *mut ArkUI_AccessibilityProvider);
2116    /// Set the surface show event of the surface callback.
2117    ///
2118    /// # Arguments
2119    ///
2120    /// * `callback` - Indicated the pointer to the surface callback.
2121    ///
2122    /// * `onSurfaceShow` - Indicates the surface show callback event which will called when the surface is shown.
2123    ///
2124    /// Available since API-level: 20
2125    #[cfg(feature = "api-20")]
2126    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2127    pub fn OH_ArkUI_SurfaceCallback_SetSurfaceShowEvent(
2128        callback: *mut OH_ArkUI_SurfaceCallback,
2129        onSurfaceShow: ::core::option::Option<
2130            unsafe extern "C" fn(surfaceHolder: *mut OH_ArkUI_SurfaceHolder),
2131        >,
2132    );
2133    /// Set the surface hide event of the surface callback.
2134    ///
2135    /// # Arguments
2136    ///
2137    /// * `callback` - Indicated the pointer to the surface callback.
2138    ///
2139    /// * `onSurfaceHide` - Indicates the surface hide callback event which will called when the surface is hide.
2140    ///
2141    /// Available since API-level: 20
2142    #[cfg(feature = "api-20")]
2143    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2144    pub fn OH_ArkUI_SurfaceCallback_SetSurfaceHideEvent(
2145        callback: *mut OH_ArkUI_SurfaceCallback,
2146        onSurfaceHide: ::core::option::Option<
2147            unsafe extern "C" fn(surfaceHolder: *mut OH_ArkUI_SurfaceHolder),
2148        >,
2149    );
2150}