arkui_sys/ui_input_event/
ui_input_event_api12.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
/* automatically generated by rust-bindgen 0.70.1 */

#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::native_type::*;

#[repr(C)]
pub struct ArkUI_UIInputEvent {
    _unused: [u8; 0],
}
impl ArkUI_UIInputEvent_Type {
    pub const ARKUI_UIINPUTEVENT_TYPE_UNKNOWN: ArkUI_UIInputEvent_Type = ArkUI_UIInputEvent_Type(0);
}
impl ArkUI_UIInputEvent_Type {
    pub const ARKUI_UIINPUTEVENT_TYPE_TOUCH: ArkUI_UIInputEvent_Type = ArkUI_UIInputEvent_Type(1);
}
impl ArkUI_UIInputEvent_Type {
    pub const ARKUI_UIINPUTEVENT_TYPE_AXIS: ArkUI_UIInputEvent_Type = ArkUI_UIInputEvent_Type(2);
}
impl ArkUI_UIInputEvent_Type {
    /// Mouse event.
    pub const ARKUI_UIINPUTEVENT_TYPE_MOUSE: ArkUI_UIInputEvent_Type = ArkUI_UIInputEvent_Type(3);
}
#[repr(transparent)]
/** @brief Enumerates the UI input event types.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct ArkUI_UIInputEvent_Type(pub ::core::ffi::c_uint);
/// Cancellation of touch.
pub const UI_TOUCH_EVENT_ACTION_CANCEL: _bindgen_ty_1 = _bindgen_ty_1(0);
/// Pressing of a touch point.
pub const UI_TOUCH_EVENT_ACTION_DOWN: _bindgen_ty_1 = _bindgen_ty_1(1);
/// Moving of a touch point.
pub const UI_TOUCH_EVENT_ACTION_MOVE: _bindgen_ty_1 = _bindgen_ty_1(2);
/// Lifting of a touch point.
pub const UI_TOUCH_EVENT_ACTION_UP: _bindgen_ty_1 = _bindgen_ty_1(3);
#[repr(transparent)]
/** @brief Defines the action code of the input event.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct _bindgen_ty_1(pub ::core::ffi::c_uint);
/// Unknown tool type.
pub const UI_INPUT_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_2 = _bindgen_ty_2(0);
/// Finger.
pub const UI_INPUT_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_2 = _bindgen_ty_2(1);
/// Pen.
pub const UI_INPUT_EVENT_TOOL_TYPE_PEN: _bindgen_ty_2 = _bindgen_ty_2(2);
/// Mouse.
pub const UI_INPUT_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_2 = _bindgen_ty_2(3);
/// TouchPad.
pub const UI_INPUT_EVENT_TOOL_TYPE_TOUCHPAD: _bindgen_ty_2 = _bindgen_ty_2(4);
/// JoyStick.
pub const UI_INPUT_EVENT_TOOL_TYPE_JOYSTICK: _bindgen_ty_2 = _bindgen_ty_2(5);
#[repr(transparent)]
/** @brief Defines the tool type of the touch event.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct _bindgen_ty_2(pub ::core::ffi::c_uint);
/// Unknown source type.
pub const UI_INPUT_EVENT_SOURCE_TYPE_UNKNOWN: _bindgen_ty_3 = _bindgen_ty_3(0);
/// Mouse.
pub const UI_INPUT_EVENT_SOURCE_TYPE_MOUSE: _bindgen_ty_3 = _bindgen_ty_3(1);
/// Touchscreen.
pub const UI_INPUT_EVENT_SOURCE_TYPE_TOUCH_SCREEN: _bindgen_ty_3 = _bindgen_ty_3(2);
#[repr(transparent)]
/** @brief Defines the source type of the touch event.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct _bindgen_ty_3(pub ::core::ffi::c_uint);
impl HitTestMode {
    /** Both the node and its child node respond to the hit test of a touch event, but its sibling node is blocked from
    the hit test.*/
    pub const HTM_DEFAULT: HitTestMode = HitTestMode(0);
}
impl HitTestMode {
    /** The node responds to the hit test of a touch event, but its child node and sibling node are blocked from the hit
    test.*/
    pub const HTM_BLOCK: HitTestMode = HitTestMode(1);
}
impl HitTestMode {
    /** Both the node and its child node respond to the hit test of a touch event, and its sibling node is also
    considered during the hit test.*/
    pub const HTM_TRANSPARENT: HitTestMode = HitTestMode(2);
}
impl HitTestMode {
    /** The node does not respond to the hit test of a touch event, but its child node and sibling node are considered
    during the hit test.*/
    pub const HTM_NONE: HitTestMode = HitTestMode(3);
}
#[repr(transparent)]
/** @brief Enumerates the hit test modes.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct HitTestMode(pub ::core::ffi::c_uint);
/// Invalid.
pub const UI_MOUSE_EVENT_ACTION_UNKNOWN: _bindgen_ty_4 = _bindgen_ty_4(0);
/// Press.
pub const UI_MOUSE_EVENT_ACTION_PRESS: _bindgen_ty_4 = _bindgen_ty_4(1);
/// Release.
pub const UI_MOUSE_EVENT_ACTION_RELEASE: _bindgen_ty_4 = _bindgen_ty_4(2);
/// Move.
pub const UI_MOUSE_EVENT_ACTION_MOVE: _bindgen_ty_4 = _bindgen_ty_4(3);
#[repr(transparent)]
/** @brief Define the Action Code for mouse events.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct _bindgen_ty_4(pub ::core::ffi::c_uint);
/// None.
pub const UI_MOUSE_EVENT_BUTTON_NONE: _bindgen_ty_5 = _bindgen_ty_5(0);
/// Left.
pub const UI_MOUSE_EVENT_BUTTON_LEFT: _bindgen_ty_5 = _bindgen_ty_5(1);
/// Right.
pub const UI_MOUSE_EVENT_BUTTON_RIGHT: _bindgen_ty_5 = _bindgen_ty_5(2);
/// Middle.
pub const UI_MOUSE_EVENT_BUTTON_MIDDLE: _bindgen_ty_5 = _bindgen_ty_5(3);
/// Back.
pub const UI_MOUSE_EVENT_BUTTON_BACK: _bindgen_ty_5 = _bindgen_ty_5(4);
/// Forward.
pub const UI_MOUSE_EVENT_BUTTON_FORWARD: _bindgen_ty_5 = _bindgen_ty_5(5);
#[repr(transparent)]
/** @brief Define the button type for mouse events.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct _bindgen_ty_5(pub ::core::ffi::c_uint);
impl ArkUI_ModifierKeyName {
    /// Ctrl.
    pub const ARKUI_MODIFIER_KEY_CTRL: ArkUI_ModifierKeyName = ArkUI_ModifierKeyName(1);
}
impl ArkUI_ModifierKeyName {
    /// Shift.
    pub const ARKUI_MODIFIER_KEY_SHIFT: ArkUI_ModifierKeyName = ArkUI_ModifierKeyName(2);
}
impl ArkUI_ModifierKeyName {
    /// Alt.
    pub const ARKUI_MODIFIER_KEY_ALT: ArkUI_ModifierKeyName = ArkUI_ModifierKeyName(4);
}
impl ArkUI_ModifierKeyName {
    /// Fn.
    pub const ARKUI_MODIFIER_KEY_FN: ArkUI_ModifierKeyName = ArkUI_ModifierKeyName(8);
}
#[repr(transparent)]
/** @brief Defines an enum for modifier keys.

@since 12*/
#[derive(Clone, Hash, PartialEq, Eq)]
pub struct ArkUI_ModifierKeyName(pub ::core::ffi::c_uint);
extern "C" {
    /** @brief Obtains the type of this UI input event.

    @param event Indicates the pointer to the current UI input event.
    @return Returns the type of the current UI input event; returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_UIInputEvent_GetType(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Obtains the action type of this UI input event.

    @param event Indicates the pointer to the current UI input event.
    @return Returns the action type of the current UI input event; returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_UIInputEvent_GetAction(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Obtains the source type of this UI input event.

    @param event Indicates the pointer to the current UI input event.
    @return Returns the source type of the current UI input event.
    @since 12*/
    pub fn OH_ArkUI_UIInputEvent_GetSourceType(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Obtains the tool type of this UI input event.

    @param event Indicates the pointer to the current UI input event.
    @return Returns the tool type of the current UI input event.
    @since 12*/
    pub fn OH_ArkUI_UIInputEvent_GetToolType(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Obtains the time when this UI input event occurs.

    @param event Indicates the pointer to the current UI input event.
    @return Returns the time when the UI input event occurs; returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_UIInputEvent_GetEventTime(event: *const ArkUI_UIInputEvent) -> i64;
    /** @brief Obtains the number of touch points from a directional input event (such as a touch event, mouse event,
    or axis event).

    @param event Indicates the pointer to the current UI input event.
    @return Returns the number of touch points for the directional input event.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetPointerCount(event: *const ArkUI_UIInputEvent) -> u32;
    /** @brief Obtains the ID of a touch point from a directional input event (such as a touch event, mouse event,
    or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the ID of the corresponding touch point.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetPointerId(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> i32;
    /** @brief Obtains the X coordinate relative to the upper left corner of the current component from a directional
    input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the directional input event.
    @return Returns the X coordinate relative to the upper left corner of the current component;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetX(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the X coordinate of a specific touch point relative to the upper left corner of the current component
    from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the X coordinate relative to the upper left corner of the current component;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetXByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate relative to the upper left corner of the current component from a directional
    input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the UI input event.
    @return Returns the Y coordinate relative to the upper left corner of the current component;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetY(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point relative to the upper left corner of the current component
    from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the Y coordinate relative to the upper left corner of the current component;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetYByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the X coordinate relative to the upper left corner of the current application window from a
    directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the UI input event.
    @return Returns the X coordinate relative to the upper left corner of the current application window;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetWindowX(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the X coordinate of a specific touch point relative to the upper left corner of the current
    application window from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the X coordinate relative to the upper left corner of the current application window;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetWindowXByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate relative to the upper left corner of the current application window from a
    directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the UI input event.
    @return Returns the Y coordinate relative to the upper left corner of the current application window;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetWindowY(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point relative to the upper left corner of the current
    application window from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the Y coordinate relative to the upper left corner of the current application window;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetWindowYByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the X coordinate relative to the upper left corner of the current screen from a directional input
    event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the UI input event.
    @return Returns the X coordinate relative to the upper left corner of the current screen;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetDisplayX(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the X coordinate of a specific touch point relative to the upper left corner of the current screen
    from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the X coordinate relative to the upper left corner of the current screen;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetDisplayXByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate relative to the upper left corner of the current screen from a directional input
    event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the UI input event.
    @return Returns the Y coordinate relative to the upper left corner of the current screen;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetDisplayY(event: *const ArkUI_UIInputEvent) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point relative to the upper left corner of the current screen
    from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the Y coordinate relative to the upper left corner of the current screen;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetDisplayYByIndex(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the pressure applied to the touchscreen from a directional input event (for example, a touch event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the pressure applied to the touchscreen; returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetPressure(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the angle relative to the YZ plane from a directional input event (for example, a touch event).
    The value range is [-90, 90]. A positive value indicates a rightward tilt.

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the angle relative to the YZ plane.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetTiltX(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the angle relative to the XZ plane from a directional input event (for example, a touch event).
    The value range is [-90, 90]. A positive value indicates a downward tilt.

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the angle relative to the XZ plane.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetTiltY(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the width of the touch area from a directional input event (for example, a touch event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the width of the touch area.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetTouchAreaWidth(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the height of the touch area from a directional input event (for example, a touch event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @return Returns the height of the touch area.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetTouchAreaHeight(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
    ) -> f32;
    /** @brief Obtains the number of historical events from a directional input event (such as a touch event, mouse event,
    or axis event).

    @param event Indicates the pointer to the current UI input event.
    @return Returns the number of historical events.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistorySize(event: *const ArkUI_UIInputEvent) -> u32;
    /** @brief Obtains the occurrence time of a historical event from a directional input event (such as a touch event,
    mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the time when the UI input event occurs; returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryEventTime(
        event: *const ArkUI_UIInputEvent,
        historyIndex: u32,
    ) -> i64;
    /** @brief Obtains the number of touch points in a specific historical event from a directional input event (such as
    a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the number of touch points in the specified historical event
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryPointerCount(
        event: *const ArkUI_UIInputEvent,
        historyIndex: u32,
    ) -> u32;
    /** @brief Obtains the ID of a touch point in a specific historical event from a directional input event (such as
    a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the ID of the corresponding touch point in the specified historical event.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryPointerId(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> i32;
    /** @brief Obtains the X coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current component from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the X coordinate relative to the upper left corner of the current component;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryX(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current component from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the Y coordinate relative to the upper left corner of the current component;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryY(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the X coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current application window from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the X coordinate relative to the upper left corner of the current application window;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryWindowX(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current application window from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the Y coordinate relative to the upper left corner of the current application window;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryWindowY(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the X coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current screen from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the X coordinate relative to the upper left corner of the current screen;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryDisplayX(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the Y coordinate of a specific touch point in a historical event relative to the upper left corner
    of the current screen from a directional input event (such as a touch event, mouse event, or axis event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the Y coordinate relative to the upper left corner of the current screen;
    returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryDisplayY(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the pressure applied to the touchscreen in a specific historical event from a directional input event
    (for example, a touch event)..

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the pressure applied to the touchscreen; returns <b>0.0f</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryPressure(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the angle relative to the YZ plane in a specific historical event from a directional input event
    (for example, a touch event). The value range is [-90, 90]. A positive value indicates a rightward tilt.

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the angle relative to the YZ plane.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryTiltX(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the angle relative to the XZ plane in a specific historical event from a directional input event
    (for example, a touch event). The value range is [-90, 90]. A positive value indicates a downward tilt.

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the angle relative to the XZ plane.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryTiltY(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the width of the touch area in a specific historical event from a directional input event
    (for example, a touch event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the width of the touch area.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryTouchAreaWidth(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the height of the touch area in a specific historical event from a directional input event
    (for example, a touch event).

    @param event Indicates the pointer to the current UI input event.
    @param pointerIndex Indicates the index of the target touch point in the multi-touch data list.
    @param historyIndex Indicates the index of the target historical event.
    @return Returns the height of the touch area.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_GetHistoryTouchAreaHeight(
        event: *const ArkUI_UIInputEvent,
        pointerIndex: u32,
        historyIndex: u32,
    ) -> f32;
    /** @brief Obtains the value of the vertical scroll axis for this axis event.

    @param event Indicates the pointer to the UI input event.
    @return Returns the value of the vertical scroll axis of the current axis event;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_AxisEvent_GetVerticalAxisValue(event: *const ArkUI_UIInputEvent) -> f64;
    /** @brief Obtains the value of the horizontal scroll axis for this axis event.

    @param event Indicates the pointer to the UI input event.
    @return Returns the value of the horizontal scroll axis of the current axis event;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_AxisEvent_GetHorizontalAxisValue(event: *const ArkUI_UIInputEvent) -> f64;
    /** @brief Obtains the scale value of the pinch axis for this axis event.

    @param event Indicates the pointer to the UI input event.
    @return Returns the scale value of the pinch axis of the current axis event;
    returns <b>0</b> if any parameter error occurs.
    @since 12*/
    pub fn OH_ArkUI_AxisEvent_GetPinchAxisScaleValue(event: *const ArkUI_UIInputEvent) -> f64;
    /** @brief Sets how the component behaves during hit testing.

    @param event Indicates the pointer to the current UI input event.
    @param mode Indicates how the component behaves during hit testing. The parameter type is {@link HitTestMode}.
    @return Returns the status code of the execution.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_SetInterceptHitTestMode(
        event: *const ArkUI_UIInputEvent,
        mode: HitTestMode,
    ) -> i32;
    /** @brief Get the value of the button type for mouse events.

    @param event Represents a pointer to the current UI input event.
    @return Return to the mouse button type, where <b>1</b> is the left button, <b>2</b> is the right button,
    <b>3</b> is the middle button, <b>4</b> is the back button, and <b>5</b> is the forward button.
    @since 12*/
    pub fn OH_ArkUI_MouseEvent_GetMouseButton(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Get the value of the mouse action type for mouse events.

    @param event Represents a pointer to the current UI input event.
    @return Returns the type of mouse action, where <b>1</b> represents button pressed,
    <b>2</b> represents button released, and <b>3</b> represents mouse movement.
    @since 12*/
    pub fn OH_ArkUI_MouseEvent_GetMouseAction(event: *const ArkUI_UIInputEvent) -> i32;
    /** @brief Sets whether to prevent event bubbling.

    @param event Indicates the pointer to the current UI input event.
    @param stopPropagation Indicates whether the event is prevented from bubbling.
    @return Returns the status code of the execution. If 0 is returned, the setting is successful.
            If 401 is returned, the execution fails.
            The possible cause of the failure is that the event parameter is abnormal, such as a null pointer.
    @since 12*/
    pub fn OH_ArkUI_PointerEvent_SetStopPropagation(
        event: *const ArkUI_UIInputEvent,
        stopPropagation: bool,
    ) -> i32;
}