arkui_sys/native_node/
native_node_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)]
6use crate::native_type::*;
7use crate::ui_input_event::ArkUI_UIInputEvent;
8#[cfg(feature = "api-15")]
9use ohos_sys_opaque_types::OH_PixelmapNative;
10
11#[cfg(feature = "api-12")]
12#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13impl ArkUI_NodeType {
14    /// Custom node.
15    pub const ARKUI_NODE_CUSTOM: ArkUI_NodeType = ArkUI_NodeType(0);
16    /// Text.
17    pub const ARKUI_NODE_TEXT: ArkUI_NodeType = ArkUI_NodeType(1);
18    /// Text span.
19    pub const ARKUI_NODE_SPAN: ArkUI_NodeType = ArkUI_NodeType(2);
20    /// Image span.
21    pub const ARKUI_NODE_IMAGE_SPAN: ArkUI_NodeType = ArkUI_NodeType(3);
22    /// Image.
23    pub const ARKUI_NODE_IMAGE: ArkUI_NodeType = ArkUI_NodeType(4);
24    /// Toggle.
25    pub const ARKUI_NODE_TOGGLE: ArkUI_NodeType = ArkUI_NodeType(5);
26    /// Loading icon.
27    pub const ARKUI_NODE_LOADING_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(6);
28    /// Single-line text input.
29    pub const ARKUI_NODE_TEXT_INPUT: ArkUI_NodeType = ArkUI_NodeType(7);
30    /// Multi-line text input.
31    pub const ARKUI_NODE_TEXT_AREA: ArkUI_NodeType = ArkUI_NodeType(8);
32    /// Button.
33    pub const ARKUI_NODE_BUTTON: ArkUI_NodeType = ArkUI_NodeType(9);
34    /// Progress indicator.
35    pub const ARKUI_NODE_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(10);
36    /// Check box.
37    pub const ARKUI_NODE_CHECKBOX: ArkUI_NodeType = ArkUI_NodeType(11);
38    /// XComponent.
39    pub const ARKUI_NODE_XCOMPONENT: ArkUI_NodeType = ArkUI_NodeType(12);
40    /// Date picker.
41    pub const ARKUI_NODE_DATE_PICKER: ArkUI_NodeType = ArkUI_NodeType(13);
42    /// Time picker.
43    pub const ARKUI_NODE_TIME_PICKER: ArkUI_NodeType = ArkUI_NodeType(14);
44    /// Text picker.
45    pub const ARKUI_NODE_TEXT_PICKER: ArkUI_NodeType = ArkUI_NodeType(15);
46    /// Calendar picker.
47    pub const ARKUI_NODE_CALENDAR_PICKER: ArkUI_NodeType = ArkUI_NodeType(16);
48    /// Slider.
49    pub const ARKUI_NODE_SLIDER: ArkUI_NodeType = ArkUI_NodeType(17);
50    /// Radio
51    pub const ARKUI_NODE_RADIO: ArkUI_NodeType = ArkUI_NodeType(18);
52    /// Image animator.
53    pub const ARKUI_NODE_IMAGE_ANIMATOR: ArkUI_NodeType = ArkUI_NodeType(19);
54    /// XComponent of type TEXTURE.
55    ///
56    /// Available since API-level: 18
57    #[cfg(feature = "api-18")]
58    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
59    pub const ARKUI_NODE_XCOMPONENT_TEXTURE: ArkUI_NodeType = ArkUI_NodeType(20);
60    /// Check box group.
61    ///
62    /// Available since API-level: 15
63    #[cfg(feature = "api-15")]
64    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
65    pub const ARKUI_NODE_CHECKBOX_GROUP: ArkUI_NodeType = ArkUI_NodeType(21);
66    /// Stack container.
67    pub const ARKUI_NODE_STACK: ArkUI_NodeType = ArkUI_NodeType(1000);
68    /// Swiper.
69    pub const ARKUI_NODE_SWIPER: ArkUI_NodeType = ArkUI_NodeType(1001);
70    /// Scrolling container.
71    pub const ARKUI_NODE_SCROLL: ArkUI_NodeType = ArkUI_NodeType(1002);
72    /// List.
73    pub const ARKUI_NODE_LIST: ArkUI_NodeType = ArkUI_NodeType(1003);
74    /// List item.
75    pub const ARKUI_NODE_LIST_ITEM: ArkUI_NodeType = ArkUI_NodeType(1004);
76    /// List item group.
77    pub const ARKUI_NODE_LIST_ITEM_GROUP: ArkUI_NodeType = ArkUI_NodeType(1005);
78    /// Column container.
79    pub const ARKUI_NODE_COLUMN: ArkUI_NodeType = ArkUI_NodeType(1006);
80    /// Row container.
81    pub const ARKUI_NODE_ROW: ArkUI_NodeType = ArkUI_NodeType(1007);
82    /// Flex container.
83    pub const ARKUI_NODE_FLEX: ArkUI_NodeType = ArkUI_NodeType(1008);
84    /// Refresh component.
85    pub const ARKUI_NODE_REFRESH: ArkUI_NodeType = ArkUI_NodeType(1009);
86    /// Water flow container.
87    pub const ARKUI_NODE_WATER_FLOW: ArkUI_NodeType = ArkUI_NodeType(1010);
88    /// Water flow item.
89    pub const ARKUI_NODE_FLOW_ITEM: ArkUI_NodeType = ArkUI_NodeType(1011);
90    /// Relative layout component.
91    pub const ARKUI_NODE_RELATIVE_CONTAINER: ArkUI_NodeType = ArkUI_NodeType(1012);
92    /// Grid.
93    pub const ARKUI_NODE_GRID: ArkUI_NodeType = ArkUI_NodeType(1013);
94    /// Grid item.
95    pub const ARKUI_NODE_GRID_ITEM: ArkUI_NodeType = ArkUI_NodeType(1014);
96    /// Custom span.
97    pub const ARKUI_NODE_CUSTOM_SPAN: ArkUI_NodeType = ArkUI_NodeType(1015);
98    /// EmbeddedComponent.
99    ///
100    /// Available since API-level: 20
101    #[cfg(feature = "api-20")]
102    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
103    pub const ARKUI_NODE_EMBEDDED_COMPONENT: ArkUI_NodeType = ArkUI_NodeType(1016);
104    /// Undefined.
105    ///
106    /// Available since API-level: 20
107    #[cfg(feature = "api-20")]
108    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
109    pub const ARKUI_NODE_UNDEFINED: ArkUI_NodeType = ArkUI_NodeType(1017);
110}
111#[repr(transparent)]
112/// Enumerates ArkUI component types that can be created on the native side.
113///
114///
115/// Available since API-level: 12
116#[cfg(feature = "api-12")]
117#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
118#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
119pub struct ArkUI_NodeType(pub ::core::ffi::c_uint);
120/// Defines the general input parameter structure of the [`setAttribute`] function.
121///
122///
123/// Available since API-level: 12
124#[cfg(feature = "api-12")]
125#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
126#[repr(C)]
127#[derive(Debug, Copy, Clone)]
128pub struct ArkUI_AttributeItem {
129    /// Numeric array.
130    pub value: *const ArkUI_NumberValue,
131    /// Size of the numeric array.
132    pub size: i32,
133    /// String type.
134    pub string: *const ::core::ffi::c_char,
135    /// Object type.
136    pub object: *mut ::core::ffi::c_void,
137}
138#[cfg(feature = "api-12")]
139#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
140impl ArkUI_NodeAttributeType {
141    /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
142    ///
143    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
144    ///
145    /// .value[0].f32: width, in vp.
146    ///
147    ///
148    ///
149    /// Format of the return value [`ArkUI_AttributeItem`]:
150    ///
151    /// .value[0].f32: width, in vp.
152    pub const NODE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(0);
153    /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
154    ///
155    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
156    ///
157    /// .value[0].f32: height, in vp.
158    ///
159    ///
160    ///
161    /// Format of the return value [`ArkUI_AttributeItem`]:
162    ///
163    /// .value[0].f32: height, in vp.
164    pub const NODE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1);
165    /// Defines the background color attribute, which can be set, reset, and obtained as required through APIs.
166    ///
167    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
168    ///
169    /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
170    ///
171    ///
172    ///
173    /// Format of the return value [`ArkUI_AttributeItem`]:
174    ///
175    /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
176    pub const NODE_BACKGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2);
177    /// Defines the background image attribute, which can be set, reset, and obtained as required through APIs.
178    ///
179    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
180    ///
181    /// .string: image address;
182    ///
183    /// .value[0]?.i32: whether to repeat the image. Optional. The parameter type is [`ArkUI_ImageRepeat`].
184    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
185    ///
186    /// The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.
187    ///
188    ///
189    ///
190    /// Format of the return value [`ArkUI_AttributeItem`]:
191    ///
192    /// .string: image address;
193    ///
194    /// .value[0].i32: whether to repeat the image. The parameter type is [`ArkUI_ImageRepeat`].
195    ///
196    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
197    pub const NODE_BACKGROUND_IMAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3);
198    /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
199    ///
200    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
201    ///
202    /// 1: Specify the same padding for the four directions.
203    ///
204    /// .value[0].f32: padding, in vp.
205    ///
206    /// 2: Specify different paddings for different directions.
207    ///
208    /// .value[0].f32: top padding, in vp.
209    ///
210    /// .value[1].f32: right padding, in vp.
211    ///
212    /// .value[2].f32: bottom padding, in vp.
213    ///
214    /// .value[3].f32: left padding, in vp.
215    ///
216    ///
217    ///
218    /// Format of the return value [`ArkUI_AttributeItem`]:
219    ///
220    /// .value[0].f32: top padding, in vp.
221    ///
222    /// .value[1].f32: right padding, in vp.
223    ///
224    /// .value[2].f32: bottom padding, in vp.
225    ///
226    /// .value[3].f32: left padding, in vp.
227    pub const NODE_PADDING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4);
228    /// Defines the component ID attribute, which can be set, reset, and obtained as required through APIs.
229    ///
230    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
231    ///
232    /// .string: component ID.
233    ///
234    ///
235    ///
236    /// Format of the return value [`ArkUI_AttributeItem`]:
237    ///
238    /// .string: component ID.
239    pub const NODE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5);
240    /// Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs.
241    ///
242    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
243    ///
244    /// .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.
245    ///
246    ///
247    ///
248    /// Format of the return value [`ArkUI_AttributeItem`]:
249    ///
250    /// .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite.
251    pub const NODE_ENABLED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6);
252    /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
253    ///
254    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
255    ///
256    /// 1: Specify the same margin for the four directions.
257    ///
258    /// .value[0].f32: margin, in vp.
259    ///
260    /// 2: Specify different margins for different directions.
261    ///
262    /// .value[0].f32: top margin, in vp.
263    ///
264    /// .value[1].f32: right margin, in vp.
265    ///
266    /// .value[2].f32: bottom margin, in vp.
267    ///
268    /// .value[3].f32: left margin, in vp.
269    ///
270    ///
271    ///
272    /// Format of the return value [`ArkUI_AttributeItem`]:
273    ///
274    /// .value[0].f32: top margin, in vp.
275    ///
276    /// .value[1].f32: right margin, in vp.
277    ///
278    /// .value[2].f32: bottom margin, in vp.
279    ///
280    /// .value[3].f32: left margin, in vp.
281    pub const NODE_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7);
282    /// Defines the translate attribute, which can be set, reset, and obtained as required through APIs.
283    ///
284    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
285    ///
286    /// .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.
287    ///
288    /// .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.
289    ///
290    /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
291    ///
292    ///
293    ///
294    /// Format of the return value [`ArkUI_AttributeItem`]:
295    ///
296    /// .value[0].f32: distance to translate along the x-axis, in vp.
297    ///
298    /// .value[1].f32: distance to translate along the y-axis, in vp.
299    ///
300    /// .value[2].f32: distance to translate along the z-axis, in vp.
301    pub const NODE_TRANSLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8);
302    /// Defines the scale attribute, which can be set, reset, and obtained as required through APIs.
303    ///
304    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
305    ///
306    /// .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.
307    ///
308    /// .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>.
309    ///
310    ///
311    ///
312    /// Format of the return value [`ArkUI_AttributeItem`]:
313    ///
314    /// .value[0].f32: scale factor along the x-axis.
315    ///
316    /// .value[1].f32: scale factor along the y-axis.
317    pub const NODE_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9);
318    /// Defines the rotate attribute, which can be set, reset, and obtained as required through APIs.
319    ///
320    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
321    ///
322    /// .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.
323    ///
324    /// .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.
325    ///
326    /// .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.
327    ///
328    /// .value[3].f32: rotation angle. The default value is <b>0</b>.
329    ///
330    /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
331    /// The default value is <b>0</b>.
332    ///
333    ///
334    ///
335    /// Format of the return value [`ArkUI_AttributeItem`]:
336    ///
337    /// .value[0].f32: X coordinate of the rotation axis vector.
338    ///
339    /// .value[1].f32: Y coordinate of the rotation axis vector.
340    ///
341    /// .value[2].f32: Z coordinate of the rotation axis vector.
342    ///
343    /// .value[3].f32: rotation angle.
344    ///
345    /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
346    pub const NODE_ROTATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10);
347    /// Sets the brightness attribute, which can be set, reset, and obtained as required through APIs.
348    ///
349    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
350    ///
351    /// .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2].
352    ///
353    ///
354    ///
355    /// Format of the return value [`ArkUI_AttributeItem`]:
356    ///
357    /// .value[0].f32: brightness value.
358    pub const NODE_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11);
359    /// Sets the saturation attribute, which can be set, reset, and obtained as required through APIs.
360    ///
361    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
362    ///
363    /// .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50).
364    ///
365    ///
366    ///
367    /// Format of the return value [`ArkUI_AttributeItem`]:
368    ///
369    /// .value[0].f32: saturation value.
370    pub const NODE_SATURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12);
371    /// Sets the blur attribute, which can be set, reset, and obtained as required through APIs.
372    ///
373    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
374    ///
375    /// .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>,
376    /// the component is not blurred. The unit is vp. The default value is <b>0.0</b>.
377    ///
378    ///
379    ///
380    /// Format of the return value [`ArkUI_AttributeItem`]:
381    ///
382    /// .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>,
383    /// the image is not blurred. The unit is vp.
384    pub const NODE_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13);
385    /// Sets the gradient attribute, which can be set, reset, and obtained as required through APIs.
386    ///
387    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
388    ///
389    /// .value[0].f32: start angle of the linear gradient. This attribute takes effect only when
390    /// [`ArkUI_LinearGradientDirection`] is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
391    /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
392    ///
393    /// .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect.
394    /// The parameter type is [`ArkUI_LinearGradientDirection`]:
395    ///
396    /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
397    ///
398    /// .object: array of color stops, each of which consists of a color and its stop position.
399    /// Invalid colors are automatically skipped.
400    ///
401    /// colors: colors of the color stops.
402    ///
403    /// stops: stop positions of the color stops.
404    ///
405    /// size: number of colors.
406    ///
407    ///
408    ///
409    /// Format of the return value [`ArkUI_AttributeItem`]:
410    ///
411    /// .value[0].f32: start angle of the linear gradient.
412    ///
413    /// .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set.
414    ///
415    /// .value[2].i32: whether the colors are repeated.
416    ///
417    /// .object: array of color stops, each of which consists of a color and its stop position.
418    /// Invalid colors are automatically skipped.
419    ///
420    /// colors: colors of the color stops.
421    ///
422    /// stops: stop positions of the color stops.
423    ///
424    /// size: number of colors.
425    pub const NODE_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14);
426    /// Sets the alignment attribute, which can be set, reset, and obtained as required through APIs.
427    ///
428    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
429    ///
430    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
431    /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
432    ///
433    ///
434    ///
435    /// Format of the return value [`ArkUI_AttributeItem`]:
436    ///
437    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
438    pub const NODE_ALIGNMENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15);
439    /// Defines the opacity attribute, which can be set, reset, and obtained as required through APIs.
440    ///
441    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
442    ///
443    /// .value[0].f32: opacity value. The value ranges from 0 to 1.
444    ///
445    ///
446    ///
447    /// Format of the return value [`ArkUI_AttributeItem`]:
448    ///
449    /// .value[0].f32: opacity value. The value ranges from 0 to 1.
450    pub const NODE_OPACITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16);
451    /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
452    ///
453    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
454    ///
455    /// 1: .value[0].f32: width of the four borders.
456    ///
457    /// 2: .value[0].f32: width of the top border.
458    ///
459    /// .value[1].f32: width of the right border.
460    ///
461    /// .value[2].f32: width of the bottom border.
462    ///
463    /// .value[3].f32: width of the left border.
464    ///
465    ///
466    ///
467    /// Format of the return value [`ArkUI_AttributeItem`]:
468    ///
469    /// .value[0].f32: width of the top border.
470    ///
471    /// .value[1].f32: width of the right border.
472    ///
473    /// .value[2].f32: width of the bottom border.
474    ///
475    /// .value[3].f32: width of the left border.
476    pub const NODE_BORDER_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17);
477    /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
478    ///
479    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
480    ///
481    /// 1: .value[0].f32: radius of the four corners.
482    ///
483    /// 2: .value[0].f32: radius of the upper left corner.
484    ///
485    /// .value[1].f32: radius of the upper right corner.
486    ///
487    /// .value[2].f32: radius of the lower left corner.
488    ///
489    /// .value[3].f32: radius of the lower right corner.
490    ///
491    ///
492    ///
493    /// Format of the return value [`ArkUI_AttributeItem`]:
494    ///
495    /// .value[0].f32: radius of the upper left corner.
496    ///
497    /// .value[1].f32: radius of the upper right corner.
498    ///
499    /// .value[2].f32: radius of the lower left corner.
500    ///
501    /// .value[3].f32: radius of the lower right corner.
502    pub const NODE_BORDER_RADIUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18);
503    /// Defines the border color attribute, which can be set, reset, and obtained as required through APIs.
504    ///
505    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
506    ///
507    /// 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
508    ///
509    /// 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
510    ///
511    /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
512    ///
513    /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
514    ///
515    /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
516    ///
517    ///
518    ///
519    /// Format of the return value [`ArkUI_AttributeItem`]:
520    ///
521    /// .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
522    ///
523    /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
524    ///
525    /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
526    ///
527    /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
528    pub const NODE_BORDER_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19);
529    /// Defines the border line style attribute, which can be set, reset, and obtained as required through APIs.
530    ///
531    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
532    ///
533    /// 1: .value[0].i32: line style of the four borders. The parameter type is [`ArkUI_BorderStyle`].
534    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
535    ///
536    /// 2: .value[0].i32: line style of the top border. The parameter type is [`ArkUI_BorderStyle`].
537    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
538    ///
539    /// .value[1].i32: line style of the right border. The parameter type is [`ArkUI_BorderStyle`].
540    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
541    ///
542    /// .value[2].i32: line style of the bottom border. The parameter type is [`ArkUI_BorderStyle`].
543    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
544    ///
545    /// .value[3].i32: line style of the left border. The parameter type is [`ArkUI_BorderStyle`].
546    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
547    ///
548    ///
549    ///
550    /// Format of the return value [`ArkUI_AttributeItem`]:
551    ///
552    /// .value[0].i32: line style of the top border.
553    ///
554    /// .value[1].i32: line style of the right border.
555    ///
556    /// .value[2].i32: line style of the bottom border.
557    ///
558    /// .value[3].i32: line style of the left border.
559    pub const NODE_BORDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(20);
560    /// Defines the z-index attribute for the stack sequence.
561    /// This attribute can be set, reset, and obtained as required through APIs.
562    ///
563    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
564    ///
565    /// .value[0].i32: z-index value.
566    ///
567    ///
568    ///
569    /// Format of the return value [`ArkUI_AttributeItem`]:
570    ///
571    /// .value[0].i32: z-index value.
572    pub const NODE_Z_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21);
573    /// Defines the visibility attribute, which can be set, reset, and obtained as required through APIs.
574    ///
575    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
576    ///
577    /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
578    /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
579    ///
580    ///
581    ///
582    /// Format of the return value [`ArkUI_AttributeItem`]:
583    ///
584    /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
585    /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
586    pub const NODE_VISIBILITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(22);
587    /// Defines the clipping and masking attribute, which can be set, reset, and obtained as required through
588    /// APIs.
589    ///
590    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
591    ///
592    /// .value[0].i32: whether to clip the component based on the parent container bounds.
593    /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
594    ///
595    ///
596    ///
597    /// Format of the return value [`ArkUI_AttributeItem`]:
598    ///
599    /// .value[0].i32: whether to clip the component based on the parent container bounds.
600    /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
601    pub const NODE_CLIP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(23);
602    /// Defines the clipping region on the component.
603    /// This attribute can be set and obtained as required through APIs.
604    ///
605    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute,
606    /// which supports five types of shapes:
607    ///
608    /// 1. Rectangle:
609    ///
610    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
611    /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
612    ///
613    /// .value[1].f32: width of the rectangle.
614    ///
615    /// .value[2].f32: height of rectangle.
616    ///
617    /// .value[3].f32: width of the rounded corner of the rectangle.
618    ///
619    /// .value[4].f32: height of the rounded corner of the rectangle.
620    ///
621    /// .value[5]?.f32: radius of the top left corner of the rectangular shape.
622    ///
623    /// .value[6]?.f32: radius of the bottom left corner of the rectangular shape.
624    ///
625    /// .value[7]?.f32: radius of the top right corner of the rectangular shape.
626    ///
627    /// .value[8]?.f32: radius of the bottom right corner of the rectangular shape.
628    ///
629    /// 2. Circle:
630    ///
631    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
632    /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
633    ///
634    /// .value[1].f32: width of the circle.
635    ///
636    /// .value[2].f32: height of the circle.
637    ///
638    /// 3.Ellipse:
639    ///
640    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
641    /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
642    ///
643    /// .value[1].f32: width of the ellipse.
644    ///
645    /// .value[2].f32: height of the ellipse.
646    ///
647    /// 4. Path:
648    ///
649    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
650    /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
651    ///
652    /// .value[1].f32: width of the path.
653    ///
654    /// .value[2].f32: height of the path.
655    ///
656    /// .string: command for drawing the path.
657    ///
658    /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
659    ///
660    /// 1. Rectangle:
661    ///
662    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
663    /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
664    ///
665    /// .value[1].f32: width of the rectangle.
666    ///
667    /// .value[2].f32: height of rectangle.
668    ///
669    /// .value[3].f32: width of the rounded corner of the rectangle.
670    ///
671    /// .value[4].f32: height of the rounded corner of the rectangle.
672    ///
673    /// .value[5].f32: radius of the top left corner of the rectangular shape;
674    ///
675    /// .value[6].f32: radius of the bottom left corner of the rectangular shape;
676    ///
677    /// .value[7].f32: radius of the top right corner of the rectangular shape;
678    ///
679    /// .value[8].f32: radius of the bottom right corner of the rectangular shape;
680    ///
681    /// 2. Circle:
682    ///
683    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
684    /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
685    ///
686    /// .value[1].f32: width of the circle.
687    ///
688    /// .value[2].f32: height of the circle.
689    ///
690    /// 3.Ellipse:
691    ///
692    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
693    /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
694    ///
695    /// .value[1].f32: width of the ellipse.
696    ///
697    /// .value[2].f32: height of the ellipse.
698    ///
699    /// 4. Path:
700    ///
701    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
702    /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
703    ///
704    /// .value[1].f32: width of the path.
705    ///
706    /// .value[2].f32: height of the path.
707    ///
708    /// .string: command for drawing the path.
709    pub const NODE_CLIP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(24);
710    /// Defines the transform attribute, which can be used to translate, rotate, and scale images.
711    /// This attribute can be set, reset, and obtained as required through APIs.
712    ///
713    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
714    ///
715    /// .value[0...15].f32: 16 floating-point numbers.
716    ///
717    ///
718    ///
719    /// Format of the return value [`ArkUI_AttributeItem`]:
720    ///
721    /// .value[0...15].f32: 16 floating-point numbers.
722    pub const NODE_TRANSFORM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(25);
723    /// Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs.
724    ///
725    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
726    ///
727    /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
728    /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
729    ///
730    ///
731    ///
732    /// Format of the return value [`ArkUI_AttributeItem`]:
733    ///
734    /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
735    /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
736    pub const NODE_HIT_TEST_BEHAVIOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(26);
737    /// Defines the offset attribute, which specifies the offset of the component's upper left corner relative
738    /// to the parent container's. This attribute can be set, reset, and obtained as required through APIs.
739    ///
740    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
741    ///
742    /// .value[0].f32: X coordinate.
743    ///
744    /// .value[1].f32: Y coordinate.
745    ///
746    ///
747    ///
748    /// Format of the return value [`ArkUI_AttributeItem`]:
749    ///
750    /// .value[0].f32: X coordinate.
751    ///
752    /// .value[1].f32: Y coordinate.
753    pub const NODE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(27);
754    /// Defines the shadow attribute, which can be set, reset, and obtained as required through APIs.
755    ///
756    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
757    ///
758    /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
759    ///
760    ///
761    ///
762    /// Format of the return value [`ArkUI_AttributeItem`]:
763    ///
764    /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
765    pub const NODE_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(28);
766    /// Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs.
767    ///
768    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
769    ///
770    /// .value[0]?.f32: blur radius of the shadow, in vp.
771    ///
772    /// .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring
773    /// strategy, and <b>0</b> (default value) means the opposite.
774    ///
775    /// .value[2]?.f32: offset of the shadow along the x-axis, in px.
776    ///
777    /// .value[3]?.f32: offset of the shadow along the y-axis, in px.
778    ///
779    /// .value[4]?.i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
780    ///
781    /// .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
782    ///
783    /// .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
784    /// means the opposite.
785    ///
786    ///
787    ///
788    ///
789    /// Format of the return value [`ArkUI_AttributeItem`]:
790    ///
791    /// .value[0].f32: blur radius of the shadow, in vp.
792    ///
793    /// .value[1].i32: whether to enable the coloring strategy.
794    ///
795    /// .value[2].f32: offset of the shadow along the x-axis, in px.
796    ///
797    /// .value[3].f32: offset of the shadow along the y-axis, in px.
798    ///
799    /// .value[4].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
800    ///
801    /// .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
802    ///
803    /// .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
804    /// means the opposite.
805    pub const NODE_CUSTOM_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(29);
806    /// Defines the background image width and height.
807    /// This attribute can be set, reset, and obtained as required through APIs.
808    ///
809    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
810    ///
811    /// .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp.
812    ///
813    /// .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp.
814    ///
815    ///
816    ///
817    /// Format of the return value [`ArkUI_AttributeItem`]:
818    ///
819    /// .value[0].f32: width of the image, in vp.
820    ///
821    /// .value[1].f32: height of the image, in vp.
822    pub const NODE_BACKGROUND_IMAGE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(30);
823    /// Defines the background image size.
824    /// This attribute can be set, reset, and obtained as required through APIs.
825    ///
826    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
827    ///
828    /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
829    ///
830    ///
831    ///
832    /// Format of the return value [`ArkUI_AttributeItem`]:
833    ///
834    /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
835    pub const NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE: ArkUI_NodeAttributeType =
836        ArkUI_NodeAttributeType(31);
837    /// Defines the background blur attribute, which can be set, reset, and obtained as required through APIs.
838    ///
839    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
840    ///
841    /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
842    ///
843    /// .value[1]?.i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
844    ///
845    /// .value[2]?.i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
846    ///
847    /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
848    ///
849    /// .value[4]?.f32: start boundary of grayscale blur.
850    ///
851    /// .value[5]?.f32: end boundary of grayscale blur.
852    ///
853    ///
854    ///
855    /// Format of the return value [`ArkUI_AttributeItem`]:
856    ///
857    /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
858    ///
859    /// .value[1].i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
860    ///
861    /// .value[2].i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
862    ///
863    /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
864    ///
865    /// .value[4].f32: start boundary of grayscale blur.
866    ///
867    /// .value[5].f32: end boundary of grayscale blur.
868    pub const NODE_BACKGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(32);
869    /// Defines the transform center attribute, which can be set, reset, and obtained as required through APIs.
870    ///
871    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
872    ///
873    /// .value[0]?.f32: X coordinate of the center point, in vp.
874    ///
875    /// .value[1]?.f32: Y coordinate of the center point, in vp.
876    ///
877    /// .value[2]?.f32: Z coordinate of the center point, in vp.
878    ///
879    /// .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage.
880    /// For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>.
881    ///
882    /// .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage.
883    /// For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>.
884    ///
885    /// .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage.
886    /// For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>.
887    ///
888    ///
889    ///
890    /// Format of the return value [`ArkUI_AttributeItem`]:
891    ///
892    /// .value[0].f32: X coordinate of the center point, in vp.
893    ///
894    /// .value[1].f32: Y coordinate of the center point, in vp.
895    ///
896    /// .value[2].f32: Z coordinate of the center point, in vp.
897    ///
898    /// Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API
899    /// returns the calculated value in vp.
900    pub const NODE_TRANSFORM_CENTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(33);
901    /// Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs.
902    ///
903    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
904    ///
905    /// .value[0].f32: opacity values of the start and end points.
906    ///
907    /// .value[1].i32: animation duration, in milliseconds.
908    ///
909    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
910    ///
911    /// .value[3]?.i32: animation delay duration, in milliseconds.
912    ///
913    /// .value[4]?.i32: number of times that the animation is played.
914    ///
915    /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
916    ///
917    /// .value[6]?.f32: animation playback speed.
918    ///
919    ///
920    ///
921    /// Format of the return value [`ArkUI_AttributeItem`]:
922    ///
923    /// .value[0].f32: opacity values of the start and end points.
924    ///
925    /// .value[1].i32: animation duration, in milliseconds.
926    ///
927    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
928    ///
929    /// .value[3].i32: animation delay duration, in milliseconds.
930    ///
931    /// .value[4].i32: number of times that the animation is played.
932    ///
933    /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
934    ///
935    /// .value[6].f32: animation playback speed.
936    pub const NODE_OPACITY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(34);
937    /// Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs.
938    ///
939    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
940    ///
941    /// .value[0].f32: X-component of the rotation vector.
942    ///
943    /// .value[1].f32: Y-component of the rotation vector.
944    ///
945    /// .value[2].f32: Z-component of the rotation vector
946    ///
947    /// .value[3].f32: angle.
948    ///
949    /// .value[4].f32: line of sight. The default value is <b>0.0f</b>.
950    ///
951    /// .value[5].i32: animation duration, in milliseconds.
952    ///
953    /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
954    ///
955    ///
956    /// .value[7]?.i32: animation delay duration, in milliseconds.
957    ///
958    /// .value[8]?.i32: number of times that the animation is played.
959    ///
960    /// .value[9]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
961    ///
962    /// .value[10]?.f32: animation playback speed.
963    ///
964    ///
965    ///
966    /// Format of the return value [`ArkUI_AttributeItem`]:
967    ///
968    /// .value[0].f32: X-component of the rotation vector.
969    ///
970    /// .value[1].f32: Y-component of the rotation vector.
971    ///
972    /// .value[2].f32: Z-component of the rotation vector
973    ///
974    /// .value[3].f32: angle.
975    ///
976    /// .value[4].f32: line of sight.
977    ///
978    /// .value[5].i32: animation duration, in milliseconds.
979    ///
980    /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
981    ///
982    ///
983    /// .value[7].i32: animation delay duration, in milliseconds.
984    ///
985    /// .value[8].i32: number of times that the animation is played.
986    ///
987    /// .value[9].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
988    ///
989    /// .value[10].f32: animation playback speed.
990    pub const NODE_ROTATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(35);
991    /// Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs.
992    ///
993    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
994    ///
995    /// .value[0].f32: scale factor along the x-axis.
996    ///
997    /// .value[1].f32: scale factor along the y-axis.
998    ///
999    /// .value[2].f32: scale factor along the z-axis.
1000    ///
1001    /// .value[3].i32: animation duration, in milliseconds.
1002    ///
1003    /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1004    ///
1005    ///
1006    /// .value[5]?.i32: animation delay duration, in milliseconds.
1007    ///
1008    /// .value[6]?.i32: number of times that the animation is played.
1009    ///
1010    /// .value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1011    ///
1012    /// .value[8]?.f32: animation playback speed.
1013    ///
1014    ///
1015    ///
1016    /// Format of the return value [`ArkUI_AttributeItem`]:
1017    ///
1018    /// .value[0].f32: scale factor along the x-axis.
1019    ///
1020    /// .value[1].f32: scale factor along the y-axis.
1021    ///
1022    /// .value[2].f32: scale factor along the z-axis.
1023    ///
1024    /// .value[3].i32: animation duration, in milliseconds.
1025    ///
1026    /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1027    ///
1028    ///
1029    /// .value[5].i32: animation delay duration, in milliseconds.
1030    ///
1031    /// .value[6].i32: number of times that the animation is played.
1032    ///
1033    /// .value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1034    ///
1035    /// .value[8].f32: animation playback speed.
1036    pub const NODE_SCALE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(36);
1037    /// Defines the transition translation attribute.
1038    /// This attribute can be set, reset, and obtained as required through APIs.
1039    ///
1040    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1041    ///
1042    /// value[0].f32: translation distance along the x-axis, in vp.
1043    ///
1044    /// value[1].f32: translation distance along the y-axis, in vp.
1045    ///
1046    /// value[2].f32: translation distance along the z-axis, in vp.
1047    ///
1048    /// value[3].i32: animation duration, in milliseconds.
1049    ///
1050    /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1051    ///
1052    ///
1053    /// value[5]?.i32: animation delay duration, in milliseconds.
1054    ///
1055    /// value[6]?.i32: number of times that the animation is played.
1056    ///
1057    /// value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1058    ///
1059    /// value[8]?.f32: animation playback speed.
1060    ///
1061    ///
1062    ///
1063    /// Format of the return value [`ArkUI_AttributeItem`]:
1064    ///
1065    /// value[0].f32: translation distance along the x-axis, in vp.
1066    ///
1067    /// value[1].f32: translation distance along the y-axis, in vp.
1068    ///
1069    /// value[2].f32: translation distance along the z-axis, in vp.
1070    ///
1071    /// value[3].i32: animation duration, in milliseconds.
1072    ///
1073    /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1074    ///
1075    ///
1076    /// value[5].i32: animation delay duration, in milliseconds.
1077    ///
1078    /// value[6].i32: number of times that the animation is played.
1079    ///
1080    /// value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1081    ///
1082    /// value[8].f32: animation playback speed.
1083    pub const NODE_TRANSLATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(37);
1084    /// Defines the slide-in and slide-out of the component from the screen edge during transition.
1085    /// This attribute can be set, reset, and obtained as required through APIs.
1086    ///
1087    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1088    ///
1089    /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1090    ///
1091    /// .value[1].i32: animation duration, in milliseconds.
1092    ///
1093    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1094    ///
1095    /// .value[3]?.i32: animation delay duration, in milliseconds.
1096    ///
1097    /// .value[4]?.i32: number of times that the animation is played.
1098    ///
1099    /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1100    ///
1101    /// .value[6]?.f32: animation playback speed.
1102    ///
1103    ///
1104    ///
1105    /// Format of the return value [`ArkUI_AttributeItem`]:
1106    ///
1107    /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1108    ///
1109    /// .value[1].i32: animation duration, in milliseconds.
1110    ///
1111    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1112    ///
1113    /// .value[3].i32: animation delay duration, in milliseconds.
1114    ///
1115    /// .value[4].i32: number of times that the animation is played.
1116    ///
1117    /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1118    ///
1119    /// .value[6].f32: animation playback speed.
1120    pub const NODE_MOVE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(38);
1121    /// Defines the focus attribute, which can be set, reset, and obtained as required through APIs.
1122    ///
1123    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1124    ///
1125    /// .value[0].i32: The parameter type is 1 or 0.
1126    ///
1127    ///
1128    /// Format of the return value [`ArkUI_AttributeItem`]:
1129    ///
1130    /// .value[0].i32: The parameter type is 1 or 0.
1131    pub const NODE_FOCUSABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(39);
1132    /// Defines the default focus attribute, which can be set, reset, and obtained as required through APIs.
1133    ///
1134    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1135    ///
1136    /// value[0].i32: The parameter type is 1 or 0.
1137    ///
1138    ///
1139    /// Format of the return value [`ArkUI_AttributeItem`]:
1140    ///
1141    /// value[0].i32: The parameter type is 1 or 0.
1142    pub const NODE_DEFAULT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(40);
1143    /// Defines the touch target attribute, which can be set, reset, and obtained as required through APIs.
1144    ///
1145    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1146    ///
1147    /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1148    ///
1149    /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1150    ///
1151    /// .data[2].f32: width of the touch target, in %.
1152    ///
1153    /// .data[3].f32: height of the touch target, in %.
1154    ///
1155    /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1156    ///
1157    ///
1158    /// Format of the return value [`ArkUI_AttributeItem`]:
1159    ///
1160    /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1161    ///
1162    /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1163    ///
1164    /// .data[2].f32: width of the touch target, in %.
1165    ///
1166    /// .data[3].f32: height of the touch target, in %.
1167    ///
1168    /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1169    pub const NODE_RESPONSE_REGION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(41);
1170    /// Defines the overlay attribute, which can be set, reset, and obtained as required through APIs.
1171    ///
1172    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1173    ///
1174    /// .string: mask text.
1175    ///
1176    /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1177    /// The parameter type is [`ArkUI_Alignment`].
1178    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1179    ///
1180    /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1181    ///
1182    /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1183    ///
1184    ///
1185    /// Format of the return value [`ArkUI_AttributeItem`]:
1186    ///
1187    /// .string: mask text.
1188    ///
1189    /// .value[0].i32: position of the overlay relative to the component.
1190    /// The parameter type is [`ArkUI_Alignment`].
1191    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1192    ///
1193    /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1194    ///
1195    /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1196    ///
1197    ///
1198    /// Available since API-level: 12
1199    ////
1200    ////**
1201    /// Defines the overlay attribute, which can be set, reset, and obtained as required through APIs.
1202    ///
1203    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1204    ///
1205    /// .string: mask text.
1206    ///
1207    /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1208    /// The parameter type is [`ArkUI_Alignment`].
1209    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1210    ///
1211    /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1212    ///
1213    /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1214    ///
1215    ///
1216    /// .value[3]?.i32: the layout direction.
1217    /// The parameter type is [`ArkUI_Direction`].
1218    /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1219    ///
1220    /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1221    /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1222    /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1223    ///
1224    ///
1225    /// .object: the node tree used as the overlay.
1226    /// The parameter type is [`ArkUI_NodeHandle`].
1227    /// The default value is <b>nullptr.</b>
1228    ///
1229    /// this parameter is conflict with .string, and it has lower priority than .string. Optional.
1230    ///
1231    ///
1232    /// Format of the return value [`ArkUI_AttributeItem`]:
1233    ///
1234    /// .string: mask text.
1235    ///
1236    /// .value[0].i32: position of the overlay relative to the component.
1237    /// The parameter type is [`ArkUI_Alignment`].
1238    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1239    ///
1240    /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1241    ///
1242    /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1243    /// .value[3].i32: the layout direction.
1244    /// The parameter type is [`ArkUI_Direction`].
1245    /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1246    ///
1247    /// .object: the overlay node handle.
1248    ///
1249    ///
1250    ///
1251    /// Available since API-level: 21
1252    #[cfg(feature = "api-12")]
1253    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1254    pub const NODE_OVERLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(42);
1255    /// Defines the sweep gradient effect.
1256    /// This attribute can be set, reset, and obtained as required through APIs.
1257    ///
1258    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1259    ///
1260    /// .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1261    ///
1262    /// .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1263    ///
1264    /// .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>.
1265    ///
1266    /// .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>.
1267    ///
1268    /// .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1269    ///
1270    /// .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1271    /// and <b>0</b> means the opposite.
1272    ///
1273    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1274    /// automatically skipped.
1275    ///
1276    /// colors: colors of the color stops.
1277    ///
1278    /// stops: stop positions of the color stops.
1279    ///
1280    /// size: number of colors.
1281    ///
1282    ///
1283    ///
1284    /// Format of the return value [`ArkUI_AttributeItem`]:
1285    ///
1286    /// .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1287    ///
1288    /// .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1289    ///
1290    /// .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>.
1291    ///
1292    /// .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>.
1293    ///
1294    /// .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1295    ///
1296    /// .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1297    /// and <b>0</b> means the opposite.
1298    ///
1299    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1300    /// automatically skipped.
1301    ///
1302    /// colors: colors of the color stops.
1303    ///
1304    /// stops: stop positions of the color stops.
1305    ///
1306    /// size: number of colors.
1307    pub const NODE_SWEEP_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(43);
1308    /// Defines the radial gradient effect.
1309    /// This attribute can be set, reset, and obtained as required through APIs.
1310    ///
1311    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1312    ///
1313    /// .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1314    ///
1315    /// .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1316    ///
1317    /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
1318    ///
1319    /// .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1320    /// and <b>0</b> means the opposite.
1321    ///
1322    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1323    /// automatically skipped.
1324    ///
1325    /// colors: colors of the color stops.
1326    ///
1327    /// stops: stop positions of the color stops.
1328    ///
1329    /// size: number of colors.
1330    ///
1331    ///
1332    ///
1333    /// Format of the return value [`ArkUI_AttributeItem`]:
1334    ///
1335    /// .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1336    ///
1337    /// .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1338    ///
1339    /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
1340    ///
1341    /// .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1342    /// and <b>0</b> means the opposite.
1343    ///
1344    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1345    /// automatically skipped.
1346    ///
1347    /// colors: colors of the color stops.
1348    ///
1349    /// stops: stop positions of the color stops.
1350    ///
1351    /// size: number of colors.
1352    pub const NODE_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(44);
1353    /// Adds a mask of the specified shape to the component.
1354    /// This attribute can be set, reset, and obtained as required through APIs.
1355    ///
1356    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute, which supports five types of
1357    /// shapes:
1358    ///
1359    /// 1. Rectangle:
1360    ///
1361    /// .value[0].u32 fill color, in 0xARGB format.
1362    ///
1363    /// .value[1].u32: stroke color, in 0xARGB format.
1364    ///
1365    /// .value[2].f32: stroke width, in vp.
1366    ///
1367    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1368    /// The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.
1369    ///
1370    /// .value[4].f32: width of the rectangle.
1371    ///
1372    /// .value[5].f32: height of the rectangle.
1373    ///
1374    /// .value[6].f32: width of the rounded corner of the rectangle.
1375    ///
1376    /// .value[7].f32: height of the rounded corner of the rectangle.
1377    ///
1378    /// .value[8]?.f32: radius of the top left corner of the rectangular shape.
1379    ///
1380    /// .value[9]?.f32: radius of the bottom left corner of the rectangular shape.
1381    ///
1382    /// .value[10]?.f32: radius of the top right corner of the rectangular shape.
1383    ///
1384    /// .value[11]?.f32: radius of the bottom right corner of the rectangular shape.
1385    ///
1386    /// 2. Circle:
1387    ///
1388    /// .value[0].u32 fill color, in 0xARGB format.
1389    ///
1390    /// .value[1].u32: stroke color, in 0xARGB format.
1391    ///
1392    /// .value[2].f32: stroke width, in vp.
1393    ///
1394    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1395    /// The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.
1396    ///
1397    /// .value[4].f32: width of the circle.
1398    ///
1399    /// .value[5].f32: height of the circle.
1400    ///
1401    /// 3. Ellipse:
1402    ///
1403    /// .value[0].u32 fill color, in 0xARGB format.
1404    ///
1405    /// .value[1].u32: stroke color, in 0xARGB format.
1406    ///
1407    /// .value[2].f32: stroke width, in vp.
1408    ///
1409    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1410    /// The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.
1411    ///
1412    /// .value[4].f32: width of the ellipse.
1413    ///
1414    /// .value[5].f32: height of the ellipse.
1415    ///
1416    /// 4. Path:
1417    ///
1418    /// .value[0].u32 fill color, in 0xARGB format.
1419    ///
1420    /// .value[1].u32: stroke color, in 0xARGB format.
1421    ///
1422    /// .value[2].f32: stroke width, in vp.
1423    ///
1424    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1425    /// The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.
1426    ///
1427    /// .value[4].f32: width of the path.
1428    ///
1429    /// .value[5].f32: height of the path.
1430    ///
1431    /// .string: command for drawing the path.
1432    ///
1433    /// 5. Progress:
1434    ///
1435    /// .value[0].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1436    /// The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.
1437    ///
1438    /// .value[1].f32: current value of the progress indicator.
1439    ///
1440    /// .value[2].f32: maximum value of the progress indicator.
1441    ///
1442    /// .value[3].u32: color of the progress indicator, in 0xARGB format.
1443    ///
1444    ///
1445    ///
1446    /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
1447    ///
1448    /// 1. Rectangle:
1449    ///
1450    /// .value[0].u32 fill color, in 0xARGB format.
1451    ///
1452    /// .value[1].u32: stroke color, in 0xARGB format.
1453    ///
1454    /// .value[2].f32: stroke width, in vp.
1455    ///
1456    /// .value[3].i32: mask type.
1457    ///
1458    /// .value[4].f32: width of the rectangle.
1459    ///
1460    /// .value[5].f32: height of the rectangle.
1461    ///
1462    /// .value[6].f32: width of the rounded corner of the rectangle.
1463    ///
1464    /// .value[7].f32: height of the rounded corner of the rectangle.
1465    ///
1466    /// .value[8].f32: radius of the top left corner of the rectangular shape.
1467    ///
1468    /// .value[9].f32: radius of the bottom left corner of the rectangular shape.
1469    ///
1470    /// .value[10].f32: radius of the top right corner of the rectangular shape.
1471    ///
1472    /// .value[11].f32: radius of the bottom right corner of the rectangular shape.
1473    ///
1474    /// 2. Circle:
1475    ///
1476    /// .value[0].u32 fill color, in 0xARGB format.
1477    ///
1478    /// .value[1].u32: stroke color, in 0xARGB format.
1479    ///
1480    /// .value[2].f32: stroke width, in vp.
1481    ///
1482    /// .value[3].i32: mask type.
1483    ///
1484    /// .value[4].f32: width of the circle.
1485    ///
1486    /// .value[5].f32: height of the circle.
1487    ///
1488    /// 3. Ellipse:
1489    ///
1490    /// .value[0].u32 fill color, in 0xARGB format.
1491    ///
1492    /// .value[1].u32: stroke color, in 0xARGB format.
1493    ///
1494    /// .value[2].f32: stroke width, in vp.
1495    ///
1496    /// .value[3].i32: mask type.
1497    ///
1498    /// .value[4].f32: width of the ellipse.
1499    ///
1500    /// .value[5].f32: height of the ellipse.
1501    ///
1502    /// 4. Path:
1503    ///
1504    /// .value[0].u32 fill color, in 0xARGB format.
1505    ///
1506    /// .value[1].u32: stroke color, in 0xARGB format.
1507    ///
1508    /// .value[2].f32: stroke width, in vp.
1509    ///
1510    /// .value[3].i32: mask type.
1511    ///
1512    /// .value[4].f32: width of the path.
1513    ///
1514    /// .value[5].f32: height of the path.
1515    ///
1516    /// .string: command for drawing the path.
1517    ///
1518    /// 5. Progress:
1519    ///
1520    /// .value[0].i32: mask type.
1521    ///
1522    /// .value[1].f32: current value of the progress indicator.
1523    ///
1524    /// .value[2].f32: maximum value of the progress indicator.
1525    ///
1526    /// .value[3].u32: color of the progress indicator.
1527    pub const NODE_MASK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(45);
1528    /// Blends the component's background with the content of the component's child node.
1529    /// This attribute can be set, reset, and obtained as required through APIs.
1530    ///
1531    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1532    ///
1533    /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1534    /// <b>ARKUI_BLEND_MODE_NONE</b>.
1535    ///
1536    /// .value[1].?i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1537    /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1538    ///
1539    ///
1540    ///
1541    /// Format of the return value [`ArkUI_AttributeItem`]:
1542    ///
1543    /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1544    /// <b>ARKUI_BLEND_MODE_NONE</b>.
1545    ///
1546    /// .value[1].i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1547    /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1548    pub const NODE_BLEND_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(46);
1549    /// Sets the direction of the main axis.
1550    /// This attribute can be set, reset, and obtained as required through APIs.
1551    ///
1552    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1553    ///
1554    /// .value[0].i32: direction of the main axis.
1555    ///
1556    /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1557    ///
1558    ///
1559    ///
1560    /// Format of the return value [`ArkUI_AttributeItem`]:
1561    ///
1562    /// .value[0].i32: direction of the main axis.
1563    ///
1564    /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1565    pub const NODE_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(47);
1566    /// Defines the size constraints.
1567    /// This attribute can be set, reset, and obtained as required through APIs.
1568    ///
1569    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1570    ///
1571    /// .value[0].f32: minimum width, in vp.
1572    ///
1573    /// .value[1].f32: maximum width, in vp.
1574    ///
1575    /// .value[2].f32: minimum height, in vp.
1576    ///
1577    /// .value[3].f32: maximum height, in vp.
1578    ///
1579    ///
1580    ///
1581    /// Format of the return value [`ArkUI_AttributeItem`]:
1582    ///
1583    /// .value[0].f32: minimum width, in vp.
1584    ///
1585    /// .value[1].f32: maximum width, in vp.
1586    ///
1587    /// .value[2].f32: minimum height, in vp.
1588    ///
1589    /// .value[3].f32: maximum height, in vp.
1590    pub const NODE_CONSTRAINT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(48);
1591    /// Defines the grayscale effect.
1592    /// This attribute can be set, reset, and obtained as required through APIs.
1593    ///
1594    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1595    ///
1596    /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1597    /// For example, 0.5 indicates a 50% grayscale conversion ratio.
1598    ///
1599    ///
1600    ///
1601    /// Format of the return value [`ArkUI_AttributeItem`]:
1602    ///
1603    /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1604    pub const NODE_GRAY_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(49);
1605    /// Inverts the image.
1606    /// This attribute can be set, reset, and obtained as required through APIs.
1607    ///
1608    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1609    ///
1610    /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1611    /// For example, 0.5 indicates a 50% image inversion ratio.
1612    ///
1613    ///
1614    ///
1615    /// Format of the return value [`ArkUI_AttributeItem`]:
1616    ///
1617    /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1618    pub const NODE_INVERT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(50);
1619    /// Defines the sepia conversion ratio.
1620    /// This attribute can be set, reset, and obtained as required through APIs.
1621    ///
1622    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1623    ///
1624    /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1625    /// For example, 0.5 indicates that a 50% sepia conversion ratio.
1626    ///
1627    ///
1628    ///
1629    /// Format of the return value [`ArkUI_AttributeItem`]:
1630    ///
1631    /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1632    pub const NODE_SEPIA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(51);
1633    /// Defines the contrast attribute, which can be set, reset, and obtained as required through APIs.
1634    ///
1635    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1636    ///
1637    /// .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed.
1638    /// A larger value indicates a higher contrast. Value range: [0, 10).
1639    ///
1640    ///
1641    ///
1642    /// Format of the return value [`ArkUI_AttributeItem`]:
1643    ///
1644    /// .value[0].f32: contrast. Value range: [0, 10).
1645    pub const NODE_CONTRAST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(52);
1646    /// Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs.
1647    ///
1648    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1649    ///
1650    /// 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
1651    ///
1652    /// 2: .value[0].i32: color enum [`ArkUI_ColoringStrategy`].
1653    ///
1654    ///
1655    ///
1656    /// Format of the return value [`ArkUI_AttributeItem`]:
1657    ///
1658    /// .value[0].u32: color value, in 0xARGB format.
1659    pub const NODE_FOREGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(53);
1660    /// Defines the offset of the component's child relative to the component.
1661    /// This attribute can be set, reset, and obtained as required through APIs.
1662    ///
1663    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1664    ///
1665    /// .value[0].f32 : offset along the x-axis, in vp.
1666    ///
1667    /// .value[1].f32 : offset along the y-axis, in vp.
1668    ///
1669    ///
1670    ///
1671    /// Format of the return value [`ArkUI_AttributeItem`]:
1672    ///
1673    /// .value[0].f32 : offset along the x-axis, in vp.
1674    ///
1675    /// .value[1].f32 : offset along the y-axis, in vp.
1676    pub const NODE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(54);
1677    /// Sets the anchor for locating the component's child.
1678    /// This attribute can be set, reset, and obtained as required through APIs.
1679    ///
1680    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1681    ///
1682    /// .value[0].f32: X coordinate of the anchor, in vp.
1683    ///
1684    /// .value[1].f32: Y coordinate of the anchor, in vp.
1685    ///
1686    ///
1687    ///
1688    /// Format of the return value [`ArkUI_AttributeItem`]:
1689    ///
1690    /// .value[0].f32: X coordinate of the anchor, in vp.
1691    ///
1692    /// .value[1].f32: Y coordinate of the anchor, in vp.
1693    pub const NODE_MARK_ANCHOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(55);
1694    /// Defines the position of the background image in the component, that is, the coordinates relative to
1695    /// the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs.
1696    ///
1697    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1698    ///
1699    /// .value[0].f32: position along the x-axis, in px.
1700    ///
1701    /// .value[1].f32: position along the y-axis, in px.
1702    ///
1703    /// .value[2].?i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1704    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1705    ///
1706    /// .value[3].?i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1707    /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1708    ///
1709    /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1710    /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1711    /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1712    /// Format of the return value [`ArkUI_AttributeItem`]:
1713    ///
1714    /// .value[0].f32: position along the x-axis, in px.
1715    ///
1716    /// .value[1].f32: position along the y-axis, in px.
1717    ///
1718    /// .value[2].i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1719    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1720    ///
1721    /// .value[3].i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1722    /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1723    pub const NODE_BACKGROUND_IMAGE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(56);
1724    /// Sets the alignment rules in the relative container.
1725    /// This attribute can be set, reset, and obtained as required through APIs.
1726    ///
1727    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1728    ///
1729    /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1730    ///
1731    ///
1732    ///
1733    /// Format of the return value [`ArkUI_AttributeItem`]:
1734    ///
1735    /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1736    pub const NODE_ALIGN_RULES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(57);
1737    /// Sets the alignment mode of the child components along the cross axis of the parent container.
1738    /// This attribute can be set, reset, and obtained as required through APIs.
1739    ///
1740    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1741    ///
1742    /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1743    ///
1744    /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1745    ///
1746    ///
1747    ///
1748    /// Format of the return value [`ArkUI_AttributeItem`]:
1749    ///
1750    /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1751    ///
1752    /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1753    pub const NODE_ALIGN_SELF: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(58);
1754    /// Sets the percentage of the parent container's remaining space that is allocated to the component.
1755    /// This attribute can be set, reset, and obtained as required through APIs.
1756    ///
1757    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1758    ///
1759    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1760    ///
1761    ///
1762    ///
1763    /// Format of the return value [`ArkUI_AttributeItem`]:
1764    ///
1765    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1766    pub const NODE_FLEX_GROW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(59);
1767    /// Sets the percentage of the parent container's shrink size that is allocated to the component.
1768    /// This attribute can be set, reset, and obtained as required through APIs.
1769    ///
1770    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1771    ///
1772    /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1773    ///
1774    ///
1775    ///
1776    /// Format of the return value [`ArkUI_AttributeItem`]:
1777    ///
1778    /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1779    pub const NODE_FLEX_SHRINK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(60);
1780    /// Sets the base size of the component.
1781    /// This attribute can be set, reset, and obtained as required through APIs.
1782    ///
1783    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1784    ///
1785    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1786    ///
1787    ///
1788    ///
1789    /// Format of the return value [`ArkUI_AttributeItem`]:
1790    ///
1791    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1792    pub const NODE_FLEX_BASIS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(61);
1793    /// Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs.
1794    ///
1795    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1796    ///
1797    /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1798    /// form an entire selectable component.
1799    /// In this case, the accessibility service will no longer be available for the content of its child components.
1800    /// The value is <b>1</b> or <b>0</b>.
1801    ///
1802    ///
1803    /// Format of the return value [`ArkUI_AttributeItem`]:
1804    ///
1805    /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1806    /// form an entire selectable component.
1807    /// In this case, the accessibility service will no longer be available for the content of its child components.
1808    /// The value is <b>1</b> or <b>0</b>.
1809    pub const NODE_ACCESSIBILITY_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(62);
1810    /// Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs.
1811    ///
1812    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1813    ///
1814    /// .string: accessibility text.
1815    ///
1816    ///
1817    /// Format of the return value [`ArkUI_AttributeItem`]:
1818    ///
1819    /// .string: accessibility text.
1820    pub const NODE_ACCESSIBILITY_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(63);
1821    /// Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs.
1822    ///
1823    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1824    ///
1825    /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1826    ///
1827    ///
1828    /// Format of the return value [`ArkUI_AttributeItem`]:
1829    ///
1830    /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1831    pub const NODE_ACCESSIBILITY_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(64);
1832    /// Sets the accessibility description.
1833    /// This attribute can be set, reset, and obtained as required through APIs.
1834    ///
1835    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1836    ///
1837    /// .string: accessibility description.
1838    ///
1839    ///
1840    /// Format of the return value [`ArkUI_AttributeItem`]:
1841    ///
1842    /// .string: accessibility description.
1843    pub const NODE_ACCESSIBILITY_DESCRIPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(65);
1844    /// Defines the focused state. This attribute can be set and obtained as required through APIs.
1845    ///
1846    /// **Note:** Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level
1847    /// of the page to the root container.
1848    ///
1849    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1850    ///
1851    /// .value[0].i32: The parameter type is 1 or 0.
1852    ///
1853    ///
1854    /// Format of the return value [`ArkUI_AttributeItem`]:
1855    ///
1856    /// .value[0].i32: The parameter type is 1 or 0.
1857    pub const NODE_FOCUS_STATUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(66);
1858    /// Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs.
1859    ///
1860    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1861    ///
1862    /// .value[0].f32: aspect ratio of the component, in width/height format.
1863    ///
1864    ///
1865    ///
1866    /// Format of the return value [`ArkUI_AttributeItem`]:
1867    ///
1868    /// .value[0].f32: aspect ratio of the component, in width/height format.
1869    pub const NODE_ASPECT_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(67);
1870    /// Defines the weight of the component within its row, column, or flex container for proportional
1871    /// distribution of available space within the container.
1872    /// This attribute can be set, reset, and obtained as required through APIs.
1873    ///
1874    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1875    ///
1876    /// .value[0].u32: weight of the component along the main axis.
1877    ///
1878    ///
1879    ///
1880    /// Format of the return value [`ArkUI_AttributeItem`]:
1881    ///
1882    /// .value[0].u32: weight of the component along the main axis.
1883    pub const NODE_LAYOUT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(68);
1884    /// Sets the display priority for the component in the row, column, or flex (single-line) container.
1885    /// This attribute can be set, reset, and obtained as required through APIs.
1886    ///
1887    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1888    ///
1889    /// .value[0].u32: display priority of the component in the container.
1890    ///
1891    ///
1892    ///
1893    /// Format of the return value [`ArkUI_AttributeItem`]:
1894    ///
1895    /// .value[0].u32: display priority of the component in the container.
1896    pub const NODE_DISPLAY_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(69);
1897    /// Sets the thickness of an element's outline.
1898    ///
1899    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1900    ///
1901    /// .value[0].f32: thickness of the left outline.
1902    ///
1903    /// .value[1].f32: thickness of the top outline.
1904    ///
1905    /// .value[2].f32: thickness of the right outline.
1906    ///
1907    /// .value[3].f32: thickness of the bottom outline.
1908    ///
1909    ///
1910    ///
1911    /// Format of the return value [`ArkUI_AttributeItem`]:
1912    ///
1913    /// .value[0].f32: thickness of the left outline.
1914    ///
1915    /// .value[1].f32: thickness of the top outline.
1916    ///
1917    /// .value[2].f32: thickness of the right outline.
1918    ///
1919    /// .value[3].f32: thickness of the bottom outline.
1920    pub const NODE_OUTLINE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(70);
1921    /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
1922    ///
1923    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1924    ///
1925    /// .value[0].f32: width, in percentage.
1926    ///
1927    ///
1928    ///
1929    /// Format of the return value [`ArkUI_AttributeItem`]:
1930    ///
1931    /// .value[0].f32: width, in percentage.
1932    pub const NODE_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(71);
1933    /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
1934    ///
1935    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1936    ///
1937    /// .value[0].f32: height, in percentage.
1938    ///
1939    ///
1940    ///
1941    /// Format of the return value [`ArkUI_AttributeItem`]:
1942    ///
1943    /// .value[0].f32: height, in percentage.
1944    pub const NODE_HEIGHT_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(72);
1945    /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
1946    ///
1947    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1948    ///
1949    /// 1: Specify the same padding for the four directions.
1950    ///
1951    /// .value[0].f32: padding, in percentage.
1952    ///
1953    /// 2: Specify different paddings for different directions.
1954    ///
1955    /// .value[0].f32: top padding, in percentage.
1956    ///
1957    /// .value[1].f32: right padding, in percentage.
1958    ///
1959    /// .value[2].f32: bottom padding, in percentage.
1960    ///
1961    /// .value[3].f32: left padding, in percentage.
1962    ///
1963    ///
1964    ///
1965    /// Format of the return value [`ArkUI_AttributeItem`]:
1966    ///
1967    /// .value[0].f32: top padding, in percentage.
1968    ///
1969    /// .value[1].f32: right padding, in percentage.
1970    ///
1971    /// .value[2].f32: bottom padding, in percentage.
1972    ///
1973    /// .value[3].f32: left padding, in percentage.
1974    pub const NODE_PADDING_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(73);
1975    /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
1976    ///
1977    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1978    ///
1979    /// 1: Specify the same margin for the four directions.
1980    ///
1981    /// .value[0].f32: margin, in percentage.
1982    ///
1983    /// 2: Specify different margins for different directions.
1984    ///
1985    /// .value[0].f32: top margin, in percentage.
1986    ///
1987    /// .value[1].f32: right margin, in percentage.
1988    ///
1989    /// .value[2].f32: bottom margin, in percentage.
1990    ///
1991    /// .value[3].f32: left margin, in percentage.
1992    ///
1993    ///
1994    ///
1995    /// Format of the return value [`ArkUI_AttributeItem`]:
1996    ///
1997    /// .value[0].f32: top margin, in percentage.
1998    ///
1999    /// .value[1].f32: right margin, in percentage.
2000    ///
2001    /// .value[2].f32: bottom margin, in percentage.
2002    ///
2003    /// .value[3].f32: left margin, in percentage.
2004    pub const NODE_MARGIN_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(74);
2005    /// The implicit shared element transition within the component supports attribute setting,
2006    /// attribute reset, and attribute acquisition interfaces.
2007    ///
2008    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2009    ///
2010    /// .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings,
2011    /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2012    /// the default is false, and the original position will remain unchanged if not involved.
2013    ///
2014    /// .string is used to set the binding relationship. Set the id to "" to
2015    /// clear the binding relationship to avoid participating in sharing behavior.
2016    ///
2017    /// The id can be changed and the binding relationship re-established.
2018    /// The same ID can only be bound to two components and they are in/out roles of different types.
2019    /// Multiple components cannot be bound to the same id.
2020    ///
2021    ///
2022    ///
2023    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
2024    ///
2025    /// .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings,
2026    /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2027    /// the default is not false, if not involved, the original position will remain unchanged.
2028    ///
2029    /// .string is used to set the binding relationship. Set the id to "" to
2030    /// clear the binding relationship to avoid participating in sharing behavior.
2031    ///
2032    /// The id can be changed and the binding relationship re-established.
2033    /// The same ID can only be bound to two components and they are in/out roles of different types.
2034    /// Multiple components cannot be bound to the same id.
2035    pub const NODE_GEOMETRY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(75);
2036    /// specifies the parameters of the chain formed by this component as the chain head,
2037    /// and supports attribute setting, attribute reset and attribute acquisition interfaces.
2038    ///
2039    /// Only takes effect when the parent container is RelativeContainer
2040    ///
2041    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2042    ///
2043    /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2044    ///
2045    /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2046    ///
2047    ///
2048    ///
2049    /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2050    ///
2051    /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2052    pub const NODE_RELATIVE_LAYOUT_CHAIN_MODE: ArkUI_NodeAttributeType =
2053        ArkUI_NodeAttributeType(76);
2054    /// Set the component content filling method in the process of width and height animation,
2055    /// support property setting, property reset, property acquisition interface.
2056    ///
2057    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2058    ///
2059    /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2060    ///
2061    ///
2062    ///
2063    /// Format of the return value [`ArkUI_AttributeItem`]:
2064    ///
2065    /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2066    pub const NODE_RENDER_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(77);
2067    /// External stroke color properties, support property setting,
2068    /// property reset and property acquisition interface.
2069    ///
2070    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2071    ///
2072    /// 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF.
2073    ///
2074    /// 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2075    ///
2076    /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2077    ///
2078    /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2079    ///
2080    /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2081    ///
2082    ///
2083    ///
2084    /// Format of the return value [`ArkUI_AttributeItem`]:
2085    ///
2086    /// .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2087    ///
2088    /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2089    ///
2090    /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2091    ///
2092    /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2093    pub const NODE_OUTLINE_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(78);
2094    /// Set the height and width dimensions, support property setting,
2095    /// property reset and property acquisition interface.
2096    ///
2097    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2098    ///
2099    /// .value[0].f32: Width value, unit is vp;
2100    ///
2101    /// .value[1].f32: Height value, unit is vp;
2102    ///
2103    ///
2104    ///
2105    /// Format of the return value [`ArkUI_AttributeItem`]:
2106    ///
2107    /// .value[0].f32: Width value, unit is vp;
2108    ///
2109    /// .value[1].f32: Height value, unit is vp;
2110    pub const NODE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(79);
2111    /// Set whether the current component and child component are
2112    /// rendered off the screen first and then fused with the parent control,
2113    /// supporting property setting, property reset and property acquisition.
2114    ///
2115    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2116    ///
2117    /// .value[0].i32: The parameter type is 1 or 0.
2118    ///
2119    ///
2120    /// Format of the return value [`ArkUI_AttributeItem`]:
2121    ///
2122    /// .value[0].i32: The parameter type is 1 or 0.
2123    pub const NODE_RENDER_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(80);
2124    /// Add color overlay effect to components, support property setting,
2125    /// property reset and property acquisition interface.
2126    ///
2127    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2128    ///
2129    /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2130    ///
2131    ///
2132    ///
2133    /// Format of the return value [`ArkUI_AttributeItem`]:
2134    ///
2135    /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2136    pub const NODE_COLOR_BLEND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(81);
2137    /// Provide content ambiguity capability for the current component,
2138    /// support property setting, property reset, property acquisition interface.
2139    ///
2140    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2141    ///
2142    /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2143    ///
2144    /// .value[1]?.i32 Represents the dark and light mode used by the content blur effect,
2145    ///
2146    /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2147    ///
2148    /// .value[2]?.i32 The color extraction mode used to represent the content blur effect takes
2149    ///
2150    /// the [`ArkUI_AdaptiveColor`] enumeration value.
2151    ///
2152    /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
2153    ///
2154    /// .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2155    ///
2156    /// .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2157    ///
2158    ///
2159    ///
2160    /// Format of the return value [`ArkUI_AttributeItem`]:
2161    ///
2162    /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2163    ///
2164    /// .value[1].i32 Represents the dark and light mode used by the content blur effect,
2165    ///
2166    /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2167    ///
2168    /// .value[2].i32 The color extraction mode used to represent the content blur effect takes
2169    ///
2170    /// the [`ArkUI_AdaptiveColor`] enumeration value.
2171    ///
2172    /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
2173    ///
2174    /// .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2175    ///
2176    /// .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2177    pub const NODE_FOREGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(82);
2178    /// Defines the component size and position for layout.
2179    /// This attribute can be set, reset, and obtained as required through APIs.
2180    ///
2181    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2182    ///
2183    /// .value[0].i32: X coordinate of the component, in px.
2184    ///
2185    /// .value[1].i32: Y coordinate of the component, in px.
2186    ///
2187    /// .value[2].i32: width of the component, in px.
2188    ///
2189    /// .value[3].i32: height of the component, in px.
2190    ///
2191    ///
2192    ///
2193    /// Format of the return value [`ArkUI_AttributeItem`]:
2194    ///
2195    /// .value[0].i32: X coordinate of the component, in px.
2196    ///
2197    /// .value[1].i32: Y coordinate of the component, in px.
2198    ///
2199    /// .value[2].i32: width of the component, in px.
2200    ///
2201    /// .value[3].i32: height of the component, in px.
2202    pub const NODE_LAYOUT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(83);
2203    /// Whether the current component supports click-to-focus capability,
2204    /// which can be set, reset, and obtained as required through APIs.
2205    ///
2206    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2207    ///
2208    /// .value[0].i32: The parameter type is 1 or 0.
2209    ///
2210    ///
2211    /// Format of the return value [`ArkUI_AttributeItem`]:
2212    ///
2213    /// .value[0].i32: The parameter type is 1 or 0.
2214    pub const NODE_FOCUS_ON_TOUCH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(84);
2215    /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
2216    ///
2217    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2218    ///
2219    /// 1: .value[0].f32: width of the four borders, in percentage.
2220    ///
2221    /// 2: .value[0].f32: width of the top border, in percentage.
2222    ///
2223    /// .value[1].f32: width of the right border, in percentage.
2224    ///
2225    /// .value[2].f32: width of the bottom border, in percentage.
2226    ///
2227    /// .value[3].f32: width of the left border, in percentage.
2228    ///
2229    ///
2230    ///
2231    /// Format of the return value [`ArkUI_AttributeItem`]:
2232    ///
2233    /// .value[0].f32: width of the top border, in percentage.
2234    ///
2235    /// .value[1].f32: width of the right border, in percentage.
2236    ///
2237    /// .value[2].f32: width of the bottom border, in percentage.
2238    ///
2239    /// .value[3].f32: width of the left border, in percentage.
2240    pub const NODE_BORDER_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(85);
2241    /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
2242    ///
2243    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2244    ///
2245    /// 1: .value[0].f32: radius of the four corners, in percentage.
2246    ///
2247    /// 2: .value[0].f32: radius of the upper left corner, in percentage.
2248    ///
2249    /// .value[1].f32: radius of the upper right corner, in percentage.
2250    ///
2251    /// .value[2].f32: radius of the lower left corner, in percentage.
2252    ///
2253    /// .value[3].f32: radius of the lower right corner, in percentage.
2254    ///
2255    ///
2256    ///
2257    /// Format of the return value [`ArkUI_AttributeItem`]:
2258    ///
2259    /// .value[0].f32: radius of the upper left corner, in percentage.
2260    ///
2261    /// .value[1].f32: radius of the upper right corner, in percentage.
2262    ///
2263    /// .value[2].f32: radius of the lower left corner, in percentage.
2264    ///
2265    /// .value[3].f32: radius of the lower right corner, in percentage.
2266    pub const NODE_BORDER_RADIUS_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(86);
2267    /// Accessible ID, which can be obtained as required through APIs.
2268    ///
2269    /// Format of the return value [`ArkUI_AttributeItem`]:
2270    ///
2271    /// .value[0].i32:Accessible ID。
2272    pub const NODE_ACCESSIBILITY_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(87);
2273    /// Define accessible actions, which can be set, reset, and obtained as required through APIs.
2274    ///
2275    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2276    ///
2277    /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2278    ///
2279    ///
2280    ///
2281    /// Format of the return value [`ArkUI_AttributeItem`]:
2282    ///
2283    /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2284    pub const NODE_ACCESSIBILITY_ACTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(88);
2285    /// Define accessible role, which can be set, reset, and obtained as required through APIs.
2286    ///
2287    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2288    ///
2289    /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2290    ///
2291    ///
2292    ///
2293    /// Format of the return value [`ArkUI_AttributeItem`]:
2294    ///
2295    /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2296    pub const NODE_ACCESSIBILITY_ROLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(89);
2297    /// Define accessible state, which can be set, reset, and obtained as required through APIs.
2298    ///
2299    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2300    ///
2301    /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2302    ///
2303    ///
2304    ///
2305    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2306    ///
2307    /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2308    pub const NODE_ACCESSIBILITY_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(90);
2309    /// Define accessible value, which can be set, reset, and obtained as required through APIs.
2310    ///
2311    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2312    ///
2313    /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2314    ///
2315    ///
2316    ///
2317    /// Format of the return value [`ArkUI_AttributeItem`]:
2318    ///
2319    /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2320    pub const NODE_ACCESSIBILITY_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(91);
2321    /// defines control components to extend their security zones,
2322    /// supporting property setting, property reset, and property fetching.
2323    ///
2324    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2325    ///
2326    /// .value[0]? .u32: Set of extended security zone enumerated values [`ArkUI_SafeAreaType`],
2327    /// For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;
2328    ///
2329    /// .value[1]? .u32: set of directional enum values for extended security zones [`ArkUI_SafeAreaEdge`];
2330    ///
2331    /// For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;
2332    ///
2333    ///
2334    ///
2335    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2336    ///
2337    /// .value[0].u32: extends the security zone.
2338    /// .
2339    ///
2340    /// .value[1].u32: indicates the direction to extend the security zone.
2341    /// .
2342    pub const NODE_EXPAND_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(92);
2343    /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2344    /// visible area change event of the component.
2345    ///
2346    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2347    ///
2348    /// .value[...].f32: threshold array. The value range is 0 to 1.
2349    ///
2350    ///
2351    /// Format of the return value [`ArkUI_AttributeItem`]:
2352    ///
2353    /// .value[...].f32: threshold array.
2354    pub const NODE_VISIBLE_AREA_CHANGE_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(93);
2355    /// Sets the transition effect when the component is inserted or deleted.
2356    /// This attribute can be set, and obtained as required through APIs.
2357    ///
2358    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2359    ///
2360    /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2361    ///
2362    ///
2363    ///
2364    /// Format of the return value [`ArkUI_AttributeItem`]:
2365    ///
2366    /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2367    pub const NODE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(94);
2368    /// Defines the component ID.
2369    /// This attribute can be obtained through APIs.
2370    ///
2371    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
2372    ///
2373    /// .value[0].i32: component ID.
2374    ///
2375    ///
2376    ///
2377    /// **Deprecated** since 20
2378    /// OH_ArkUI_NodeUtils_GetNodeUniqueId
2379    #[deprecated(since = "20")]
2380    pub const NODE_UNIQUE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(95);
2381    /// Set the current component system focus box style.
2382    ///
2383    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2384    ///
2385    /// .value[0].f32: The distance between the focus box and the edge of the component.
2386    ///
2387    /// Positive numbers represent the outer side, negative numbers represent the inner side.
2388    ///
2389    /// Percentage is not supported.
2390    ///
2391    /// .value[1].f32: Focus box width. Negative numbers and percentages are not supported.
2392    ///
2393    /// .value[2].u32: Focus box color.
2394    ///
2395    ///
2396    pub const NODE_FOCUS_BOX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(96);
2397    /// Defines the moving distance limit for the component-bound tap gesture.
2398    /// This attribute can be set as required through APIs.
2399    ///
2400    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2401    ///
2402    /// .value[0].f32: allowed moving distance of a finger, in vp.
2403    pub const NODE_CLICK_DISTANCE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(97);
2404    /// Sets whether the focus can be placed on this component.
2405    /// This attribute can be set, reset, and obtained as required through APIs.
2406    ///
2407    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2408    ///
2409    /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2410    ///
2411    ///
2412    /// Format of the return value [`ArkUI_AttributeItem`]:
2413    ///
2414    /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2415    ///
2416    ///
2417    /// Available since API-level: 14
2418    #[cfg(feature = "api-14")]
2419    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2420    pub const NODE_TAB_STOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(98);
2421    /// Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs.
2422    ///
2423    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2424    ///
2425    /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2426    ///
2427    /// .value[1]?.f32:grayscale blur settings that control the brightness of the black color.
2428    ///
2429    /// The value range is [0, 127].
2430    ///
2431    /// .value[2]?.f32:grayscale blur settings that control the darkness of the white color.
2432    ///
2433    /// The value range is [0, 127].
2434    ///
2435    ///
2436    ///
2437    /// Format of the return value [`ArkUI_AttributeItem`]:
2438    ///
2439    /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2440    ///
2441    /// .value[1].f32:grayscale blur settings that control the brightness of the black color.
2442    ///
2443    /// The value range is [0, 127].
2444    ///
2445    /// .value[2].f32:grayscale blur settings that control the darkness of the white color.
2446    ///
2447    /// The value range is [0, 127].
2448    ///
2449    ///
2450    ///
2451    /// Available since API-level: 15
2452    #[cfg(feature = "api-15")]
2453    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2454    pub const NODE_BACKDROP_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(99);
2455    /// Defines the background image resizable attribute, which can be set, reset,
2456    /// and obtained as required through APIs.
2457    ///
2458    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2459    ///
2460    /// .value[0].f32: width of the left edge. The unit is vp.
2461    ///
2462    /// .value[1].f32: width of the top edge. The unit is vp.
2463    ///
2464    /// .value[2].f32: width of the right edge. The unit is vp.
2465    ///
2466    /// .value[3].f32: width of the bottom edge. The unit is vp.
2467    ///
2468    ///
2469    ///
2470    /// Format of the return value [`ArkUI_AttributeItem`]:
2471    ///
2472    /// .value[0].f32: width of the left edge. The unit is vp.
2473    ///
2474    /// .value[1].f32: width of the top edge. The unit is vp.
2475    ///
2476    /// .value[2].f32: width of the right edge. The unit is vp.
2477    ///
2478    /// .value[3].f32: width of the bottom edge. The unit is vp.
2479    ///
2480    ///
2481    ///
2482    /// Available since API-level: 19
2483    #[cfg(feature = "api-19")]
2484    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
2485    pub const NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE: ArkUI_NodeAttributeType =
2486        ArkUI_NodeAttributeType(100);
2487    /// Sets the next focus node.
2488    ///
2489    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2490    ///
2491    /// .value[0].i32: focus movement direction, as defined in [`ArkUI_FocusMove`].
2492    /// .object: next focus node. The parameter type is [`ArkUI_NodeHandle`].
2493    ///
2494    ///
2495    ///
2496    ///
2497    ///
2498    /// Available since API-level: 18
2499    #[cfg(feature = "api-18")]
2500    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
2501    pub const NODE_NEXT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(101);
2502    /// Sets the parameters for visible area change events.
2503    ///
2504    ///
2505    /// **Note:** The visible area change callback is not a real-time callback. The actual callback interval may differ from
2506    /// the expected interval due to system load and other factors.
2507    /// The interval between two visible area change callbacks will not be less than the expected update interval. If the
2508    /// provided expected interval is too short, the actual callback interval will be determined by the system load.
2509    /// By default, the interval threshold of the visible area change callback includes 0. This means that,
2510    /// if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5].
2511    ///
2512    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2513    ///
2514    /// .object: parameters for visible area change events.
2515    /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2516    ///
2517    ///
2518    ///
2519    /// Format of the return value [`ArkUI_AttributeItem`]:
2520    ///
2521    /// .object: parameters for visible area change events.
2522    /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2523    ///
2524    ///
2525    ///
2526    /// Available since API-level: 17
2527    #[cfg(feature = "api-17")]
2528    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
2529    pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO: ArkUI_NodeAttributeType =
2530        ArkUI_NodeAttributeType(102);
2531    /// Defines the translate attribute, which supports for percentile translation input, and can be set, reset,
2532    /// and obtained as required through APIs.
2533    ///
2534    ///
2535    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2536    ///
2537    /// .value[0].f32: distance to translate along the x-axis. The default unit is percentage.
2538    /// The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.
2539    ///
2540    /// .value[1].f32: distance to translate along the y-axis. The default unit is percentage.
2541    /// The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.
2542    ///
2543    /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
2544    ///
2545    /// .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage.
2546    /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2547    /// For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction.
2548    /// The default value is <b>1</b>.
2549    ///
2550    /// .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage.
2551    /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2552    /// For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction.
2553    /// The default value is <b>1</b>.
2554    ///
2555    ///
2556    ///
2557    /// Format of the return value [`ArkUI_AttributeItem`]:
2558    ///
2559    /// .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].
2560    ///
2561    /// .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].
2562    ///
2563    /// .value[2].f32: distance to translate along the z-axis. The unit is vp.
2564    ///
2565    /// .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0,
2566    /// the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation
2567    /// distance is percentage;
2568    ///
2569    /// .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0,
2570    /// the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation
2571    /// distance is percentage;
2572    ///
2573    ///
2574    ///
2575    /// Available since API-level: 20
2576    #[cfg(feature = "api-20")]
2577    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2578    pub const NODE_TRANSLATE_WITH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(103);
2579    /// Sets component rotation with multi-axis angle control. This attribute can be set, reset,
2580    /// and obtained as required through APIs.
2581    ///
2582    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2583    ///
2584    /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2585    ///
2586    /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2587    ///
2588    /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2589    ///
2590    /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2591    ///
2592    ///
2593    ///
2594    /// Format of the return value [`ArkUI_AttributeItem`]:
2595    ///
2596    /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2597    /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2598    ///
2599    /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2600    ///
2601    /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2602    ///
2603    ///
2604    ///
2605    /// Available since API-level: 20
2606    #[cfg(feature = "api-20")]
2607    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2608    pub const NODE_ROTATE_ANGLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(104);
2609    /// Defines the width attribute with param type LayoutPolicy, which can be set, reset, and obtained
2610    /// as required through APIs.
2611    ///
2612    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2613    ///
2614    /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2615    ///
2616    /// The parameter type is [`ArkUI_LayoutPolicy`].
2617    ///
2618    ///
2619    ///
2620    /// Format of the return value [`ArkUI_AttributeItem`]:
2621    ///
2622    /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2623    ///
2624    /// The parameter type is [`ArkUI_LayoutPolicy`].
2625    ///
2626    ///
2627    ///
2628    /// Available since API-level: 21
2629    #[cfg(feature = "api-21")]
2630    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2631    pub const NODE_WIDTH_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(105);
2632    /// Defines the height attribute with param type LayoutPolicy, which can be set, reset, and obtained
2633    /// as required through APIs.
2634    ///
2635    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2636    ///
2637    /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2638    ///
2639    /// The parameter type is [`ArkUI_LayoutPolicy`].
2640    ///
2641    ///
2642    ///
2643    /// Format of the return value [`ArkUI_AttributeItem`]:
2644    ///
2645    /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2646    ///
2647    /// The parameter type is [`ArkUI_LayoutPolicy`].
2648    ///
2649    ///
2650    ///
2651    /// Available since API-level: 21
2652    #[cfg(feature = "api-21")]
2653    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2654    pub const NODE_HEIGHT_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(106);
2655    /// Defines the position attribute in param type Edges, which specifies the position of the component
2656    /// by the distance relative to the parent container's four edges. This attribute can be set, reset, and obtained as
2657    /// required through APIs.
2658    ///
2659    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2660    ///
2661    /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2662    ///
2663    ///
2664    ///
2665    /// Format of the return value [`ArkUI_AttributeItem`]:
2666    ///
2667    /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2668    ///
2669    ///
2670    ///
2671    /// Available since API-level: 21
2672    #[cfg(feature = "api-21")]
2673    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2674    pub const NODE_POSITION_EDGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(107);
2675    /// Set whether the component enables the ability to invert colors.
2676    /// This attribute can be set , and obtained as required through APIs.
2677    ///
2678    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2679    ///
2680    /// .value[0].i32: The parameter type is 1 or 0.
2681    ///
2682    ///
2683    ///
2684    /// Available since API-level: 21
2685    #[cfg(feature = "api-21")]
2686    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2687    pub const NODE_ALLOW_FORCE_DARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(108);
2688    /// Defines the pixelRound attribute, which can be set, reset, and obtained as required through APIs.
2689    ///
2690    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2691    ///
2692    /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2693    ///
2694    ///
2695    ///
2696    /// Format of the return value [`ArkUI_AttributeItem`]:
2697    ///
2698    /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2699    ///
2700    ///
2701    ///
2702    /// Available since API-level: 21
2703    #[cfg(feature = "api-21")]
2704    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2705    pub const NODE_PIXEL_ROUND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(109);
2706    /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
2707    ///
2708    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2709    ///
2710    /// .string: text content.
2711    ///
2712    ///
2713    ///
2714    /// Format of the return value [`ArkUI_AttributeItem`]:
2715    ///
2716    /// .string: text content.
2717    pub const NODE_TEXT_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000);
2718    /// Defines the font color attribute, which can be set, reset, and obtained as required through APIs.
2719    ///
2720    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2721    ///
2722    /// .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
2723    ///
2724    ///
2725    ///
2726    /// Format of the return value [`ArkUI_AttributeItem`]:
2727    ///
2728    /// .value[0].u32: font color value, in 0xARGB format.
2729    pub const NODE_FONT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001);
2730    /// Defines the font size attribute, which can be set, reset, and obtained as required through APIs.
2731    ///
2732    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2733    ///
2734    /// .value[0].f32: font size, in fp.
2735    ///
2736    ///
2737    ///
2738    /// Format of the return value [`ArkUI_AttributeItem`]:
2739    ///
2740    /// .value[0].f32: font size, in fp.
2741    pub const NODE_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002);
2742    /// Defines the font style attribute, which can be set, reset, and obtained as required through APIs.
2743    ///
2744    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2745    ///
2746    /// .value[0].i32: font style [`ArkUI_FontStyle`]. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2747    ///
2748    ///
2749    ///
2750    /// Format of the return value [`ArkUI_AttributeItem`]:
2751    ///
2752    /// .value[0].i32: font style [`ArkUI_FontStyle`].
2753    pub const NODE_FONT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003);
2754    /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
2755    ///
2756    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2757    ///
2758    /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2759    ///
2760    ///
2761    ///
2762    /// Format of the return value [`ArkUI_AttributeItem`]:
2763    ///
2764    /// .value[0].i32: font weight [`ArkUI_FontWeight`].
2765    pub const NODE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1004);
2766    /// Defines the text line height attribute, which can be set, reset, and obtained as required through APIs.
2767    ///
2768    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2769    ///
2770    /// .value[0].f32: line height, in fp.
2771    ///
2772    ///
2773    ///
2774    /// Format of the return value [`ArkUI_AttributeItem`]:
2775    ///
2776    /// .value[0].f32: line height, in fp.
2777    pub const NODE_TEXT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1005);
2778    /// Defines the text decoration style and color.
2779    /// This attribute can be set, reset, and obtained as required through APIs.
2780    ///
2781    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2782    ///
2783    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
2784    /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
2785    ///
2786    /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
2787    ///
2788    /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
2789    ///
2790    ///
2791    ///
2792    /// Format of the return value [`ArkUI_AttributeItem`]:
2793    ///
2794    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
2795    ///
2796    /// .value[1].u32: text decoration color, in 0xARGB format.
2797    ///
2798    /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
2799    pub const NODE_TEXT_DECORATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006);
2800    /// Defines the text case attribute, which can be set, reset, and obtained as required through APIs.
2801    ///
2802    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2803    ///
2804    /// .value[0].i32: text case.
2805    ///
2806    ///
2807    ///
2808    /// Format of the return value [`ArkUI_AttributeItem`]:
2809    ///
2810    /// .value[0].i32: text case.
2811    pub const NODE_TEXT_CASE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007);
2812    /// Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs.
2813    ///
2814    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2815    ///
2816    /// .value[0].f32: letter spacing, in fp.
2817    ///
2818    ///
2819    ///
2820    /// Format of the return value [`ArkUI_AttributeItem`]:
2821    ///
2822    /// .value[0].f32: letter spacing, in fp.
2823    pub const NODE_TEXT_LETTER_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008);
2824    /// Sets the maximum number of lines in the text.
2825    /// This attribute can be set, reset, and obtained as required through APIs.
2826    ///
2827    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2828    ///
2829    /// .value[0].i32: maximum number of lines in the text.
2830    ///
2831    ///
2832    ///
2833    /// Format of the return value [`ArkUI_AttributeItem`]:
2834    ///
2835    /// .value[0].i32: maximum number of lines in the text.
2836    pub const NODE_TEXT_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009);
2837    /// Horizontal alignment mode of the text.
2838    /// This attribute can be set, reset, and obtained as required through APIs.
2839    ///
2840    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2841    ///
2842    /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
2843    ///
2844    ///
2845    ///
2846    /// Format of the return value [`ArkUI_AttributeItem`]:
2847    ///
2848    /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
2849    pub const NODE_TEXT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010);
2850    /// Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs.
2851    ///
2852    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2853    ///
2854    /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
2855    ///
2856    ///
2857    ///
2858    /// Format of the return value [`ArkUI_AttributeItem`]:
2859    ///
2860    /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
2861    pub const NODE_TEXT_OVERFLOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1011);
2862    /// Defines the font family attribute, which can be set, reset, and obtained as required through APIs.
2863    ///
2864    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2865    ///
2866    /// .string: fonts, separated by commas (,).
2867    ///
2868    ///
2869    /// Format of the return value [`ArkUI_AttributeItem`]:
2870    ///
2871    /// .string: fonts, separated by commas (,).
2872    pub const NODE_FONT_FAMILY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1012);
2873    /// Defines the copy option attribute, which can be set, reset, and obtained as required through APIs.
2874    ///
2875    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2876    ///
2877    /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
2878    ///
2879    ///
2880    ///
2881    /// Format of the return value [`ArkUI_AttributeItem`]:
2882    ///
2883    /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
2884    pub const NODE_TEXT_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013);
2885    /// Defines the text baseline offset attribute
2886    /// This attribute can be set, reset, and obtained as required through APIs.
2887    ///
2888    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2889    ///
2890    /// .value[0].f32: baseline offset, in fp.
2891    ///
2892    ///
2893    ///
2894    /// Format of the return value [`ArkUI_AttributeItem`]:
2895    ///
2896    /// .value[0].f32: baseline offset, in fp.
2897    pub const NODE_TEXT_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014);
2898    /// Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs.
2899    ///
2900    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2901    ///
2902    /// .value[0].f32: blur radius of the shadow, in vp.
2903    ///
2904    /// .value[1].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
2905    ///
2906    /// .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
2907    ///
2908    /// .value[3].f32: offset of the shadow along the x-axis, in vp.
2909    ///
2910    /// .value[4].f32: offset of the shadow along the y-axis, in vp.
2911    ///
2912    ///
2913    ///
2914    /// Format of the return value [`ArkUI_AttributeItem`]:
2915    ///
2916    /// .value[0].f32: blur radius of the shadow, in vp.
2917    ///
2918    /// .value[1].i32: shadow type [`ArkUI_ShadowType`].
2919    ///
2920    /// .value[2].u32: shadow color, in 0xARGB format.
2921    ///
2922    /// .value[3].f32: offset of the shadow along the x-axis, in vp.
2923    ///
2924    /// .value[4].f32: offset of the shadow along the y-axis, in vp.
2925    pub const NODE_TEXT_TEXT_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1015);
2926    /// Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs.
2927    ///
2928    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2929    ///
2930    /// .value[0].f32: minimum font size, in fp.
2931    ///
2932    ///
2933    /// Format of the return value [`ArkUI_AttributeItem`]:
2934    ///
2935    /// .value[0].f32: minimum font size, in fp.
2936    pub const NODE_TEXT_MIN_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1016);
2937    /// Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs.
2938    ///
2939    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2940    ///
2941    /// .value[0].f32: maximum font size, in fp.
2942    ///
2943    ///
2944    /// Format of the return value [`ArkUI_AttributeItem`]:
2945    ///
2946    /// .value[0].f32: maximum font size, in fp.
2947    pub const NODE_TEXT_MAX_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1017);
2948    /// Defines the text style attribute, which can be set, reset, and obtained as required through APIs.
2949    ///
2950    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2951    ///
2952    /// .string?: font family. Optional. Use commas (,) to separate multiple fonts.
2953    ///
2954    /// .value[0].f32: font size, in fp.
2955    ///
2956    /// .value[1]?.i32: font weight. Optional. The parameter type is [`ArkUI_FontWeight`].
2957    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2958    ///
2959    /// .value[2]?.i32: font style. Optional. The parameter type is [`ArkUI_FontStyle`].
2960    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2961    ///
2962    ///
2963    /// Format of the return value [`ArkUI_AttributeItem`]:
2964    ///
2965    /// .string: font family. Use commas (,) to separate multiple fonts.
2966    ///
2967    /// .value[0].f32: font size, in fp.
2968    ///
2969    /// .value[1].i32: font weight. The parameter type is [`ArkUI_FontWeight`].
2970    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2971    ///
2972    /// .value[2].i32: font style. The parameter type is [`ArkUI_FontStyle`].
2973    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2974    pub const NODE_TEXT_FONT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018);
2975    /// Defines how the adaptive height is determined for the text.
2976    /// This attribute can be set, reset, and obtained as required through APIs.
2977    ///
2978    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2979    ///
2980    /// .value[0].i32: how the adaptive height is determined for the text.
2981    /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`].
2982    ///
2983    ///
2984    /// Format of the return value [`ArkUI_AttributeItem`]:
2985    ///
2986    /// .value[0].i32: how the adaptive height is determined for the text.
2987    /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`]
2988    pub const NODE_TEXT_HEIGHT_ADAPTIVE_POLICY: ArkUI_NodeAttributeType =
2989        ArkUI_NodeAttributeType(1019);
2990    /// Defines the indentation of the first line.
2991    /// This attribute can be set, reset, and obtained as required through APIs.
2992    ///
2993    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2994    ///
2995    /// .value[0].f32: indentation of the first line.
2996    ///
2997    ///
2998    ///
2999    /// Format of the return value [`ArkUI_AttributeItem`]:
3000    ///
3001    /// .value[0].f32: indentation of the first line.
3002    pub const NODE_TEXT_INDENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1020);
3003    /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
3004    ///
3005    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3006    ///
3007    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3008    ///
3009    ///
3010    ///
3011    /// Format of the return value [`ArkUI_AttributeItem`]:
3012    ///
3013    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3014    pub const NODE_TEXT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1021);
3015    /// Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs.
3016    ///
3017    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3018    ///
3019    /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3020    ///
3021    ///
3022    ///
3023    /// Format of the return value [`ArkUI_AttributeItem`]:
3024    ///
3025    /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3026    pub const NODE_TEXT_ELLIPSIS_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1022);
3027    /// Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs.
3028    ///
3029    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3030    ///
3031    /// .value[0].f32: line spacing, in fp.
3032    ///
3033    ///
3034    ///
3035    /// Format of the return value [`ArkUI_AttributeItem`]:
3036    ///
3037    /// .value[0].f32: line spacing, in fp.
3038    pub const NODE_TEXT_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1023);
3039    ///  Set the text feature effect and the NODE_FONT_FEATURE attribute,
3040    /// NODE_FONT_FEATURE is the advanced typesetting capability of OpenType
3041    /// Features such as ligatures and equal-width digits are generally used in customized fonts.
3042    ///
3043    /// The capabilities need to be supported by the fonts,
3044    ///
3045    /// Interfaces for setting, resetting, and obtaining attributes are supported.
3046    ///
3047    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
3048    ///
3049    /// .string: complies with the text feature format. The format is normal |
3050    ///
3051    /// is in the format of [ | on | off],
3052    /// .
3053    /// There can be multiple values separated by commas (,).
3054    ///
3055    /// For example, the input format of a number with the same width is ss01 on.
3056    ///
3057    ///
3058    ///
3059    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
3060    ///
3061    /// .string indicates the content of the text feature. Multiple text features are separated by commas (,).
3062    pub const NODE_FONT_FEATURE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1024);
3063    /// Setting Enable Text Recognition.
3064    ///
3065    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3066    ///
3067    /// .value[0].i32:Enable text recognition, default value false.
3068    ///
3069    ///
3070    ///
3071    /// Format of the return value [`ArkUI_AttributeItem`]:
3072    ///
3073    /// .value[0].i32:Enable Text Recognition
3074    pub const NODE_TEXT_ENABLE_DATA_DETECTOR: ArkUI_NodeAttributeType =
3075        ArkUI_NodeAttributeType(1025);
3076    /// Set the text recognition configuration.
3077    ///
3078    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3079    ///
3080    /// .value[0...].i32: Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3081    ///
3082    ///
3083    ///
3084    /// Format of the return value [`ArkUI_AttributeItem`]:
3085    ///
3086    /// .value[0...].i32:Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3087    pub const NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG: ArkUI_NodeAttributeType =
3088        ArkUI_NodeAttributeType(1026);
3089    /// Defines the background color of the selected text.
3090    /// This attribute can be set, reset, and obtained as required through APIs.
3091    ///
3092    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3093    ///
3094    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3095    ///
3096    ///
3097    ///
3098    /// Format of the return value [`ArkUI_AttributeItem`]:
3099    ///
3100    /// .value[0].u32: color value, in 0xARGB format.
3101    pub const NODE_TEXT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
3102        ArkUI_NodeAttributeType(1027);
3103    /// The text component uses a formatted string object to set text content properties,
3104    /// and supports property setting, property reset, and property acquisition interfaces.
3105    ///
3106    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3107    ///
3108    /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3109    ///
3110    ///
3111    ///
3112    /// Format of the return value [`ArkUI_AttributeItem`]:
3113    ///
3114    /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3115    pub const NODE_TEXT_CONTENT_WITH_STYLED_STRING: ArkUI_NodeAttributeType =
3116        ArkUI_NodeAttributeType(1028);
3117    /// Sets whether to center text vertically in the text component.
3118    ///
3119    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3120    ///
3121    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
3122    ///
3123    ///
3124    ///
3125    /// Format of the return value [`ArkUI_AttributeItem`]:
3126    ///
3127    /// .value[0].i32: whether to center text vertically.
3128    pub const NODE_TEXT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1029);
3129    /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3130    /// The font weight specified by this API is not affected by any changes in the system font weight settings.
3131    ///
3132    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3133    ///
3134    /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3135    ///
3136    ///
3137    ///
3138    /// Format of the return value [`ArkUI_AttributeItem`]:
3139    ///
3140    /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3141    ///
3142    ///
3143    ///
3144    /// Available since API-level: 15
3145    #[cfg(feature = "api-15")]
3146    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
3147    pub const NODE_IMMUTABLE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1030);
3148    /// Sets whether to optimize the trailing spaces at the end of each line during text layout.
3149    /// This attribute can be set, reset, and obtained as required through APIs.
3150    ///
3151    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3152    ///
3153    /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3154    /// The default value is <b>false</b>.
3155    ///
3156    ///
3157    ///
3158    /// Format of the return value [`ArkUI_AttributeItem`]:
3159    ///
3160    /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3161    ///
3162    ///
3163    ///
3164    /// Available since API-level: 20
3165    #[cfg(feature = "api-20")]
3166    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3167    pub const NODE_TEXT_OPTIMIZE_TRAILING_SPACE: ArkUI_NodeAttributeType =
3168        ArkUI_NodeAttributeType(1032);
3169    /// Defines the text line count attribute, which can only be obtained as required through APIs.
3170    ///
3171    /// Format of the return value [`ArkUI_AttributeItem`]:
3172    ///
3173    /// .value[0].i32: line count of the node.
3174    ///
3175    ///
3176    /// Available since API-level: 20
3177    #[cfg(feature = "api-20")]
3178    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3179    pub const NODE_TEXT_LINE_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1031);
3180    /// Sets a linear gradient effect for text.
3181    /// This attribute can be set, reset, and obtained as required through APIs.
3182    ///
3183    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3184    ///
3185    /// .value[0].f32: start angle of the linear gradient.
3186    /// The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
3187    /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
3188    ///
3189    /// .value[1].i32: direction of the linear gradient. When a direction other than
3190    /// <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored.
3191    /// The parameter type is [`ArkUI_LinearGradientDirection`].
3192    ///
3193    /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
3194    /// .object: array of color stops, each of which consists of a color and its stop position.
3195    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3196    ///
3197    ///
3198    /// colors: colors of the color stops.
3199    ///
3200    /// stops: stop positions of the color stops.
3201    ///
3202    /// size: number of colors.
3203    ///
3204    ///
3205    ///
3206    /// Format of the return value [`ArkUI_AttributeItem`]:
3207    ///
3208    /// .value[0].f32: start angle of the linear gradient.
3209    /// When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value;
3210    /// otherwise, it is at default value.
3211    ///
3212    /// .value[1].i32: direction of the linear gradient.
3213    ///
3214    /// .value[2].i32: whether the colors are repeated.
3215    ///
3216    /// .object: array of color stops, each of which consists of a color and its stop position.
3217    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3218    ///
3219    ///
3220    /// colors: colors of the color stops.
3221    ///
3222    /// stops: stop positions of the color stops.
3223    ///
3224    /// size: number of colors.
3225    ///
3226    ///
3227    ///
3228    /// Available since API-level: 20
3229    #[cfg(feature = "api-20")]
3230    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3231    pub const NODE_TEXT_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1033);
3232    /// Sets a radial gradient effect for text.
3233    /// This attribute can be set, reset, and obtained as required through APIs.
3234    ///
3235    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3236    ///
3237    /// .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3238    ///
3239    /// .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3240    ///
3241    /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
3242    ///
3243    /// .value[3]?.i32: whether the colors are repeated.
3244    /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3245    ///
3246    ///
3247    /// .object: array of color stops, each of which consists of a color and its stop position.
3248    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3249    ///
3250    /// colors: colors of the color stops.
3251    ///
3252    /// stops: stop positions of the color stops.
3253    ///
3254    /// size: number of colors.
3255    ///
3256    ///
3257    ///
3258    /// Format of the return value [`ArkUI_AttributeItem`]:
3259    ///
3260    /// .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3261    ///
3262    /// .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3263    ///
3264    /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
3265    ///
3266    /// .value[3].i32: whether the colors are repeated.
3267    /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3268    ///
3269    /// .object: array of color stops, each of which consists of a color and its stop position.
3270    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3271    ///
3272    /// colors: colors of the color stops.
3273    ///
3274    /// stops: stop positions of the color stops.
3275    ///
3276    /// size: number of colors.
3277    ///
3278    ///
3279    ///
3280    /// Available since API-level: 20
3281    #[cfg(feature = "api-20")]
3282    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3283    pub const NODE_TEXT_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1034);
3284    /// Sets the vertical alignment of the text content.
3285    /// This attribute can be set, reset, and obtained as required through APIs.
3286    ///
3287    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3288    ///
3289    /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3290    /// enum. The default value is <b>ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE</b>.
3291    ///
3292    ///
3293    ///
3294    /// Format of the return value [`ArkUI_AttributeItem`]:
3295    ///
3296    /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3297    /// enum.
3298    ///
3299    ///
3300    ///
3301    /// Available since API-level: 20
3302    #[cfg(feature = "api-20")]
3303    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3304    pub const NODE_TEXT_VERTICAL_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1035);
3305    /// Sets the content align of the text.
3306    /// This attribute can be set, reset, and obtained as required through APIs.
3307    ///
3308    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3309    ///
3310    /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3311    /// enum. The default value is <b>ARKUI_TEXT_CONTENT_ALIGN_CENTER</b>.
3312    ///
3313    ///
3314    ///
3315    /// Format of the return value [`ArkUI_AttributeItem`]:
3316    ///
3317    /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3318    /// enum.
3319    ///
3320    ///
3321    ///
3322    /// Available since API-level: 21
3323    #[cfg(feature = "api-21")]
3324    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3325    pub const NODE_TEXT_CONTENT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1036);
3326    /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3327    ///
3328    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3329    ///
3330    /// .string: content of the text span.
3331    ///
3332    ///
3333    ///
3334    /// Format of the return value [`ArkUI_AttributeItem`]:
3335    ///
3336    /// .string: content of the text span.
3337    pub const NODE_SPAN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2000);
3338    /// Defines the text background style.
3339    /// This attribute can be set, reset, and obtained as required through APIs.
3340    ///
3341    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3342    ///
3343    /// .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red.
3344    ///
3345    /// The second parameter indicates the rounded corners of the text background. Two setting modes are available:
3346    ///
3347    /// 1: .value[1].f32: radius of the four corners, in vp.
3348    ///
3349    /// 2: .value[1].f32: radius of the upper left corner, in vp.
3350    ///
3351    /// .value[2].f32: radius of the upper right corner, in vp.
3352    ///
3353    /// .value[3].f32: radius of the lower left corner, in vp.
3354    ///
3355    /// .value[4].f32: radius of the lower right corner, in vp.
3356    ///
3357    ///
3358    ///
3359    /// Format of the return value [`ArkUI_AttributeItem`]:
3360    ///
3361    /// .value[0].u32: color of the text background, in 0xARGB format.
3362    ///
3363    /// .value[1].f32: radius of the upper left corner, in vp.
3364    ///
3365    /// .value[2].f32: radius of the upper right corner, in vp.
3366    ///
3367    /// .value[3].f32: radius of the lower left corner, in vp.
3368    ///
3369    /// .value[4].f32: radius of the lower right corner, in vp.
3370    pub const NODE_SPAN_TEXT_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
3371        ArkUI_NodeAttributeType(2001);
3372    /// Defines the text baseline offset attribute
3373    /// This attribute can be set, reset, and obtained as required through APIs.
3374    ///
3375    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3376    ///
3377    /// .value[0].f32: baseline offset, in fp.
3378    ///
3379    ///
3380    ///
3381    /// Format of the return value [`ArkUI_AttributeItem`]:
3382    ///
3383    /// .value[0].f32: baseline offset, in fp.
3384    pub const NODE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2002);
3385    /// Defines the image source of the image span.
3386    /// This attribute can be set, reset, and obtained as required through APIs.
3387    ///
3388    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3389    ///
3390    /// .string: image address of the image span.
3391    ///
3392    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3393    ///
3394    ///
3395    ///
3396    /// Format of the return value [`ArkUI_AttributeItem`]:
3397    ///
3398    /// .string: image address of the image span.
3399    ///
3400    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3401    pub const NODE_IMAGE_SPAN_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3000);
3402    /// Defines the alignment mode of the image with the text.
3403    /// This attribute can be set, reset, and obtained as required through APIs.
3404    ///
3405    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3406    ///
3407    /// .value[0].i32: alignment mode of the image with the text.
3408    /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
3409    ///
3410    ///
3411    ///
3412    /// Format of the return value [`ArkUI_AttributeItem`]:
3413    ///
3414    /// .value[0].i32: alignment mode of the image with the text.
3415    /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
3416    pub const NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT: ArkUI_NodeAttributeType =
3417        ArkUI_NodeAttributeType(3001);
3418    /// Defines the placeholder image source.
3419    /// This attribute can be set, reset, and obtained as required through APIs.
3420    ///
3421    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3422    ///
3423    /// .string: placeholder image source.
3424    ///
3425    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3426    ///
3427    ///
3428    ///
3429    /// Format of the return value [`ArkUI_AttributeItem`]:
3430    ///
3431    /// .string: placeholder image source.
3432    ///
3433    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3434    pub const NODE_IMAGE_SPAN_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3002);
3435    /// Defines the baseline offset attribute of the <b>ImageSpan</b> component.
3436    /// This attribute can be set, reset, and obtained as required through APIs.
3437    /// A positive value means an upward offset, while a negative value means a downward offset.
3438    /// The default value is <b>0</b>, and the unit is fp.
3439    ///
3440    ///
3441    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3442    ///
3443    /// .value[0].f32: baseline offset, in fp.
3444    ///
3445    ///
3446    ///
3447    /// Format of the return value [`ArkUI_AttributeItem`]:
3448    ///
3449    /// .value[0].f32: baseline offset, in fp.
3450    ///
3451    ///
3452    ///
3453    /// Available since API-level: 13
3454    #[cfg(feature = "api-13")]
3455    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3456    pub const NODE_IMAGE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType =
3457        ArkUI_NodeAttributeType(3003);
3458    /// Defines the image source of the <Image> component.
3459    /// This attribute can be set, reset, and obtained as required through APIs.
3460    ///
3461    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3462    ///
3463    /// .string: image source.
3464    ///
3465    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3466    ///
3467    ///
3468    ///
3469    /// Format of the return value [`ArkUI_AttributeItem`]:
3470    ///
3471    /// .string: image source.
3472    ///
3473    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3474    pub const NODE_IMAGE_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4000);
3475    /// Defines how the image is resized to fit its container.
3476    /// This attribute can be set, reset, and obtained as required through APIs.
3477    ///
3478    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3479    ///
3480    /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
3481    ///
3482    ///
3483    ///
3484    /// Format of the return value [`ArkUI_AttributeItem`]:
3485    ///
3486    /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
3487    pub const NODE_IMAGE_OBJECT_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4001);
3488    /// Defines the interpolation effect of the image.
3489    /// This attribute can be set, reset, and obtained as required through APIs.
3490    ///
3491    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3492    ///
3493    /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
3494    ///
3495    ///
3496    ///
3497    /// Format of the return value [`ArkUI_AttributeItem`]:
3498    ///
3499    /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
3500    pub const NODE_IMAGE_INTERPOLATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4002);
3501    /// Defines how the image is repeated.
3502    /// This attribute can be set, reset, and obtained as required through APIs.
3503    ///
3504    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3505    ///
3506    /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
3507    ///
3508    ///
3509    ///
3510    /// Format of the return value [`ArkUI_AttributeItem`]:
3511    ///
3512    /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
3513    pub const NODE_IMAGE_OBJECT_REPEAT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4003);
3514    /// Defines the color filter of the image.
3515    /// This attribute can be set, reset, and obtained as required through APIs.
3516    ///
3517    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3518    ///
3519    /// .value[0].f32 to .value[19].f32: filter matrix array.
3520    ///
3521    /// .size: 5 x 4 filter array size.
3522    ///
3523    /// .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set.
3524    ///
3525    ///
3526    ///
3527    /// Format of the return value [`ArkUI_AttributeItem`]:
3528    ///
3529    /// .value[0].f32 to .value[19].f32: filter matrix array.
3530    ///
3531    /// .size: 5 x 4 filter array size.
3532    ///
3533    /// .object: the pointer to OH_Drawing_ColorFilter.
3534    pub const NODE_IMAGE_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4004);
3535    /// Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs.
3536    ///
3537    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3538    ///
3539    /// .value[0].i32 : whether to resize the image source.
3540    ///
3541    ///
3542    ///
3543    /// Format of the return value [`ArkUI_AttributeItem`]:
3544    ///
3545    /// .value[0].i32 : whether to resize the image source.
3546    pub const NODE_IMAGE_AUTO_RESIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4005);
3547    /// Defines the placeholder image source.
3548    /// This attribute can be set, reset, and obtained as required through APIs.
3549    ///
3550    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3551    ///
3552    /// .string: placeholder image source.
3553    ///
3554    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3555    ///
3556    ///
3557    ///
3558    /// Format of the return value [`ArkUI_AttributeItem`]:
3559    ///
3560    /// .string: placeholder image source.
3561    ///
3562    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3563    pub const NODE_IMAGE_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4006);
3564    /// Defines whether the image is draggable.
3565    /// This attribute can be set, reset, and obtained as required through APIs.
3566    ///
3567    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3568    ///
3569    /// .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable.
3570    ///
3571    ///
3572    ///
3573    /// Format of the return value [`ArkUI_AttributeItem`]:
3574    ///
3575    /// .value[0].i32: whether the image is draggable.
3576    pub const NODE_IMAGE_DRAGGABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4007);
3577    /// Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs.
3578    ///
3579    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3580    ///
3581    /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
3582    ///
3583    ///
3584    ///
3585    /// Format of the return value [`ArkUI_AttributeItem`]:
3586    ///
3587    /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
3588    pub const NODE_IMAGE_RENDER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4008);
3589    /// Defines whether the image display size follows the image source size.
3590    /// This attribute can be set, reset, and obtained as required through APIs.
3591    ///
3592    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3593    ///
3594    /// .value[0].i32: wheter to follow, true means to follow.
3595    ///
3596    ///
3597    ///
3598    /// Format of the return value [`ArkUI_AttributeItem`]:
3599    ///
3600    /// .value[0].i32: wheter to follow, true means to follow.
3601    pub const NODE_IMAGE_FIT_ORIGINAL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4009);
3602    /// Defines the fill color of the swiper.
3603    /// This attribute can be set, reset, and obtained as required through APIs.
3604    ///
3605    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3606    ///
3607    /// .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3608    ///
3609    ///
3610    ///
3611    /// Format of the return value [`ArkUI_AttributeItem`]:
3612    ///
3613    /// .value[0].u32: fill color, in 0xARGB format.
3614    pub const NODE_IMAGE_FILL_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4010);
3615    /// Sets the resizable image options.
3616    ///
3617    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3618    ///
3619    /// .value[0].f32: width of the left edge. The unit is vp.
3620    ///
3621    /// .value[1].f32: width of the top edge. The unit is vp.
3622    ///
3623    /// .value[2].f32: width of the right edge. The unit is vp.
3624    ///
3625    /// .value[3].f32: width of the bottom edge. The unit is vp.
3626    ///
3627    ///
3628    ///
3629    /// Format of the return value [`ArkUI_AttributeItem`]:
3630    ///
3631    /// .value[0].f32: width of the left edge. The unit is vp.
3632    ///
3633    /// .value[1].f32: width of the top edge. The unit is vp.
3634    ///
3635    /// .value[2].f32: width of the right edge. The unit is vp.
3636    ///
3637    /// .value[3].f32: width of the bottom edge. The unit is vp.
3638    pub const NODE_IMAGE_RESIZABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4011);
3639    /// Defines the synchronous image loading attribute.
3640    /// This attribute can be set, reset, and obtained as required through APIs.
3641    ///
3642    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3643    ///
3644    /// .value[0].i32: whether to load the image synchronously.
3645    ///
3646    ///
3647    ///
3648    /// Format of the return value [`ArkUI_AttributeItem`]:
3649    ///
3650    /// .value[0].i32: whether to load the image synchronously.
3651    ///
3652    ///
3653    ///
3654    /// Available since API-level: 20
3655    #[cfg(feature = "api-20")]
3656    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3657    pub const NODE_IMAGE_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4012);
3658    /// Defines the image decoding size attribute.
3659    /// This attribute can be set, reset, and obtained as required through APIs.
3660    ///
3661    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3662    ///
3663    /// .value[0].i32: width of the image decoding, in px.
3664    ///
3665    /// .value[1].i32: height of the image decoding, in px.
3666    ///
3667    ///
3668    ///
3669    /// Format of the return value [`ArkUI_AttributeItem`]:
3670    ///
3671    /// .value[0].i32: width of the image decoding, in px.
3672    ///
3673    /// .value[1].i32: height of the image decoding, in px.
3674    ///
3675    ///
3676    ///
3677    /// Available since API-level: 21
3678    #[cfg(feature = "api-21")]
3679    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3680    pub const NODE_IMAGE_SOURCE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4013);
3681    /// Defines the display tranformation matrix for an image.
3682    /// This attribute can be set, reset, and obtained as required through APIs.
3683    ///
3684    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3685    ///
3686    /// .value[0...15].f32: 16 floating-point numbers.
3687    ///
3688    ///
3689    ///
3690    /// Format of the return value [`ArkUI_AttributeItem`]:
3691    ///
3692    /// .value[0...15].f32: 16 floating-point numbers.
3693    ///
3694    ///
3695    ///
3696    /// Available since API-level: 21
3697    #[cfg(feature = "api-21")]
3698    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3699    pub const NODE_IMAGE_IMAGE_MATRIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4014);
3700    /// Defines the image follow text direction attribute.
3701    /// This attribute can be set, reset, and obtained as required through APIs.
3702    ///
3703    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3704    ///
3705    /// .value[0].i32: whether to follows the text direction.
3706    ///
3707    ///
3708    ///
3709    /// Format of the return value [`ArkUI_AttributeItem`]:
3710    ///
3711    /// .value[0].i32: whether to follows the text direction.
3712    ///
3713    ///
3714    ///
3715    /// Available since API-level: 21
3716    #[cfg(feature = "api-21")]
3717    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3718    pub const NODE_IMAGE_MATCH_TEXT_DIRECTION: ArkUI_NodeAttributeType =
3719        ArkUI_NodeAttributeType(4015);
3720    /// Defines the image copy attribute.
3721    /// This attribute can be set, reset, and obtained as required through APIs.
3722    ///
3723    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3724    ///
3725    /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
3726    ///
3727    ///
3728    ///
3729    /// Format of the return value [`ArkUI_AttributeItem`]:
3730    ///
3731    /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
3732    #[cfg(feature = "api-21")]
3733    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3734    pub const NODE_IMAGE_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4016);
3735    /// Defines the image AI analysis enable attribute.
3736    /// This attribute can be set, reset, and obtained as required through APIs.
3737    ///
3738    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3739    ///
3740    /// .value[0].i32: whether to enable AI analysis for the image.
3741    ///
3742    ///
3743    ///
3744    /// Format of the return value [`ArkUI_AttributeItem`]:
3745    ///
3746    /// .value[0].i32: whether to enable AI analysis for the image.
3747    ///
3748    ///
3749    ///
3750    /// Available since API-level: 21
3751    #[cfg(feature = "api-21")]
3752    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3753    pub const NODE_IMAGE_ENABLE_ANALYZER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4017);
3754    /// Defines the image dynamic display range attribute.
3755    /// This attribute can be set, reset, and obtained as required through APIs.
3756    ///
3757    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3758    ///
3759    /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode`].
3760    /// The default value is <b>ARKUI_DYNAMIC_RANGE_MODE_STANDARD</b>.
3761    ///
3762    ///
3763    ///
3764    /// Format of the return value [`ArkUI_AttributeItem`]:
3765    ///
3766    /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode.`]
3767    #[cfg(feature = "api-21")]
3768    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3769    pub const NODE_IMAGE_DYNAMIC_RANGE_MODE: ArkUI_NodeAttributeType =
3770        ArkUI_NodeAttributeType(4018);
3771    /// Defines the image dynamic display brightness attribute.
3772    /// This attribute can be set, reset, and obtained as required through APIs.
3773    ///
3774    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3775    ///
3776    /// .value[0].f32: hdr brightness. value range [0, 1]
3777    ///
3778    ///
3779    ///
3780    /// Format of the return value [`ArkUI_AttributeItem`]:
3781    ///
3782    /// .value[0].f32: hdr brightness. value range [0, 1]
3783    ///
3784    ///
3785    ///
3786    /// Available since API-level: 21
3787    #[cfg(feature = "api-21")]
3788    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3789    pub const NODE_IMAGE_HDR_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4019);
3790    /// Defines the image display direction attribute.
3791    /// This attribute can be set, reset, and obtained as required through APIs.
3792    ///
3793    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3794    ///
3795    /// .value[0].i32: orientation [`ArkUI_Orientation`].
3796    /// The default value is <b>ARKUI_ORIENTATION_UP</b>.
3797    ///
3798    ///
3799    ///
3800    /// Format of the return value [`ArkUI_AttributeItem`]:
3801    ///
3802    /// .value[0].i32: orientation [`ArkUI_Orientation.`]
3803    #[cfg(feature = "api-21")]
3804    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3805    pub const NODE_IMAGE_ORIENTATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4020);
3806    /// Set the range of SVG parsing capabilities supported through enable switch.
3807    /// This attribute can be set, reset, and obtained as required through APIs.
3808    ///
3809    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3810    ///
3811    /// .value[0].i32: enable switch.
3812    ///
3813    ///
3814    ///
3815    /// Format of the return value [`ArkUI_AttributeItem`]:
3816    ///
3817    /// .value[0].i32: enable switch.
3818    ///
3819    ///
3820    ///
3821    /// Available since API-level: 21
3822    #[cfg(feature = "api-21")]
3823    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3824    pub const NODE_IMAGE_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4021);
3825    /// Set the animation effect for the image content transformation.
3826    /// This attribute can be set, reset, and obtained as required through APIs.
3827    ///
3828    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3829    ///
3830    /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
3831    ///
3832    ///
3833    /// Format of the return value [`ArkUI_AttributeItem`]:
3834    ///
3835    /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
3836    ///
3837    ///
3838    ///
3839    /// Available since API-level: 21
3840    #[cfg(feature = "api-21")]
3841    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3842    pub const NODE_IMAGE_CONTENT_TRANSITION: ArkUI_NodeAttributeType =
3843        ArkUI_NodeAttributeType(4022);
3844    /// Defines the color of the component when it is selected.
3845    /// This attribute can be set, reset, and obtained as required through APIs.
3846    ///
3847    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3848    ///
3849    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3850    ///
3851    ///
3852    ///
3853    /// Format of the return value [`ArkUI_AttributeItem`]:
3854    ///
3855    /// .value[0].u32: background color, in 0xARGB format.
3856    pub const NODE_TOGGLE_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5000);
3857    /// Defines the color of the circular slider for the component of the switch type.
3858    /// This attribute can be set, reset, and obtained as required through APIs.
3859    ///
3860    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3861    ///
3862    /// .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3863    ///
3864    ///
3865    ///
3866    /// Format of the return value [`ArkUI_AttributeItem`]:
3867    ///
3868    /// .value[0].u32: color of the circular slider, in 0xARGB format.
3869    pub const NODE_TOGGLE_SWITCH_POINT_COLOR: ArkUI_NodeAttributeType =
3870        ArkUI_NodeAttributeType(5001);
3871    /// Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs.
3872    ///
3873    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3874    ///
3875    /// .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle.
3876    ///
3877    ///
3878    ///
3879    /// Format of the return value [`ArkUI_AttributeItem`]:
3880    ///
3881    /// .value[0].i32: whether to enable the toggle.
3882    pub const NODE_TOGGLE_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5002);
3883    /// Defines the color of the component when it is deselected.
3884    /// This attribute can be set, reset, and obtained as required through APIs.
3885    ///
3886    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3887    ///
3888    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3889    ///
3890    ///
3891    ///
3892    /// Format of the return value [`ArkUI_AttributeItem`]:
3893    ///
3894    /// .value[0].u32: background color, in 0xARGB format.
3895    pub const NODE_TOGGLE_UNSELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5003);
3896    /// Defines the foreground color of the loading progress bar.
3897    /// This attribute can be set, reset, and obtained as required through APIs.
3898    ///
3899    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3900    ///
3901    /// .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3902    ///
3903    ///
3904    ///
3905    /// Format of the return value [`ArkUI_AttributeItem`]:
3906    ///
3907    /// .value[0].u32: foreground color, in 0xARGB format.
3908    pub const NODE_LOADING_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6000);
3909    /// Defines whether to show the loading animation for the <LoadingProgress> component.
3910    /// This attribute can be set, reset, and obtained as required through APIs.
3911    ///
3912    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3913    ///
3914    /// .value[0].i32: whether to show the loading animation.
3915    /// The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.
3916    ///
3917    ///
3918    ///
3919    /// Format of the return value [`ArkUI_AttributeItem`]:
3920    ///
3921    /// .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite.
3922    pub const NODE_LOADING_PROGRESS_ENABLE_LOADING: ArkUI_NodeAttributeType =
3923        ArkUI_NodeAttributeType(6001);
3924    /// Defines the default placeholder text of the single-line text box.
3925    /// This attribute can be set, reset, and obtained as required through APIs.
3926    ///
3927    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3928    ///
3929    /// .string: default placeholder text.
3930    ///
3931    ///
3932    ///
3933    /// Format of the return value [`ArkUI_AttributeItem`]:
3934    ///
3935    /// .string: default placeholder text.
3936    pub const NODE_TEXT_INPUT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7000);
3937    /// Defines the default text content of the single-line text box.
3938    /// This attribute can be set, reset, and obtained as required through APIs.
3939    ///
3940    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3941    ///
3942    /// .string: default text content.
3943    ///
3944    ///
3945    ///
3946    /// Format of the return value [`ArkUI_AttributeItem`]:
3947    ///
3948    /// .string: default text content.
3949    pub const NODE_TEXT_INPUT_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7001);
3950    /// Defines the caret color attribute.
3951    /// This attribute can be set, reset, and obtained as required through APIs.
3952    ///
3953    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3954    ///
3955    /// .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3956    ///
3957    ///
3958    ///
3959    /// Format of the return value [`ArkUI_AttributeItem`]:
3960    ///
3961    /// .value[0].u32: caret color, in 0xARGB format.
3962    pub const NODE_TEXT_INPUT_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7002);
3963    /// Defines the caret style attribute.
3964    /// This attribute can be set, reset, and obtained as required through APIs.
3965    ///
3966    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3967    ///
3968    /// .value[0].f32: caret width, in vp.
3969    ///
3970    ///
3971    ///
3972    /// Format of the return value [`ArkUI_AttributeItem`]:
3973    ///
3974    /// .value[0].f32: caret width, in vp.
3975    pub const NODE_TEXT_INPUT_CARET_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7003);
3976    /// Defines the underline attribute of the single-line text box.
3977    /// This attribute can be set, reset, and obtained as required through APIs.
3978    ///
3979    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3980    ///
3981    /// .value[0].i32: whether to show an underline.
3982    /// The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.
3983    ///
3984    ///
3985    ///
3986    /// Format of the return value [`ArkUI_AttributeItem`]:
3987    ///
3988    /// .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite.
3989    pub const NODE_TEXT_INPUT_SHOW_UNDERLINE: ArkUI_NodeAttributeType =
3990        ArkUI_NodeAttributeType(7004);
3991    /// Defines the maximum number of characters in the text input.
3992    /// This attribute can be set, reset, and obtained as required through APIs.
3993    ///
3994    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3995    ///
3996    /// .value[0].i32: maximum number of characters in the text input, without a unit.
3997    ///
3998    ///
3999    ///
4000    /// Format of the return value [`ArkUI_AttributeItem`]:
4001    ///
4002    /// .value[0].i32: maximum number of characters in the text input.
4003    pub const NODE_TEXT_INPUT_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7005);
4004    /// Defines the type of the Enter key.
4005    /// This attribute can be set, reset, and obtained as required through APIs.
4006    ///
4007    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4008    ///
4009    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4010    ///
4011    ///
4012    ///
4013    /// Format of the return value [`ArkUI_AttributeItem`]:
4014    ///
4015    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4016    pub const NODE_TEXT_INPUT_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4017        ArkUI_NodeAttributeType(7006);
4018    /// Defines the placeholder text color.
4019    /// This attribute can be set, reset, and obtained as required through APIs.
4020    ///
4021    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4022    ///
4023    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4024    ///
4025    ///
4026    ///
4027    /// Format of the return value [`ArkUI_AttributeItem`]:
4028    ///
4029    /// .value[0].u32: color value, in 0xARGB format.
4030    pub const NODE_TEXT_INPUT_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4031        ArkUI_NodeAttributeType(7007);
4032    /// Defines the placeholder text font.
4033    /// This attribute can be set, reset, and obtained as required through APIs.
4034    ///
4035    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4036    ///
4037    /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4038    ///
4039    /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional.
4040    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4041    ///
4042    /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional.
4043    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4044    ///
4045    /// ?.string: font family. Multiple font families are separated by commas (,).
4046    /// Example: "font weight; font family 1, font family 2".
4047    ///
4048    ///
4049    ///
4050    /// Format of the return value [`ArkUI_AttributeItem`]:
4051    ///
4052    /// .value[0].f32: font size, in fp.
4053    ///
4054    /// .value[1].i32: font style [`ArkUI_FontStyle`].
4055    ///
4056    /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4057    ///
4058    /// .string: font family. Multiple font families are separated by commas (,).
4059    pub const NODE_TEXT_INPUT_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4060        ArkUI_NodeAttributeType(7008);
4061    /// Defines whether to enable the input method when the component obtains focus.
4062    /// This attribute can be set, reset, and obtained as required through APIs.
4063    ///
4064    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4065    ///
4066    /// .value[0].i32: whether to enable the input method when the component obtains focus.
4067    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4068    ///
4069    ///
4070    ///
4071    ///
4072    /// Format of the return value [`ArkUI_AttributeItem`]:
4073    ///
4074    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4075    /// and <b>0</b> means the opposite.
4076    pub const NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4077        ArkUI_NodeAttributeType(7009);
4078    /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4079    ///
4080    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4081    ///
4082    /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4083    /// The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>.
4084    ///
4085    ///
4086    ///
4087    /// Format of the return value [`ArkUI_AttributeItem`]:
4088    ///
4089    /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4090    pub const NODE_TEXT_INPUT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7010);
4091    /// Defines the background color of the selected text.
4092    /// This attribute can be set, reset, and obtained as required through APIs.
4093    ///
4094    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4095    ///
4096    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4097    ///
4098    ///
4099    ///
4100    /// Format of the return value [`ArkUI_AttributeItem`]:
4101    ///
4102    /// .value[0].u32: color value, in 0xARGB format.
4103    pub const NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4104        ArkUI_NodeAttributeType(7011);
4105    /// Defines whether to display the password icon at the end of the password text box.
4106    /// This attribute can be set, reset, and obtained as required through APIs.
4107    ///
4108    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4109    ///
4110    /// .value[0].i32: whether to display the password icon at the end of the password text box.
4111    /// The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.
4112    ///
4113    ///
4114    ///
4115    /// Format of the return value [`ArkUI_AttributeItem`]:
4116    ///
4117    /// .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box,
4118    /// and <b>0</b> means the opposite.
4119    pub const NODE_TEXT_INPUT_SHOW_PASSWORD_ICON: ArkUI_NodeAttributeType =
4120        ArkUI_NodeAttributeType(7012);
4121    /// Defines the editable state for the single-line text box.
4122    /// This attribute can be set as required through APIs.
4123    ///
4124    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4125    ///
4126    /// .value[0].i32: whether to remain in the editable state. The value
4127    /// <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state.
4128    ///
4129    ///
4130    ///
4131    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4132    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4133    /// state, and <b>false</b> means to exit the editable state.
4134    pub const NODE_TEXT_INPUT_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7013);
4135    /// Defines the style of the cancel button on the right of the single-line text box.
4136    /// This attribute can be set, reset, and obtained as required through APIs.
4137    ///
4138    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4139    ///
4140    /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4141    /// The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.
4142    ///
4143    /// .value[1]?.f32: button icon size, in vp.
4144    ///
4145    /// .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4146    ///
4147    /// ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png.
4148    ///
4149    ///
4150    ///
4151    /// Format of the return value [`ArkUI_AttributeItem`]:
4152    ///
4153    /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4154    ///
4155    /// .value[1].f32: icon size, in vp.
4156    ///
4157    /// .value[2].u32: button icon color, in 0xARGB format.
4158    ///
4159    /// .string: button icon image source.
4160    pub const NODE_TEXT_INPUT_CANCEL_BUTTON: ArkUI_NodeAttributeType =
4161        ArkUI_NodeAttributeType(7014);
4162    /// Sets the text selection area, which will be highlighted.
4163    /// This attribute can be set, reset, and obtained as required through APIs.
4164    ///
4165    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4166    ///
4167    /// .value[0].i32: start position of the text selection.
4168    ///
4169    /// .value[1].i32: end position of the text selection.
4170    ///
4171    ///
4172    ///
4173    /// Format of the return value [`ArkUI_AttributeItem`]:
4174    ///
4175    /// .value[0].i32: start position of the text selection.
4176    ///
4177    /// .value[1].i32: end position of the text selection.
4178    pub const NODE_TEXT_INPUT_TEXT_SELECTION: ArkUI_NodeAttributeType =
4179        ArkUI_NodeAttributeType(7015);
4180    /// Sets the color of the text underline when it is enabled.
4181    ///
4182    /// The default underline color configured for the theme is <b>'0x33182431'</b>.
4183    ///
4184    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4185    ///
4186    /// .value[0].u32: color of the underline applied to the text being typed in.
4187    /// The value is in 0xARGB format.
4188    ///
4189    /// .value[1].u32: color of the underline applied to the text in the normal state.
4190    /// The value is in 0xARGB format.
4191    ///
4192    /// .value[2].u32: color of the underline applied to the text when an error is detected.
4193    /// The value is in 0xARGB format.
4194    ///
4195    /// .value[3].u32: color of the underline applied to the text when it is disabled.
4196    /// The value is in 0xARGB format.
4197    ///
4198    ///
4199    ///
4200    /// Format of the return value [`ArkUI_AttributeItem`]:
4201    ///
4202    /// .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format.
4203    ///
4204    /// .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format.
4205    ///
4206    /// .value[2].u32: color of the underline applied to the text when an error is detected.
4207    /// The value is in 0xARGB format.
4208    ///
4209    /// .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format.
4210    pub const NODE_TEXT_INPUT_UNDERLINE_COLOR: ArkUI_NodeAttributeType =
4211        ArkUI_NodeAttributeType(7016);
4212    /// Sets whether to enable autofill.
4213    ///
4214    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4215    ///
4216    /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4217    ///
4218    ///
4219    ///
4220    /// Format of the return value [`ArkUI_AttributeItem`]:
4221    ///
4222    /// .value[0].i32: whether to enable autofill.
4223    pub const NODE_TEXT_INPUT_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4224        ArkUI_NodeAttributeType(7017);
4225    /// Sets the autofill type.
4226    ///
4227    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4228    ///
4229    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4230    ///
4231    ///
4232    ///
4233    /// Format of the return value [`ArkUI_AttributeItem`]:
4234    ///
4235    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4236    pub const NODE_TEXT_INPUT_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7018);
4237    /// Defines the rules for generating passwords. When autofill is used, these rules are transparently
4238    /// transmitted to Password Vault for generating a new password.
4239    ///
4240    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4241    ///
4242    /// .string: rules for generating passwords.
4243    ///
4244    ///
4245    ///
4246    /// Format of the return value [`ArkUI_AttributeItem`]:
4247    ///
4248    /// .string: rules for generating passwords.
4249    pub const NODE_TEXT_INPUT_PASSWORD_RULES: ArkUI_NodeAttributeType =
4250        ArkUI_NodeAttributeType(7019);
4251    /// Sets whether to select all text in the initial state. The inline mode is not supported.
4252    ///
4253    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4254    ///
4255    /// .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>.
4256    ///
4257    ///
4258    ///
4259    /// Format of the return value [`ArkUI_AttributeItem`]:
4260    ///
4261    /// .value[0].i32: whether to select all text in the initial state.
4262    pub const NODE_TEXT_INPUT_SELECT_ALL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7020);
4263    /// Sets the regular expression for input filtering.
4264    /// Only inputs that comply with the regular expression can be displayed.
4265    /// Other inputs are filtered out. The specified regular expression can match single characters,
4266    /// but not strings.
4267    ///
4268    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4269    ///
4270    /// .string: regular expression.
4271    ///
4272    ///
4273    ///
4274    /// Format of the return value [`ArkUI_AttributeItem`]:
4275    ///
4276    /// .string: regular expression.
4277    pub const NODE_TEXT_INPUT_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7021);
4278    /// Sets the text box to the default style or inline input style.
4279    ///
4280    /// For the inline input style, only <b>InputType.Normal</b> is supported.
4281    ///
4282    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4283    ///
4284    /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
4285    ///
4286    ///
4287    ///
4288    /// Format of the return value [`ArkUI_AttributeItem`]:
4289    ///
4290    /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
4291    pub const NODE_TEXT_INPUT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7022);
4292    /// Sets or obtains the caret position.
4293    ///
4294    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4295    ///
4296    /// In the case of setting the caret position:
4297    /// .value[0].i32: character count from the beginning of a string to the caret position.
4298    ///
4299    ///
4300    /// Format of the return value [`ArkUI_AttributeItem`]:
4301    ///
4302    /// In the case of obtaining the caret position: If this API is called when the caret position is updated in the
4303    /// current frame, it will not take effect.
4304    /// .value[0].i32: index of the caret position.
4305    ///
4306    /// .value[1].f32: X coordinate of the caret relative to the text box.
4307    ///
4308    /// .value[2].f32: Y coordinate of the caret relative to the text box.
4309    pub const NODE_TEXT_INPUT_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7023);
4310    /// Obtains the position of the edited text area relative to the component and its size.
4311    ///
4312    /// Format of the return value [`ArkUI_AttributeItem`]:
4313    ///
4314    /// .value[0].f32: horizontal coordinate.
4315    ///
4316    /// .value[1].f32: vertical coordinate.
4317    ///
4318    /// .value[2].f32: content width.
4319    ///
4320    /// .value[3].f32: content height.
4321    pub const NODE_TEXT_INPUT_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7024);
4322    /// Obtains the number of lines of the edited text.
4323    ///
4324    /// Format of the return value [`ArkUI_AttributeItem`]:
4325    ///
4326    /// .value[0].i32: number of lines of the edited text.
4327    pub const NODE_TEXT_INPUT_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
4328        ArkUI_NodeAttributeType(7025);
4329    /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or
4330    /// right-clicked. This attribute can be set, reset, and obtained as required through APIs.
4331    ///
4332    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4333    ///
4334    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
4335    /// right-clicked. The default value is <b>false</b>.
4336    ///
4337    ///
4338    ///
4339    /// Format of the return value [`ArkUI_AttributeItem`]:
4340    ///
4341    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
4342    /// right-clicked.
4343    pub const NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
4344        ArkUI_NodeAttributeType(7026);
4345    /// Sets whether the text box loses focus after the Enter key is pressed to submit information.
4346    ///
4347    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4348    ///
4349    /// .value[0].i32: whether the text box loses focus.
4350    ///
4351    ///
4352    ///
4353    /// Format of the return value [`ArkUI_AttributeItem`]:
4354    ///
4355    /// .value[0].i32: whether the text box loses focus.
4356    pub const NODE_TEXT_INPUT_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
4357        ArkUI_NodeAttributeType(7027);
4358    /// Set up a custom keyboard.
4359    ///
4360    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4361    ///
4362    /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
4363    ///
4364    /// .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.
4365    ///
4366    ///
4367    ///
4368    /// Format of the return value [`ArkUI_AttributeItem`]:
4369    ///
4370    /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
4371    ///
4372    /// .value[0].i32:Set whether the custom keyboard supports the avoidance function.
4373    pub const NODE_TEXT_INPUT_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
4374        ArkUI_NodeAttributeType(7028);
4375    /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
4376    ///
4377    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4378    ///
4379    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
4380    ///
4381    ///
4382    ///
4383    /// Format of the return value [`ArkUI_AttributeItem`]:
4384    ///
4385    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
4386    pub const NODE_TEXT_INPUT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7029);
4387    /// Sets whether the keyboard pops up when the input box gains focus.
4388    /// It supports property setting, property reset and property acquisition interfaces.
4389    ///
4390    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
4391    ///
4392    /// .value[0].i32: Whether to pop up the keyboard.
4393    ///
4394    ///
4395    ///
4396    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
4397    ///
4398    /// .value[0].i32: Whether to pop up the keyboard.
4399    pub const NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4400        ArkUI_NodeAttributeType(7030);
4401    /// When this property is set, the height of the textInput component is calculated using this property.
4402    ///
4403    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4404    ///
4405    /// .value[0].i32: set the value of numberOfLines.
4406    ///
4407    ///
4408    ///
4409    /// Format of the return value [`ArkUI_AttributeItem`]:
4410    ///
4411    /// .value[0].i32: the value of numberOfLines.
4412    pub const NODE_TEXT_INPUT_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
4413        ArkUI_NodeAttributeType(7031);
4414    /// Sets the letter spacing of the <b>TextInput</b> component.
4415    /// This attribute can be set, reset, and obtained as required through APIs.
4416    ///
4417    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4418    ///
4419    /// .value[0].f32: letter spacing. The default unit is fp.
4420    ///
4421    ///
4422    ///
4423    /// Format of the return value [`ArkUI_AttributeItem`]:
4424    ///
4425    /// .value[0].f32: letter spacing. The default unit is fp.
4426    ///
4427    ///
4428    ///
4429    /// Available since API-level: 15
4430    #[cfg(feature = "api-15")]
4431    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4432    pub const NODE_TEXT_INPUT_LETTER_SPACING: ArkUI_NodeAttributeType =
4433        ArkUI_NodeAttributeType(7032);
4434    /// Sets whether to enable preview text for the <b>TextInput</b> component.
4435    /// This attribute can be set, reset, and obtained as required through APIs.
4436    ///
4437    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4438    ///
4439    /// .value[0].i32: whether to enable preview tex.
4440    ///
4441    ///
4442    ///
4443    /// Format of the return value [`ArkUI_AttributeItem`]:
4444    ///
4445    /// .value[0].i32: whether to enable preview tex.
4446    ///
4447    ///
4448    ///
4449    /// Available since API-level: 15
4450    #[cfg(feature = "api-15")]
4451    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4452    pub const NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
4453        ArkUI_NodeAttributeType(7033);
4454    /// Sets whether to center text vertically in the textInput component.
4455    ///
4456    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4457    ///
4458    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
4459    ///
4460    ///
4461    ///
4462    /// Format of the return value [`ArkUI_AttributeItem`]:
4463    ///
4464    /// .value[0].i32: whether to center text vertically.
4465    ///
4466    ///
4467    ///
4468    /// Available since API-level: 18
4469    #[cfg(feature = "api-18")]
4470    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
4471    pub const NODE_TEXT_INPUT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7034);
4472    /// Set the keyboard style of textInput
4473    ///
4474    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4475    ///
4476    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4477    ///
4478    ///
4479    ///
4480    /// Format of the return value [`ArkUI_AttributeItem`]:
4481    ///
4482    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4483    ///
4484    ///
4485    ///
4486    /// Available since API-level: 15
4487    #[cfg(feature = "api-15")]
4488    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4489    pub const NODE_TEXT_INPUT_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
4490        ArkUI_NodeAttributeType(7035);
4491    /// Set whether to enable the auto fill animation or not.
4492    ///
4493    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4494    ///
4495    /// .value[0].i32: Whether to enable the auto fill animation.
4496    ///
4497    ///
4498    ///
4499    /// Format of the return value [`ArkUI_AttributeItem`]:
4500    ///
4501    /// .value[0].i32: Get the flag of whether the auto fill animation is enabled.
4502    ///
4503    ///
4504    ///
4505    /// Available since API-level: 20
4506    #[cfg(feature = "api-20")]
4507    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4508    pub const NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION: ArkUI_NodeAttributeType =
4509        ArkUI_NodeAttributeType(7036);
4510    /// Set the line height of the input node.
4511    /// This attribute can be set, reset, and obtained as required through APIs.
4512    ///
4513    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4514    ///
4515    /// .value[0].i32: line height value.
4516    ///
4517    ///
4518    /// Format of the return value [`ArkUI_AttributeItem`]:
4519    ///
4520    /// .value[0].i32: line height value
4521    ///
4522    ///
4523    /// Available since API-level: 20
4524    #[cfg(feature = "api-20")]
4525    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4526    pub const NODE_TEXT_INPUT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7037);
4527    /// Defines the default placeholder text for the multi-line text box.
4528    /// This attribute can be set, reset, and obtained as required through APIs.
4529    ///
4530    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4531    ///
4532    /// .string: default placeholder text.
4533    ///
4534    ///
4535    ///
4536    /// Format of the return value [`ArkUI_AttributeItem`]:
4537    ///
4538    /// .string: default placeholder text.
4539    pub const NODE_TEXT_AREA_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8000);
4540    /// Defines the default text content for the multi-line text box.
4541    /// This attribute can be set, reset, and obtained as required through APIs.
4542    ///
4543    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4544    ///
4545    /// .string: default text content.
4546    ///
4547    ///
4548    ///
4549    /// Format of the return value [`ArkUI_AttributeItem`]:
4550    ///
4551    /// .string: default text content.
4552    pub const NODE_TEXT_AREA_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8001);
4553    /// Defines the maximum number of characters in the text input.
4554    /// This attribute can be set, reset, and obtained as required through APIs.
4555    ///
4556    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4557    ///
4558    /// .value[0].i32: maximum number of characters in the text input.
4559    ///
4560    ///
4561    ///
4562    /// Format of the return value [`ArkUI_AttributeItem`]:
4563    ///
4564    /// .value[0].i32: maximum number of characters in the text input.
4565    pub const NODE_TEXT_AREA_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8002);
4566    /// Defines the placeholder text color.
4567    /// This attribute can be set, reset, and obtained as required through APIs.
4568    ///
4569    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4570    ///
4571    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4572    ///
4573    ///
4574    ///
4575    /// Format of the return value [`ArkUI_AttributeItem`]:
4576    ///
4577    /// .value[0].u32: color value, in 0xARGB format.
4578    pub const NODE_TEXT_AREA_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4579        ArkUI_NodeAttributeType(8003);
4580    /// Defines the placeholder text font.
4581    /// This attribute can be set, reset, and obtained as required through APIs.
4582    ///
4583    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4584    ///
4585    /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4586    ///
4587    /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4588    ///
4589    /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4590    ///
4591    /// ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2".
4592    ///
4593    ///
4594    ///
4595    /// Format of the return value [`ArkUI_AttributeItem`]:
4596    ///
4597    /// .value[0].f32: font size, in fp.
4598    ///
4599    /// .value[1].i32: font style [`ArkUI_FontStyle`].
4600    ///
4601    /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4602    ///
4603    /// .string: font family. Multiple font families are separated by commas (,).
4604    pub const NODE_TEXT_AREA_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4605        ArkUI_NodeAttributeType(8004);
4606    /// Defines the caret color attribute.
4607    /// This attribute can be set, reset, and obtained as required through APIs.
4608    ///
4609    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4610    ///
4611    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4612    ///
4613    ///
4614    ///
4615    /// Format of the return value [`ArkUI_AttributeItem`]:
4616    ///
4617    /// .value[0].u32: background color, in 0xARGB format.
4618    pub const NODE_TEXT_AREA_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8005);
4619    /// Defines the editable state for the multi-line text box.
4620    /// This attribute can be set as required through APIs.
4621    ///
4622    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4623    ///
4624    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the
4625    /// editable state, and <b>false</b> means to exit the editable state.
4626    ///
4627    ///
4628    ///
4629    ///
4630    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4631    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4632    /// state, and <b>false</b> means to exit the editable state.
4633    ///
4634    pub const NODE_TEXT_AREA_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8006);
4635    /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4636    ///
4637    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4638    ///
4639    /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
4640    /// The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>.
4641    ///
4642    ///
4643    ///
4644    /// Format of the return value [`ArkUI_AttributeItem`]:
4645    ///
4646    /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
4647    pub const NODE_TEXT_AREA_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8007);
4648    /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
4649    ///
4650    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4651    ///
4652    /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
4653    ///
4654    /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
4655    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
4656    /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
4657    ///
4658    /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
4659    ///
4660    ///
4661    ///
4662    /// Format of the return value [`ArkUI_AttributeItem`]:
4663    ///
4664    /// .value[0].i32: whether to show a character counter.
4665    ///
4666    /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
4667    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
4668    /// by the threshold percentage value. The value range is 1 to 100.
4669    ///
4670    /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
4671    /// The default value is <b>true</b>.
4672    pub const NODE_TEXT_AREA_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8008);
4673    /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click,
4674    /// or right-clicked. This attribute can be set, reset, and obtained as required through APIs.
4675    ///
4676    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4677    ///
4678    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
4679    /// or right-clicked. The default value is <b>false</b>.
4680    ///
4681    ///
4682    ///
4683    /// Format of the return value [`ArkUI_AttributeItem`]:
4684    ///
4685    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
4686    /// or right-clicked.
4687    pub const NODE_TEXT_AREA_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
4688        ArkUI_NodeAttributeType(8009);
4689    /// Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information.
4690    ///
4691    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4692    ///
4693    /// .value[0].i32: whether the text box loses focus.
4694    ///
4695    ///
4696    ///
4697    /// Format of the return value [`ArkUI_AttributeItem`]:
4698    ///
4699    /// .value[0].i32: whether the text box loses focus.
4700    pub const NODE_TEXT_AREA_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
4701        ArkUI_NodeAttributeType(8010);
4702    /// Sets the regular expression for input filtering.
4703    /// Only inputs that comply with the regular expression can be displayed.
4704    /// Other inputs are filtered out. The specified regular expression can match single characters,
4705    /// but not strings.
4706    ///
4707    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4708    ///
4709    /// .string: regular expression.
4710    ///
4711    ///
4712    ///
4713    /// Format of the return value [`ArkUI_AttributeItem`]:
4714    ///
4715    /// .string: regular expression.
4716    pub const NODE_TEXT_AREA_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8011);
4717    /// Defines the background color of the selected text.
4718    /// This attribute can be set, reset, and obtained as required through APIs.
4719    ///
4720    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4721    ///
4722    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4723    ///
4724    ///
4725    ///
4726    /// Format of the return value [`ArkUI_AttributeItem`]:
4727    ///
4728    /// .value[0].u32: color value, in 0xARGB format.
4729    pub const NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4730        ArkUI_NodeAttributeType(8012);
4731    /// Defines the type of the Enter key.
4732    /// This attribute can be set, reset, and obtained as required through APIs.
4733    ///
4734    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4735    ///
4736    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4737    ///
4738    ///
4739    ///
4740    /// Format of the return value [`ArkUI_AttributeItem`]:
4741    ///
4742    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4743    pub const NODE_TEXT_AREA_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4744        ArkUI_NodeAttributeType(8013);
4745    /// Defines whether to enable the input method when the component obtains focus.
4746    /// This attribute can be set, reset, and obtained as required through APIs.
4747    ///
4748    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4749    ///
4750    /// .value[0].i32: whether to enable the input method when the component obtains focus.
4751    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4752    ///
4753    ///
4754    ///
4755    ///
4756    /// Format of the return value [`ArkUI_AttributeItem`]:
4757    ///
4758    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4759    /// and <b>0</b> means the opposite.
4760    pub const NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4761        ArkUI_NodeAttributeType(8014);
4762    /// Defines whether to enable the input method when the component obtains focus.
4763    /// This attribute can be set, reset, and obtained as required through APIs.
4764    ///
4765    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4766    ///
4767    /// .value[0].i32: whether to enable the input method when the component obtains focus.
4768    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4769    ///
4770    ///
4771    ///
4772    ///
4773    /// Format of the return value [`ArkUI_AttributeItem`]:
4774    ///
4775    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4776    /// and <b>0</b> means the opposite.
4777    pub const NODE_TEXT_AREA_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8015);
4778    /// Obtains the position of the edited text area relative to the component and its size.
4779    ///
4780    /// Format of the return value [`ArkUI_AttributeItem`]:
4781    ///
4782    /// .value[0].f32: horizontal coordinate.
4783    ///
4784    /// .value[1].f32: vertical coordinate.
4785    ///
4786    /// .value[2].f32: content width.
4787    ///
4788    /// .value[3].f32: content height.
4789    pub const NODE_TEXT_AREA_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8016);
4790    /// Obtains the number of lines of the edited text.
4791    ///
4792    /// Format of the return value [`ArkUI_AttributeItem`]:
4793    ///
4794    /// .value[0].i32: number of lines of the edited text.
4795    pub const NODE_TEXT_AREA_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
4796        ArkUI_NodeAttributeType(8017);
4797    /// Sets the text selection area, which will be highlighted.
4798    /// This attribute can be set, reset, and obtained as required through APIs.
4799    ///
4800    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4801    ///
4802    /// .value[0].i32: start position of the text selection.
4803    ///
4804    /// .value[1].i32: end position of the text selection.
4805    ///
4806    ///
4807    ///
4808    /// Format of the return value [`ArkUI_AttributeItem`]:
4809    ///
4810    /// .value[0].i32: start position of the text selection.
4811    ///
4812    /// .value[1].i32: end position of the text selection.
4813    pub const NODE_TEXT_AREA_TEXT_SELECTION: ArkUI_NodeAttributeType =
4814        ArkUI_NodeAttributeType(8018);
4815    /// Sets whether to enable autofill.
4816    ///
4817    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4818    ///
4819    /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4820    ///
4821    ///
4822    ///
4823    /// Format of the return value [`ArkUI_AttributeItem`]:
4824    ///
4825    /// .value[0].i32: whether to enable autofill.
4826    pub const NODE_TEXT_AREA_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4827        ArkUI_NodeAttributeType(8019);
4828    /// Sets the autofill type.
4829    ///
4830    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4831    ///
4832    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4833    ///
4834    ///
4835    ///
4836    /// Format of the return value [`ArkUI_AttributeItem`]:
4837    ///
4838    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4839    pub const NODE_TEXT_AREA_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8020);
4840    /// Sets whether the keyboard pops up when the input box gains focus.
4841    /// It supports property setting, property reset and property acquisition interfaces.
4842    ///
4843    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
4844    ///
4845    /// .value[0].i32: Whether to pop up the keyboard.
4846    ///
4847    ///
4848    ///
4849    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
4850    ///
4851    /// .value[0].i32: Whether to pop up the keyboard.
4852    pub const NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4853        ArkUI_NodeAttributeType(8021);
4854    /// When this property is set, the height of the textArea component is calculated using this property.
4855    ///
4856    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4857    ///
4858    /// .value[0].i32: set the value of numberOfLines.
4859    ///
4860    ///
4861    ///
4862    /// Format of the return value [`ArkUI_AttributeItem`]:
4863    ///
4864    /// .value[0].i32: Set the value of numberOfLines
4865    pub const NODE_TEXT_AREA_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
4866        ArkUI_NodeAttributeType(8022);
4867    /// Sets the letter spacing of the <b>TextArea</b> component.
4868    /// This attribute can be set, reset, and obtained as required through APIs.
4869    ///
4870    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4871    ///
4872    /// .value[0].f32: letter spacing. The default unit is fp.
4873    ///
4874    ///
4875    ///
4876    /// Format of the return value [`ArkUI_AttributeItem`]:
4877    ///
4878    /// .value[0].f32: letter spacing. The default unit is fp.
4879    ///
4880    ///
4881    ///
4882    /// Available since API-level: 15
4883    #[cfg(feature = "api-15")]
4884    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4885    pub const NODE_TEXT_AREA_LETTER_SPACING: ArkUI_NodeAttributeType =
4886        ArkUI_NodeAttributeType(8023);
4887    /// Sets whether to enable preview text for the <b>TextArea</b> component.
4888    /// This attribute can be set, reset, and obtained as required through APIs.
4889    ///
4890    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4891    ///
4892    /// .value[0].i32: whether to enable preview tex.
4893    ///
4894    ///
4895    ///
4896    /// Format of the return value [`ArkUI_AttributeItem`]:
4897    ///
4898    /// .value[0].i32: whether to enable preview tex.
4899    ///
4900    ///
4901    ///
4902    /// Available since API-level: 15
4903    #[cfg(feature = "api-15")]
4904    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4905    pub const NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
4906        ArkUI_NodeAttributeType(8024);
4907    /// Sets whether to center text vertically in the textArea component.
4908    ///
4909    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4910    ///
4911    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
4912    ///
4913    ///
4914    ///
4915    /// Format of the return value [`ArkUI_AttributeItem`]:
4916    ///
4917    /// .value[0].i32: whether to center text vertically.
4918    ///
4919    ///
4920    ///
4921    /// Available since API-level: 18
4922    #[cfg(feature = "api-18")]
4923    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
4924    pub const NODE_TEXT_AREA_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8025);
4925    /// Set the keyboard style of textArea
4926    ///
4927    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4928    ///
4929    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4930    ///
4931    ///
4932    ///
4933    /// Format of the return value [`ArkUI_AttributeItem`]:
4934    ///
4935    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4936    ///
4937    ///
4938    ///
4939    /// Available since API-level: 15
4940    #[cfg(feature = "api-15")]
4941    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4942    pub const NODE_TEXT_AREA_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
4943        ArkUI_NodeAttributeType(8026);
4944    /// Set the max lines of the node. This attribute can be set, reset, and obtained as required through APIs.
4945    ///
4946    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4947    ///
4948    /// .value[0].i32: max lines count.
4949    ///
4950    ///
4951    /// Format of the return value [`ArkUI_AttributeItem`]:
4952    ///
4953    /// .value[0].i32: max lines count.
4954    ///
4955    ///
4956    ///
4957    /// Available since API-level: 20
4958    #[cfg(feature = "api-20")]
4959    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4960    pub const NODE_TEXT_AREA_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8027);
4961    /// Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs.
4962    ///
4963    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4964    ///
4965    /// .value[0].i32: line spacing value.
4966    ///
4967    ///
4968    ///
4969    /// Format of the return value [`ArkUI_AttributeItem`]:
4970    ///
4971    /// .value[0].i32: line spacing value.
4972    ///
4973    ///
4974    ///
4975    /// Available since API-level: 20
4976    #[cfg(feature = "api-20")]
4977    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4978    pub const NODE_TEXT_AREA_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8028);
4979    /// Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs.
4980    ///
4981    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4982    ///
4983    /// .value[0].i32: min lines count.
4984    ///
4985    ///
4986    /// Format of the return value [`ArkUI_AttributeItem`]:
4987    ///
4988    /// .value[0].i32: min line count.
4989    ///
4990    ///
4991    ///
4992    /// Available since API-level: 20
4993    #[cfg(feature = "api-20")]
4994    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4995    pub const NODE_TEXT_AREA_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8029);
4996    /// Set the max lines of the node with scroll.
4997    /// This attribute can be set, reset, and obtained as required through APIs.
4998    ///
4999    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5000    ///
5001    /// .value[0].i32: max lines count with scroll.
5002    ///
5003    ///
5004    /// Format of the return value [`ArkUI_AttributeItem`]:
5005    ///
5006    /// .value[0].i32: max line count with scroll.
5007    ///
5008    ///
5009    ///
5010    /// Available since API-level: 20
5011    #[cfg(feature = "api-20")]
5012    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5013    pub const NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL: ArkUI_NodeAttributeType =
5014        ArkUI_NodeAttributeType(8030);
5015    /// Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs.
5016    ///
5017    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5018    ///
5019    /// .value[0].i32: line height value.
5020    ///
5021    ///
5022    /// Format of the return value [`ArkUI_AttributeItem`]:
5023    ///
5024    /// .value[0].i32: line height value
5025    ///
5026    ///
5027    /// Available since API-level: 20
5028    #[cfg(feature = "api-20")]
5029    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5030    pub const NODE_TEXT_AREA_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8031);
5031    /// Defines the button text content. This attribute can be set, reset, and obtained as required through APIs.
5032    ///
5033    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5034    ///
5035    /// .string: default text content.
5036    ///
5037    ///
5038    ///
5039    /// Format of the return value [`ArkUI_AttributeItem`]:
5040    ///
5041    /// .string: default text content.
5042    pub const NODE_BUTTON_LABEL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9000);
5043    /// Sets the button type. This attribute can be set, reset, and obtained as required through APIs.
5044    ///
5045    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5046    ///
5047    /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
5048    /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
5049    ///
5050    ///
5051    ///
5052    /// Format of the return value [`ArkUI_AttributeItem`]:
5053    ///
5054    /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
5055    /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
5056    pub const NODE_BUTTON_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9001);
5057    /// Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs.
5058    ///
5059    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5060    ///
5061    /// .value[0].f32: minimum font scale, in fp.
5062    ///
5063    ///
5064    /// Format of the return value [`ArkUI_AttributeItem`]:
5065    ///
5066    /// .value[0].f32: minimum font scale, in fp.
5067    ///
5068    ///
5069    /// Available since API-level: 18
5070    #[cfg(feature = "api-18")]
5071    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5072    pub const NODE_BUTTON_MIN_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9002);
5073    /// Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs.
5074    ///
5075    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5076    ///
5077    /// .value[0].f32: maximum font scale, in fp.
5078    ///
5079    ///
5080    /// Format of the return value [`ArkUI_AttributeItem`]:
5081    ///
5082    /// .value[0].f32: maximum font scale, in fp.
5083    ///
5084    ///
5085    /// Available since API-level: 18
5086    #[cfg(feature = "api-18")]
5087    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5088    pub const NODE_BUTTON_MAX_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9003);
5089    /// Defines the current value of the progress indicator.
5090    /// This attribute can be set, reset, and obtained as required through APIs.
5091    ///
5092    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5093    ///
5094    /// .value[0].f32: current value of the progress indicator.
5095    ///
5096    ///
5097    ///
5098    /// Format of the return value [`ArkUI_AttributeItem`]:
5099    ///
5100    /// .value[0].f32: current value of the progress indicator.
5101    pub const NODE_PROGRESS_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10000);
5102    /// Defines the total value of the progress indicator.
5103    /// This attribute can be set, reset, and obtained as required through APIs.
5104    ///
5105    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5106    ///
5107    /// .value[0].f32: total value of the progress indicator.
5108    ///
5109    ///
5110    ///
5111    /// Format of the return value [`ArkUI_AttributeItem`]:
5112    ///
5113    /// .value[0].f32: total value of the progress indicator.
5114    pub const NODE_PROGRESS_TOTAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10001);
5115    /// Defines the color for the progress value on the progress indicator.
5116    /// This attribute can be set, reset, and obtained as required through APIs.
5117    ///
5118    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5119    ///
5120    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5121    ///
5122    ///
5123    ///
5124    /// Format of the return value [`ArkUI_AttributeItem`]:
5125    ///
5126    /// .value[0].u32: color value, in 0xARGB format.
5127    pub const NODE_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10002);
5128    /// Defines the type of the progress indicator.
5129    /// This attribute can be set, reset, and obtained as required through APIs.
5130    ///
5131    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5132    ///
5133    /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
5134    /// The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>.
5135    ///
5136    ///
5137    ///
5138    /// Format of the return value [`ArkUI_AttributeItem`]:
5139    ///
5140    /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
5141    pub const NODE_PROGRESS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10003);
5142    /// Sets the style of the linear progress indicator.
5143    /// This attribute can be set, reset, and obtained as required through APIs.
5144    /// If the progress indicator type is not linear, it will not take effect.
5145    ///
5146    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5147    ///
5148    /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to set the style.
5149    ///
5150    ///
5151    ///
5152    /// Format of the return value [`ArkUI_AttributeItem`]:
5153    ///
5154    /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to get the style.
5155    ///
5156    ///
5157    ///
5158    /// Available since API-level: 15
5159    #[cfg(feature = "api-15")]
5160    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5161    pub const NODE_PROGRESS_LINEAR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10004);
5162    /// Defines whether the check box is selected.
5163    /// This attribute can be set, reset, and obtained as required through APIs.
5164    ///
5165    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5166    ///
5167    /// .value[0].i32: whether the check box is selected.
5168    /// The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
5169    ///
5170    ///
5171    ///
5172    /// Format of the return value [`ArkUI_AttributeItem`]:
5173    ///
5174    /// .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
5175    pub const NODE_CHECKBOX_SELECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11000);
5176    /// Defines the color of the check box when it is selected.
5177    /// This attribute can be set, reset, and obtained as required through APIs.
5178    ///
5179    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5180    ///
5181    /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5182    ///
5183    ///
5184    ///
5185    /// Format of the return value [`ArkUI_AttributeItem`]:
5186    ///
5187    /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5188    pub const NODE_CHECKBOX_SELECT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11001);
5189    /// Defines the border color of the check box when it is not selected.
5190    /// This attribute can be set, reset, and obtained as required through APIs.
5191    ///
5192    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5193    ///
5194    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5195    ///
5196    ///
5197    ///
5198    /// Format of the return value [`ArkUI_AttributeItem`]:
5199    ///
5200    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5201    pub const NODE_CHECKBOX_UNSELECT_COLOR: ArkUI_NodeAttributeType =
5202        ArkUI_NodeAttributeType(11002);
5203    /// Defines the internal icon style of the check box.
5204    /// This attribute can be set, reset, and obtained as required through APIs.
5205    ///
5206    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5207    ///
5208    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5209    ///
5210    /// .value[1]?.f32: size of the internal mark, in vp. Optional.
5211    ///
5212    /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
5213    ///
5214    ///
5215    ///
5216    /// Format of the return value [`ArkUI_AttributeItem`]:
5217    ///
5218    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5219    ///
5220    /// .value[1].f32: size of the internal mark, in vp.
5221    ///
5222    /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
5223    pub const NODE_CHECKBOX_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11003);
5224    /// Defines the shape of the check box.
5225    /// This attribute can be set, reset, and obtained as required through APIs.
5226    ///
5227    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5228    ///
5229    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
5230    ///
5231    ///
5232    ///
5233    /// Format of the return value [`ArkUI_AttributeItem`]:
5234    ///
5235    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
5236    pub const NODE_CHECKBOX_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11004);
5237    /// Defines the name of the checkbox.
5238    /// This attribute can be set, reset, and obtained as required through APIs.
5239    ///
5240    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5241    ///
5242    /// .string: component name.
5243    ///
5244    ///
5245    ///
5246    /// Format of the return value [`ArkUI_AttributeItem`]:
5247    ///
5248    /// .string: component name.
5249    ///
5250    ///
5251    ///
5252    /// Available since API-level: 15
5253    #[cfg(feature = "api-15")]
5254    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5255    pub const NODE_CHECKBOX_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11005);
5256    /// Defines the name of the checkbox.
5257    /// This attribute can be set, reset, and obtained as required through APIs.
5258    ///
5259    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5260    ///
5261    /// .string: component name.
5262    ///
5263    ///
5264    ///
5265    /// Format of the return value [`ArkUI_AttributeItem`]:
5266    ///
5267    /// .string: component name.
5268    ///
5269    ///
5270    ///
5271    /// Available since API-level: 15
5272    #[cfg(feature = "api-15")]
5273    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5274    pub const NODE_CHECKBOX_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11006);
5275    /// Defines the ID of the <b><XComponent></b> component.
5276    /// This attribute can be set and obtained as required through APIs.
5277    ///
5278    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5279    ///
5280    /// .string: component ID.
5281    ///
5282    ///
5283    ///
5284    /// Format of the return value [`ArkUI_AttributeItem`]:
5285    ///
5286    /// .string: component ID.
5287    pub const NODE_XCOMPONENT_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12000);
5288    /// Specifies the type of the <b>XComponent</b> component. This attribute is read-only.
5289    ///
5290    /// The type of the <b>XComponent</b> component must be explicitly set during creation using [`ARKUI_NODE_XCOMPONENT`] or [`ARKUI_NODE_XCOMPONENT_TEXTURE`], and cannot be modified afterward.
5291    ///
5292    /// Attempting to change the type through [`setAttribute`] will cause rendering exceptions.
5293    ///
5294    /// Format of the return value [`ArkUI_AttributeItem`]:
5295    ///
5296    /// .value[0].i32: type [`ArkUI_XComponentType`].
5297    pub const NODE_XCOMPONENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12001);
5298    /// Specifies the size of the <b>XComponent</b> component. This attribute is read-only.
5299    ///
5300    /// Attempting to modify the size through [`setAttribute`] will have no effect.
5301    ///
5302    /// Format of the return value [`ArkUI_AttributeItem`]:
5303    ///
5304    /// .value[0].u32: width, in px.
5305    ///
5306    /// .value[1].u32: height, in px.
5307    pub const NODE_XCOMPONENT_SURFACE_SIZE: ArkUI_NodeAttributeType =
5308        ArkUI_NodeAttributeType(12002);
5309    /// Defines the rectangle information of surface created by the <b><XComponent></b> component.
5310    /// This attribute can be set and obtained as required through APIs.
5311    ///
5312    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5313    ///
5314    /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
5315    ///
5316    /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
5317    ///
5318    /// .value[2].i32: The width of the surface created by XComponent, in pixels.
5319    ///
5320    /// .value[3].i32: The height of the surface created by XComponent, in pixels.
5321    ///
5322    ///
5323    ///
5324    /// Format of the return value [`ArkUI_AttributeItem`]:
5325    ///
5326    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5327    ///
5328    /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
5329    ///
5330    /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
5331    ///
5332    /// .value[2].i32: The width of the surface created by XComponent, in pixels.
5333    ///
5334    /// .value[3].i32: The height of the surface created by XComponent, in pixels.
5335    ///
5336    ///
5337    /// Available since API-level: 18
5338    #[cfg(feature = "api-18")]
5339    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5340    pub const NODE_XCOMPONENT_SURFACE_RECT: ArkUI_NodeAttributeType =
5341        ArkUI_NodeAttributeType(12003);
5342    /// Defines whether to enable the AI analyzer for the <b><XComponent></b> component.
5343    /// This attribute can be set and obtained as required through APIs.
5344    ///
5345    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5346    ///
5347    /// value[0].i32: The parameter type is 1 or 0.
5348    ///
5349    ///
5350    /// Format of the return value [`ArkUI_AttributeItem`]:
5351    ///
5352    /// value[0].i32: The parameter type is 1 or 0.
5353    ///
5354    /// Available since API-level: 18
5355    #[cfg(feature = "api-18")]
5356    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5357    pub const NODE_XCOMPONENT_ENABLE_ANALYZER: ArkUI_NodeAttributeType =
5358        ArkUI_NodeAttributeType(12004);
5359    /// Defines whether to display the lunar calendar in the date picker.
5360    /// This attribute can be set, reset, and obtained as required through APIs.
5361    ///
5362    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5363    ///
5364    /// .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>.
5365    ///
5366    ///
5367    ///
5368    /// Format of the return value [`ArkUI_AttributeItem`]:
5369    ///
5370    /// .value[0].i32: whether to display the lunar calendar in the date picker.
5371    pub const NODE_DATE_PICKER_LUNAR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13000);
5372    /// Defines the start date of the date picker.
5373    /// This attribute can be set, reset, and obtained as required through APIs.
5374    ///
5375    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5376    ///
5377    /// .string: date. The default value is <b>"1970-1-1"</b>.
5378    ///
5379    ///
5380    ///
5381    /// Format of the return value [`ArkUI_AttributeItem`]:
5382    ///
5383    /// .string: date.
5384    pub const NODE_DATE_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13001);
5385    /// Defines the end date of the date picker.
5386    /// This attribute can be set, reset, and obtained as required through APIs.
5387    ///
5388    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5389    ///
5390    /// .string: date. The default value is <b>"2100-12-31"</b>.
5391    ///
5392    ///
5393    ///
5394    /// Format of the return value [`ArkUI_AttributeItem`]:
5395    ///
5396    /// .string: date.
5397    pub const NODE_DATE_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13002);
5398    /// Defines the selected date of the date picker.
5399    /// This attribute can be set, reset, and obtained as required through APIs.
5400    ///
5401    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5402    ///
5403    /// .string: date. The default value is <b>"2024-01-22"</b>.
5404    ///
5405    ///
5406    ///
5407    /// Format of the return value [`ArkUI_AttributeItem`]:
5408    ///
5409    /// .string: date.
5410    pub const NODE_DATE_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13003);
5411    /// Defines the font color, font size, and font weight for the top and bottom items in the date picker.
5412    /// This attribute can be set, reset, and obtained as required through APIs.
5413    ///
5414    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5415    ///
5416    /// .string: array of five parameters of the string type, separated by semicolons (;).
5417    ///
5418    /// Parameter 1: font color, in #ARGB format.
5419    ///
5420    /// Parameter 2: font size, in fp. The value is a number.
5421    ///
5422    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5423    /// .
5424    /// Parameter 4: fonts, separated by commas (,).
5425    ///
5426    /// Parameter 5: font style. Available options are ("normal", "italic").
5427    ///
5428    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5429    ///
5430    ///
5431    ///
5432    /// Format of the return value [`ArkUI_AttributeItem`]:
5433    ///
5434    /// .string: array of five parameters of the string type, separated by semicolons (;).
5435    ///
5436    /// Parameter 1: font color, in #ARGB format.
5437    ///
5438    /// Parameter 2: font size, in fp. The value is a number.
5439    ///
5440    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5441    /// .
5442    /// Parameter 4: fonts, separated by commas (,).
5443    ///
5444    /// Parameter 5: font style. Available options are ("normal", "italic").
5445    ///
5446    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5447    pub const NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5448        ArkUI_NodeAttributeType(13004);
5449    /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected
5450    /// items in the date picker. This attribute can be set, reset, and obtained as required through APIs.
5451    ///
5452    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5453    ///
5454    /// .string: array of five parameters of the string type, separated by semicolons (;).
5455    ///
5456    /// Parameter 1: font color, in #ARGB format.
5457    ///
5458    /// Parameter 2: font size, in fp. The value is a number.
5459    ///
5460    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5461    /// .
5462    /// Parameter 4: fonts, separated by commas (,).
5463    ///
5464    /// Parameter 5: font style. Available options are ("normal", "italic").
5465    ///
5466    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5467    ///
5468    ///
5469    ///
5470    /// Format of the return value [`ArkUI_AttributeItem`]:
5471    ///
5472    /// .string: array of five parameters of the string type, separated by semicolons (;).
5473    ///
5474    /// Parameter 1: font color, in #ARGB format.
5475    ///
5476    /// Parameter 2: font size, in fp. The value is a number.
5477    ///
5478    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5479    /// .
5480    /// Parameter 4: fonts, separated by commas (,).
5481    ///
5482    /// Parameter 5: font style. Available options are ("normal", "italic").
5483    ///
5484    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5485    pub const NODE_DATE_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13005);
5486    /// Defines the font color, font size, and font weight of the selected item in the date picker.
5487    /// This attribute can be set, reset, and obtained as required through APIs.
5488    ///
5489    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5490    ///
5491    /// .string: array of five parameters of the string type, separated by semicolons (;).
5492    ///
5493    /// Parameter 1: font color, in #ARGB format.
5494    ///
5495    /// Parameter 2: font size, in fp. The value is a number.
5496    ///
5497    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5498    /// .
5499    /// Parameter 4: fonts, separated by commas (,).
5500    ///
5501    /// Parameter 5: font style. Available options are ("normal", "italic").
5502    ///
5503    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5504    ///
5505    ///
5506    ///
5507    /// Format of the return value [`ArkUI_AttributeItem`]:
5508    ///
5509    /// .string: array of five parameters of the string type, separated by semicolons (;).
5510    ///
5511    /// Parameter 1: font color, in #ARGB format.
5512    ///
5513    /// Parameter 2: font size, in fp. The value is a number.
5514    ///
5515    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5516    /// .
5517    /// Parameter 4: fonts, separated by commas (,).
5518    ///
5519    /// Parameter 5: font style. Available options are ("normal", "italic").
5520    ///
5521    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5522    pub const NODE_DATE_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5523        ArkUI_NodeAttributeType(13006);
5524    /// Defines the mode of the date picker.
5525    /// This attribute can be set, reset, and obtained as required through APIs.
5526    ///
5527    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5528    ///
5529    /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
5530    /// .
5531    ///
5532    ///
5533    /// Format of the return value [`ArkUI_AttributeItem`]:
5534    ///
5535    /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
5536    /// .
5537    ///
5538    ///
5539    /// Available since API-level: 18
5540    #[cfg(feature = "api-18")]
5541    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5542    pub const NODE_DATE_PICKER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13007);
5543    /// Defines whether haptic feedback.
5544    /// This attribute can be set, reset, and obtained as required through APIs.
5545    ///
5546    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5547    ///
5548    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
5549    /// <b>false</b> means the opposite.
5550    ///
5551    ///
5552    ///
5553    /// Format of the return value [`ArkUI_AttributeItem`]:
5554    ///
5555    /// value[0].i32: whether to feedback.
5556    ///
5557    ///
5558    ///
5559    /// Available since API-level: 18
5560    #[cfg(feature = "api-18")]
5561    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5562    pub const NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
5563        ArkUI_NodeAttributeType(13008);
5564    /// Defines whether to support scroll looping for the date picker.
5565    /// This attribute can be set, reset, and obtained as required through APIs.
5566    ///
5567    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5568    ///
5569    /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
5570    /// <b>false</b> means the opposite.
5571    ///
5572    ///
5573    ///
5574    /// Format of the return value [`ArkUI_AttributeItem`]:
5575    ///
5576    /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
5577    ///
5578    ///
5579    ///
5580    /// Available since API-level: 20
5581    #[cfg(feature = "api-20")]
5582    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5583    pub const NODE_DATE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13009);
5584    /// Defines the time of the selected item. in the timer picker.
5585    /// This attribute can be set, reset, and obtained as required through APIs.
5586    ///
5587    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5588    ///
5589    /// .string: time. The default value is the current system time.
5590    ///
5591    ///
5592    ///
5593    /// Format of the return value [`ArkUI_AttributeItem`]:
5594    ///
5595    /// .string: time.
5596    pub const NODE_TIME_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14000);
5597    /// Defines whether the display time is in 24-hour format.
5598    /// This attribute can be set, reset, and obtained as required through APIs.
5599    ///
5600    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5601    ///
5602    /// .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>.
5603    ///
5604    ///
5605    ///
5606    /// Format of the return value [`ArkUI_AttributeItem`]:
5607    ///
5608    /// .value[0].i32: whether the display time is in 24-hour format.
5609    pub const NODE_TIME_PICKER_USE_MILITARY_TIME: ArkUI_NodeAttributeType =
5610        ArkUI_NodeAttributeType(14001);
5611    /// Defines the font color, font size, and font weight for the top and bottom items in the time picker.
5612    /// This attribute can be set, reset, and obtained as required through APIs.
5613    ///
5614    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5615    ///
5616    /// .string: array of five parameters of the string type, separated by semicolons (;).
5617    ///
5618    /// Parameter 1: font color, in #ARGB format.
5619    ///
5620    /// Parameter 2: font size, in fp. The value is a number.
5621    ///
5622    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5623    /// .
5624    /// Parameter 4: fonts, separated by commas (,).
5625    ///
5626    /// Parameter 5: font style. Available options are ("normal", "italic").
5627    ///
5628    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5629    ///
5630    ///
5631    ///
5632    /// Format of the return value [`ArkUI_AttributeItem`]:
5633    ///
5634    /// .string: array of five parameters of the string type, separated by semicolons (;).
5635    ///
5636    /// Parameter 1: font color, in #ARGB format.
5637    ///
5638    /// Parameter 2: font size, in fp. The value is a number.
5639    ///
5640    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5641    /// .
5642    /// Parameter 4: fonts, separated by commas (,).
5643    ///
5644    /// Parameter 5: font style. Available options are ("normal", "italic").
5645    ///
5646    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5647    pub const NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5648        ArkUI_NodeAttributeType(14002);
5649    /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected items
5650    /// in the time picker. This attribute can be set, reset, and obtained as required through APIs.
5651    ///
5652    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5653    ///
5654    /// .string: array of five parameters of the string type, separated by semicolons (;).
5655    ///
5656    /// Parameter 1: font color, in #ARGB format.
5657    ///
5658    /// Parameter 2: font size, in fp. The value is a number.
5659    ///
5660    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5661    /// .
5662    /// Parameter 4: fonts, separated by commas (,).
5663    ///
5664    /// Parameter 5: font style. Available options are ("normal", "italic").
5665    ///
5666    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5667    ///
5668    ///
5669    ///
5670    /// Format of the return value [`ArkUI_AttributeItem`]:
5671    ///
5672    /// .string: array of five parameters of the string type, separated by semicolons (;).
5673    ///
5674    /// Parameter 1: font color, in #ARGB format.
5675    ///
5676    /// Parameter 2: font size, in fp. The value is a number.
5677    ///
5678    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5679    /// .
5680    /// Parameter 4: fonts, separated by commas (,).
5681    ///
5682    /// Parameter 5: font style. Available options are ("normal", "italic").
5683    ///
5684    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5685    pub const NODE_TIME_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14003);
5686    /// Defines the font color, font size, and font weight of the selected item in the time picker.
5687    /// This attribute can be set, reset, and obtained as required through APIs.
5688    ///
5689    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5690    ///
5691    /// .string: array of five parameters of the string type, separated by semicolons (;).
5692    ///
5693    /// Parameter 1: font color, in #ARGB format.
5694    ///
5695    /// Parameter 2: font size, in fp. The value is a number.
5696    ///
5697    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5698    /// .
5699    /// Parameter 4: fonts, separated by commas (,).
5700    ///
5701    /// Parameter 5: font style. Available options are ("normal", "italic").
5702    ///
5703    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5704    ///
5705    ///
5706    ///
5707    /// Format of the return value [`ArkUI_AttributeItem`]:
5708    ///
5709    /// .string: array of five parameters of the string type, separated by semicolons (;).
5710    ///
5711    /// Parameter 1: font color, in #ARGB format.
5712    ///
5713    /// Parameter 2: font size, in fp. The value is a number.
5714    ///
5715    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5716    /// .
5717    /// Parameter 4: fonts, separated by commas (,).
5718    ///
5719    /// Parameter 5: font style. Available options are ("normal", "italic").
5720    ///
5721    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5722    pub const NODE_TIME_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5723        ArkUI_NodeAttributeType(14004);
5724    /// Defines the start time of the time picker.
5725    /// This attribute can be set, reset, and obtained as required through APIs.
5726    ///
5727    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5728    ///
5729    /// .string: time. The default value is <b>"00:00:00"</b>.
5730    ///
5731    ///
5732    ///
5733    /// Format of the return value [`ArkUI_AttributeItem`]:
5734    ///
5735    /// .string: time. The default value is <b>"00:00:00"</b>.
5736    ///
5737    ///
5738    ///
5739    /// Available since API-level: 18
5740    #[cfg(feature = "api-18")]
5741    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5742    pub const NODE_TIME_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14005);
5743    /// Defines the end time of the time picker.
5744    /// This attribute can be set, reset, and obtained as required through APIs.
5745    ///
5746    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5747    ///
5748    /// .string: time. The default value is <b>"23:59:59"</b>.
5749    ///
5750    ///
5751    ///
5752    /// Format of the return value [`ArkUI_AttributeItem`]:
5753    ///
5754    /// .string: time. The default value is <b>"23:59:59"</b>.
5755    ///
5756    ///
5757    ///
5758    /// Available since API-level: 18
5759    #[cfg(feature = "api-18")]
5760    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5761    pub const NODE_TIME_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14006);
5762    /// Defines whether the AM/PM option is cascaded with the time in 12-hour mode.
5763    /// This attribute can be set, reset, and obtained as required through APIs.
5764    ///
5765    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5766    ///
5767    /// .value[0].i32: whether to enable cascade. The default value is <b>false</b>.
5768    ///
5769    ///
5770    ///
5771    /// Format of the return value [`ArkUI_AttributeItem`]:
5772    ///
5773    /// .value[0].i32: whether to enable cascade.
5774    ///
5775    ///
5776    ///
5777    /// Available since API-level: 18
5778    #[cfg(feature = "api-18")]
5779    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5780    pub const NODE_TIME_PICKER_ENABLE_CASCADE: ArkUI_NodeAttributeType =
5781        ArkUI_NodeAttributeType(14007);
5782    /// Defines the data selection range of the text picker.
5783    /// This attribute can be set, reset, and obtained as required through APIs.
5784    ///
5785    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5786    ///
5787    /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
5788    /// The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>.
5789    ///
5790    /// ?.string: string input, whose format varies by picker type.
5791    ///
5792    /// 1: single-column picker. The input format is a group of strings separated by semicolons (;).
5793    ///
5794    /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
5795    /// semicolons (;), and strings within each pair are separated by commas (,).
5796    ///
5797    /// ?.object: Object input, whose format varies by picker type.
5798    ///
5799    /// 1: single-column picker with image support. The input structure is [`ARKUI_TextPickerRangeContent`].
5800    ///
5801    /// 2: multi-column interconnected picker. The input structure is [`ARKUI_TextPickerCascadeRangeContent`].
5802    ///
5803    ///
5804    ///
5805    /// Format of the return value [`ArkUI_AttributeItem`]:
5806    ///
5807    /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
5808    ///
5809    /// ?.string: string output, whose format varies by picker type.
5810    ///
5811    /// 1: single-column picker. The output format is a group of strings separated by semicolons (;).
5812    ///
5813    /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
5814    /// semicolons (;), and strings within each pair are separated by commas (,).
5815    ///
5816    /// ?.string: Object output, whose format varies by picker type.
5817    ///
5818    /// 1: single-column picker with image support. The output structure is [`ARKUI_TextPickerRangeContent`].
5819    ///
5820    /// 2: multi-column interconnected picker. The output structure is [`ARKUI_TextPickerCascadeRangeContent`].
5821    pub const NODE_TEXT_PICKER_OPTION_RANGE: ArkUI_NodeAttributeType =
5822        ArkUI_NodeAttributeType(15000);
5823    /// Defines the index of the default selected item in the data selection range of the text picker.
5824    /// This attribute can be set, reset, and obtained as required through APIs.
5825    ///
5826    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5827    ///
5828    /// .value[0].u32: index. If there are multiple index values, add them one by one.
5829    ///
5830    ///
5831    ///
5832    /// Format of the return value [`ArkUI_AttributeItem`]:
5833    ///
5834    /// .value[0].u32: index. If there are multiple index values, add them one by one.
5835    pub const NODE_TEXT_PICKER_OPTION_SELECTED: ArkUI_NodeAttributeType =
5836        ArkUI_NodeAttributeType(15001);
5837    /// Defines the value of the default selected item in the text picker.
5838    /// This attribute can be set, reset, and obtained as required through APIs.
5839    ///
5840    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5841    ///
5842    /// .string: value of the selected item. If there are multiple values, add them one by one and
5843    /// separate them with semicolons (;).
5844    ///
5845    ///
5846    ///
5847    /// Format of the return value [`ArkUI_AttributeItem`]:
5848    ///
5849    /// .string: value of the selected item. If there are multiple values, add them one by one and
5850    /// separate them with semicolons (;).
5851    pub const NODE_TEXT_PICKER_OPTION_VALUE: ArkUI_NodeAttributeType =
5852        ArkUI_NodeAttributeType(15002);
5853    /// Defines the font color, font size, and font weight for the top and bottom items in the text picker.
5854    /// This attribute can be set, reset, and obtained as required through APIs.
5855    ///
5856    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5857    ///
5858    /// .string: array of five parameters of the string type, separated by semicolons (;).
5859    ///
5860    /// Parameter 1: font color, in #ARGB format.
5861    ///
5862    /// Parameter 2: font size, in fp. The value is a number.
5863    ///
5864    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5865    /// .
5866    /// Parameter 4: fonts, separated by commas (,).
5867    ///
5868    /// Parameter 5: font style. Available options are ("normal", "italic").
5869    ///
5870    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5871    ///
5872    ///
5873    ///
5874    /// Format of the return value [`ArkUI_AttributeItem`]:
5875    ///
5876    /// .string: array of five parameters of the string type, separated by semicolons (;).
5877    ///
5878    /// Parameter 1: font color, in #ARGB format.
5879    ///
5880    /// Parameter 2: font size, in fp. The value is a number.
5881    ///
5882    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5883    /// .
5884    /// Parameter 4: fonts, separated by commas (,).
5885    ///
5886    /// Parameter 5: font style. Available options are ("normal", "italic").
5887    ///
5888    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5889    pub const NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5890        ArkUI_NodeAttributeType(15003);
5891    /// Defines the font color, font size, and font weight for all items except the top, bottom, and selected
5892    /// items in the text picker. This attribute can be set, reset, and obtained as required through APIs.
5893    ///
5894    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5895    ///
5896    /// .string: array of five parameters of the string type, separated by semicolons (;).
5897    ///
5898    /// Parameter 1: font color, in #ARGB format.
5899    ///
5900    /// Parameter 2: font size, in fp. The value is a number.
5901    ///
5902    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5903    /// .
5904    /// Parameter 4: fonts, separated by commas (,).
5905    ///
5906    /// Parameter 5: font style. Available options are ("normal", "italic").
5907    ///
5908    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5909    ///
5910    ///
5911    ///
5912    /// Format of the return value [`ArkUI_AttributeItem`]:
5913    ///
5914    /// .string: array of five parameters of the string type, separated by semicolons (;).
5915    ///
5916    /// Parameter 1: font color, in #ARGB format.
5917    ///
5918    /// Parameter 2: font size, in fp. The value is a number.
5919    ///
5920    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5921    /// .
5922    /// Parameter 4: fonts, separated by commas (,).
5923    ///
5924    /// Parameter 5: font style. Available options are ("normal", "italic").
5925    ///
5926    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5927    pub const NODE_TEXT_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15004);
5928    /// Defines the font color, font size, and font weight for the selected item in the text picker.
5929    /// This attribute can be set, reset, and obtained as required through APIs.
5930    ///
5931    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5932    ///
5933    /// .string: array of five parameters of the string type, separated by semicolons (;).
5934    ///
5935    /// Parameter 1: font color, in #ARGB format.
5936    ///
5937    /// Parameter 2: font size, in fp. The value is a number.
5938    ///
5939    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5940    /// .
5941    /// Parameter 4: fonts, separated by commas (,).
5942    ///
5943    /// Parameter 5: font style. Available options are ("normal", "italic").
5944    ///
5945    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5946    ///
5947    ///
5948    ///
5949    /// Format of the return value [`ArkUI_AttributeItem`]:
5950    ///
5951    /// .string: array of five parameters of the string type, separated by semicolons (;).
5952    ///
5953    /// Parameter 1: font color, in #ARGB format.
5954    ///
5955    /// Parameter 2: font size, in fp. The value is a number.
5956    ///
5957    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5958    /// .
5959    /// Parameter 4: fonts, separated by commas (,).
5960    ///
5961    /// Parameter 5: font style. Available options are ("normal", "italic").
5962    ///
5963    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5964    pub const NODE_TEXT_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5965        ArkUI_NodeAttributeType(15005);
5966    /// Defines the index of the default selected item in the data selection range of the text picker.
5967    /// This attribute can be set, reset, and obtained as required through APIs.
5968    ///
5969    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5970    ///
5971    /// .value[0...].i32: index of the default item in the data selection range.
5972    pub const NODE_TEXT_PICKER_SELECTED_INDEX: ArkUI_NodeAttributeType =
5973        ArkUI_NodeAttributeType(15006);
5974    /// Defines whether to support scroll looping for the text picker.
5975    /// This attribute can be set, reset, and obtained as required through APIs.
5976    ///
5977    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5978    ///
5979    /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
5980    /// <b>false</b> means the opposite.
5981    ///
5982    ///
5983    ///
5984    ///
5985    /// Format of the return value [`ArkUI_AttributeItem`]:
5986    ///
5987    /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
5988    pub const NODE_TEXT_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15007);
5989    /// Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required
5990    /// through APIs.
5991    ///
5992    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5993    ///
5994    /// .value[0].f32: item height, in vp.
5995    ///
5996    ///
5997    ///
5998    /// Format of the return value [`ArkUI_AttributeItem`]:
5999    ///
6000    /// value[0].f32: item height, in vp.
6001    pub const NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT: ArkUI_NodeAttributeType =
6002        ArkUI_NodeAttributeType(15008);
6003    /// Defines whether haptic feedback.
6004    /// This attribute can be set, reset, and obtained as required through APIs.
6005    ///
6006    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6007    ///
6008    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6009    /// <b>false</b> means the opposite.
6010    ///
6011    ///
6012    ///
6013    /// Format of the return value [`ArkUI_AttributeItem`]:
6014    ///
6015    /// value[0].i32: whether to feedback.
6016    ///
6017    ///
6018    ///
6019    /// Available since API-level: 18
6020    #[cfg(feature = "api-18")]
6021    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6022    pub const NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6023        ArkUI_NodeAttributeType(15010);
6024    /// Defines the background color and border radius of the selected items.
6025    /// This attribute can be set, reset, and obtained as required through APIs.
6026    ///
6027    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6028    ///
6029    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6030    ///
6031    /// 1: .value[1].f32: radius of the four corners.
6032    ///
6033    /// 2: .value[1].f32: radius of the upper left corner.
6034    ///
6035    /// .value[2].f32: radius of the upper right corner.
6036    ///
6037    /// .value[3].f32: radius of the lower left corner.
6038    ///
6039    /// .value[4].f32: radius of the lower right corner.
6040    ///
6041    ///
6042    ///
6043    /// Format of the return value [`ArkUI_AttributeItem`]:
6044    ///
6045    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6046    /// *
6047    /// .value[1].f32: radius of the upper left corner.
6048    ///
6049    /// .value[2].f32: radius of the upper right corner.
6050    ///
6051    /// .value[3].f32: radius of the lower left corner.
6052    ///
6053    /// .value[4].f32: radius of the lower right corner.
6054    ///
6055    ///
6056    ///
6057    /// Available since API-level: 20
6058    #[cfg(feature = "api-20")]
6059    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6060    pub const NODE_TEXT_PICKER_SELECTED_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
6061        ArkUI_NodeAttributeType(15011);
6062    /// Defines the style of the background in the selected state of the calendar picker.
6063    /// This attribute can be set, reset, and obtained as required through APIs.
6064    ///
6065    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6066    ///
6067    /// .value[0].f32: style of the background in the selected state of the calendar picker.
6068    /// The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners.
6069    /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to
6070    /// or greater than 16, the background is a circle.
6071    ///
6072    ///
6073    ///
6074    /// Format of the return value [`ArkUI_AttributeItem`]:
6075    ///
6076    /// .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞).
6077    /// If the value is <b>0</b>, the background is a rectangle with square corners.
6078    /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or
6079    /// greater than 16, the background is a circle.
6080    pub const NODE_CALENDAR_PICKER_HINT_RADIUS: ArkUI_NodeAttributeType =
6081        ArkUI_NodeAttributeType(16000);
6082    /// Defines the date of the selected item in the calendar picker.
6083    /// This attribute can be set, reset, and obtained as required through APIs.
6084    ///
6085    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6086    ///
6087    /// .value[0].u32: year of the selected date.
6088    ///
6089    /// .value[1].u32: month of the selected date.
6090    ///
6091    /// .value[2].u32: day of the selected date.
6092    ///
6093    ///
6094    ///
6095    /// Format of the return value [`ArkUI_AttributeItem`]:
6096    ///
6097    /// .value[0].u32: year of the selected date.
6098    ///
6099    /// .value[1].u32: month of the selected date.
6100    ///
6101    /// .value[2].u32: day of the selected date.
6102    pub const NODE_CALENDAR_PICKER_SELECTED_DATE: ArkUI_NodeAttributeType =
6103        ArkUI_NodeAttributeType(16001);
6104    /// Defines how the calendar picker is aligned with the entry component.
6105    /// This attribute can be set, reset, and obtained as required through APIs.
6106    ///
6107    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6108    ///
6109    /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
6110    ///
6111    /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
6112    /// the specified alignment mode.
6113    ///
6114    /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
6115    /// the specified alignment mode.
6116    ///
6117    ///
6118    ///
6119    /// Format of the return value [`ArkUI_AttributeItem`]:
6120    ///
6121    /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
6122    ///
6123    /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
6124    /// the specified alignment mode.
6125    ///
6126    /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
6127    /// the specified alignment mode.
6128    pub const NODE_CALENDAR_PICKER_EDGE_ALIGNMENT: ArkUI_NodeAttributeType =
6129        ArkUI_NodeAttributeType(16002);
6130    /// Defines the font color, font size, and font weight in the entry area of the calendar picker.
6131    ///
6132    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6133    ///
6134    /// .value[0]?.u32: font color of the entry area.
6135    ///
6136    /// .value[1]?.f32: font size of the entry area, in fp.
6137    ///
6138    /// .value[2]?.i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
6139    ///
6140    ///
6141    ///
6142    /// Format of the return value [`ArkUI_AttributeItem`]:
6143    ///
6144    /// .value[0].u32: font color of the entry area.
6145    ///
6146    /// .value[1].f32: font size of the entry area, in fp.
6147    ///
6148    /// .value[2].i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
6149    pub const NODE_CALENDAR_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType =
6150        ArkUI_NodeAttributeType(16003);
6151    /// Defines the start date of the calendar picker.
6152    /// This attribute can be set, reset, and obtained as required through APIs.
6153    ///
6154    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6155    ///
6156    /// .string: date. The value like <b>"1970-1-1"</b>.
6157    ///
6158    ///
6159    ///
6160    /// Format of the return value [`ArkUI_AttributeItem`]:
6161    ///
6162    /// .string: date.
6163    ///
6164    ///
6165    ///
6166    /// Available since API-level: 18
6167    #[cfg(feature = "api-18")]
6168    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6169    pub const NODE_CALENDAR_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16004);
6170    /// Defines the end date of the calendar picker.
6171    /// This attribute can be set, reset, and obtained as required through APIs.
6172    ///
6173    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6174    ///
6175    /// .string: date. The value like <b>"2100-12-31"</b>.
6176    ///
6177    ///
6178    ///
6179    /// Format of the return value [`ArkUI_AttributeItem`]:
6180    ///
6181    /// .string: date.
6182    ///
6183    ///
6184    ///
6185    /// Available since API-level: 18
6186    #[cfg(feature = "api-18")]
6187    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6188    pub const NODE_CALENDAR_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16005);
6189    /// Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs.
6190    ///
6191    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6192    ///
6193    /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6194    ///
6195    ///
6196    /// Format of the return value [`ArkUI_AttributeItem`]:
6197    ///
6198    /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6199    pub const NODE_SLIDER_BLOCK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17000);
6200    /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
6201    /// through APIs.
6202    ///
6203    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6204    ///
6205    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6206    ///
6207    ///
6208    ///
6209    /// Format of the return value [`ArkUI_AttributeItem`]:
6210    ///
6211    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6212    pub const NODE_SLIDER_TRACK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17001);
6213    /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
6214    /// as required through APIs.
6215    ///
6216    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6217    ///
6218    /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6219    ///
6220    ///
6221    ///
6222    /// Format of the return value [`ArkUI_AttributeItem`]:
6223    ///
6224    /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6225    pub const NODE_SLIDER_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17002);
6226    /// Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required
6227    /// through APIs.
6228    ///
6229    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6230    ///
6231    /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
6232    /// and <b>0</b> (default value) means the opposite.
6233    ///
6234    ///
6235    ///
6236    /// Format of the return value [`ArkUI_AttributeItem`]:
6237    ///
6238    /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
6239    /// and <b>0</b> (default value) means the opposite.
6240    pub const NODE_SLIDER_SHOW_STEPS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17003);
6241    /// Defines the slider shape, which can be set, reset, and obtained as required through APIs.
6242    ///
6243    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6244    ///
6245    /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
6246    ///
6247    /// .string?: depending on the shape. Optional.
6248    ///
6249    /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
6250    ///
6251    /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
6252    ///
6253    /// There are five types:
6254    ///
6255    /// 1. Rectangle:
6256    ///
6257    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6258    /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
6259    ///
6260    /// .value[2].f32: width of the rectangle.
6261    ///
6262    /// .value[3].f32: height of the rectangle.
6263    ///
6264    /// .value[4].f32: width of the rounded corner of the rectangle.
6265    ///
6266    /// .value[5].f32: height of the rounded corner of the rectangle.
6267    ///
6268    /// 2. Circle:
6269    ///
6270    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6271    /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
6272    ///
6273    /// .value[2].f32: width of the circle.
6274    ///
6275    /// .value[3].f32: height of the circle.
6276    ///
6277    /// 3.Ellipse:
6278    ///
6279    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6280    /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
6281    ///
6282    /// .value[2].f32: width of the ellipse.
6283    ///
6284    /// .value[3].f32: height of the ellipse;
6285    ///
6286    /// 4. Path:
6287    ///
6288    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6289    /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
6290    ///
6291    /// .value[2].f32: width of the path.
6292    ///
6293    /// .value[3].f32: height of the path.
6294    ///
6295    /// .string: command for drawing the path.
6296    ///
6297    ///
6298    ///
6299    /// Format of the return value [`ArkUI_AttributeItem`]:
6300    ///
6301    /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
6302    ///
6303    /// .string?: depending on the shape. Optional.
6304    ///
6305    /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
6306    ///
6307    /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
6308    ///
6309    /// There are five types:
6310    ///
6311    /// 1. Rectangle:
6312    ///
6313    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6314    /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
6315    ///
6316    /// .value[2].f32: width of the rectangle.
6317    ///
6318    /// .value[3].f32: height of the rectangle.
6319    ///
6320    /// .value[4].f32: width of the rounded corner of the rectangle.
6321    ///
6322    /// .value[5].f32: height of the rounded corner of the rectangle.
6323    ///
6324    /// 2. Circle:
6325    ///
6326    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6327    /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
6328    ///
6329    /// .value[2].f32: width of the circle.
6330    ///
6331    /// .value[3].f32: height of the circle.
6332    ///
6333    /// 3.Ellipse:
6334    ///
6335    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6336    /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
6337    ///
6338    /// .value[2].f32: width of the ellipse.
6339    ///
6340    /// .value[3].f32: height of the ellipse;
6341    ///
6342    /// 4. Path:
6343    ///
6344    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6345    /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
6346    ///
6347    /// .value[2].f32: width of the path.
6348    ///
6349    /// .value[3].f32: height of the path.
6350    ///
6351    /// .string: command for drawing the path.
6352    pub const NODE_SLIDER_BLOCK_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17004);
6353    /// Defines the current value of the slider. This attribute can be set, reset, and obtained as required
6354    /// through APIs.
6355    ///
6356    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6357    ///
6358    /// .value[0].f32: current value.
6359    ///
6360    ///
6361    ///
6362    /// Format of the return value [`ArkUI_AttributeItem`]:
6363    ///
6364    /// .value[0].f32: current value.
6365    pub const NODE_SLIDER_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17005);
6366    /// Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required
6367    /// through APIs.
6368    ///
6369    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6370    ///
6371    /// .value[0].f32: minimum value.
6372    ///
6373    ///
6374    ///
6375    /// Format of the return value [`ArkUI_AttributeItem`]:
6376    ///
6377    /// .value[0].f32: minimum value.
6378    pub const NODE_SLIDER_MIN_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17006);
6379    /// Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required
6380    /// through APIs.
6381    ///
6382    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6383    ///
6384    /// .value[0].f32: maximum value.
6385    ///
6386    ///
6387    ///
6388    /// Format of the return value [`ArkUI_AttributeItem`]:
6389    ///
6390    /// .value[0].f32: maximum value.
6391    pub const NODE_SLIDER_MAX_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17007);
6392    /// Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs.
6393    ///
6394    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6395    ///
6396    /// .value[0].f32: step. The value range is [0.01, 100].
6397    ///
6398    ///
6399    ///
6400    /// Format of the return value [`ArkUI_AttributeItem`]:
6401    ///
6402    /// .value[0].f32: step. The value range is [0.01, 100].
6403    pub const NODE_SLIDER_STEP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17008);
6404    /// Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and
6405    /// obtained as required through APIs.
6406    ///
6407    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6408    ///
6409    /// .value[0].i32: whether the slider moves horizontally or vertically.
6410    /// The parameter type is [`ArkUI_SliderDirection`].
6411    ///
6412    ///
6413    ///
6414    /// Format of the return value [`ArkUI_AttributeItem`]:
6415    ///
6416    /// .value[0].i32: whether the slider moves horizontally or vertically.
6417    pub const NODE_SLIDER_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17009);
6418    /// Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required
6419    /// through APIs.
6420    ///
6421    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6422    ///
6423    /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
6424    /// reversed, and <b>0</b> means the opposite.
6425    ///
6426    ///
6427    ///
6428    /// Format of the return value [`ArkUI_AttributeItem`]:
6429    ///
6430    /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
6431    /// reversed, and <b>0</b> means the opposite.
6432    pub const NODE_SLIDER_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17010);
6433    /// Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained
6434    /// as required through APIs.
6435    ///
6436    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6437    ///
6438    /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
6439    ///
6440    ///
6441    ///
6442    /// Format of the return value [`ArkUI_AttributeItem`]:
6443    ///
6444    /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
6445    pub const NODE_SLIDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17011);
6446    /// Sets the track thickness of the slider.
6447    /// This attribute can be set, reset, and obtained as required through APIs.
6448    ///
6449    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6450    ///
6451    /// .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b>
6452    /// is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to
6453    /// <b>ARKUI_SLIDER_STYLE_IN_SET</b>.
6454    ///
6455    ///
6456    ///
6457    /// Format of the return value [`ArkUI_AttributeItem`]:
6458    ///
6459    /// .value[0].f32: track thickness of the slider, in vp.
6460    pub const NODE_SLIDER_TRACK_THICKNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17012);
6461    /// Defines whether haptic feedback.
6462    /// This attribute can be set, reset, and obtained as required through APIs.
6463    ///
6464    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6465    ///
6466    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6467    /// <b>false</b> means the opposite.
6468    ///
6469    ///
6470    ///
6471    /// Format of the return value [`ArkUI_AttributeItem`]:
6472    ///
6473    /// value[0].i32: whether to feedback.
6474    ///
6475    /// When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the
6476    /// requestPermissions field of the module.json5 file to enable vibration permission.
6477    ///
6478    ///
6479    ///
6480    /// Available since API-level: 18
6481    #[cfg(feature = "api-18")]
6482    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6483    pub const NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6484        ArkUI_NodeAttributeType(17013);
6485    /// Sets a custom component on the leading side of the Slider component.
6486    ///
6487    /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
6488    ///
6489    /// .object: Parameter type [`ArkUI_NodeHandle`].
6490    ///
6491    /// The prefix component will be placed at the start position of the Slider,
6492    /// typically on the left side in LTR layouts.
6493    ///
6494    ///
6495    /// Available since API-level: 20
6496    #[cfg(feature = "api-20")]
6497    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6498    pub const NODE_SLIDER_PREFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17014);
6499    /// Sets a custom component on the trailing side of the Slider component.
6500    ///
6501    /// Attribute setting method [`link`] parameter format:
6502    ///
6503    /// .object: Parameter type [`ArkUI_NodeHandle`].
6504    ///
6505    /// The suffix component will be placed at the end position of the Slider,
6506    /// typically on the right side in LTR layouts.
6507    ///
6508    ///
6509    /// Available since API-level: 20
6510    #[cfg(feature = "api-20")]
6511    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6512    pub const NODE_SLIDER_SUFFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17015);
6513    /// Defines the color of the slider block. This attribute can be set, reset, and obtained as required through APIs.
6514    ///
6515    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6516    ///
6517    /// .object: array of color stops, each of which consists of a color and its stop position.
6518    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6519    ///
6520    ///
6521    /// colors: colors of the color stops.
6522    ///
6523    /// stops: stop positions of the color stops.
6524    ///
6525    /// size: number of colors.
6526    ///
6527    ///
6528    ///
6529    /// Format of the return value [`ArkUI_AttributeItem`]:
6530    ///
6531    /// .object: array of color stops, each of which consists of a color and its stop position.
6532    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6533    ///
6534    ///
6535    /// colors: colors of the color stops.
6536    ///
6537    /// stops: stop positions of the color stops.
6538    ///
6539    /// size: number of colors.
6540    ///
6541    ///
6542    ///
6543    /// Available since API-level: 21
6544    #[cfg(feature = "api-21")]
6545    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6546    pub const NODE_SLIDER_BLOCK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6547        ArkUI_NodeAttributeType(17016);
6548    /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
6549    /// through APIs.
6550    ///
6551    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6552    ///
6553    /// .object: array of color stops, each of which consists of a color and its stop position.
6554    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6555    ///
6556    ///
6557    /// colors: colors of the color stops.
6558    ///
6559    /// stops: stop positions of the color stops.
6560    ///
6561    /// size: number of colors.
6562    ///
6563    ///
6564    ///
6565    /// Format of the return value [`ArkUI_AttributeItem`]:
6566    ///
6567    /// .object: array of color stops, each of which consists of a color and its stop position.
6568    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6569    ///
6570    ///
6571    /// colors: colors of the color stops.
6572    ///
6573    /// stops: stop positions of the color stops.
6574    ///
6575    /// size: number of colors.
6576    ///
6577    ///
6578    ///
6579    /// Available since API-level: 21
6580    #[cfg(feature = "api-21")]
6581    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6582    pub const NODE_SLIDER_TRACK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6583        ArkUI_NodeAttributeType(17017);
6584    /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
6585    /// as required through APIs.
6586    ///
6587    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6588    ///
6589    /// .object: array of color stops, each of which consists of a color and its stop position.
6590    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6591    ///
6592    ///
6593    /// colors: colors of the color stops.
6594    ///
6595    /// stops: stop positions of the color stops.
6596    ///
6597    /// size: number of colors.
6598    ///
6599    ///
6600    ///
6601    /// Format of the return value [`ArkUI_AttributeItem`]:
6602    ///
6603    /// .object: array of color stops, each of which consists of a color and its stop position.
6604    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6605    ///
6606    ///
6607    /// colors: colors of the color stops.
6608    ///
6609    /// stops: stop positions of the color stops.
6610    ///
6611    /// size: number of colors.
6612    ///
6613    ///
6614    ///
6615    /// Available since API-level: 21
6616    #[cfg(feature = "api-21")]
6617    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6618    pub const NODE_SLIDER_SELECTED_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6619        ArkUI_NodeAttributeType(17018);
6620    /// Set the selection status of an option button. Attribute setting,
6621    /// attribute resetting, and attribute obtaining are supported.
6622    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6623    ///
6624    /// .value[0].i32: check status of an option button. The default value is false.
6625    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6626    ///
6627    /// .value[0].i32: selection status of an option button.
6628    pub const NODE_RADIO_CHECKED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18000);
6629    /// Set the styles of the selected and deselected states of the option button.
6630    /// The attribute setting, attribute resetting, and attribute obtaining are supported.
6631    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6632    ///
6633    /// .value[0]?. u32: color of the mother board in enabled state.
6634    ///
6635    /// The type is 0xARGB, and the default value is 0xFF007DFF.
6636    ///
6637    /// .value[1]?. u32: stroke color in the close state. The type is 0xARGB,
6638    ///
6639    /// and the default value is 0xFF182431.
6640    ///
6641    /// .value[2]?. u32: color of the internal round pie in the enabled state.
6642    ///
6643    /// The type is 0xARGB, and the default value is 0xFFFFFFFF.
6644    ///
6645    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6646    ///
6647    /// .value[0]. u32: color of the mother board in enabled state.
6648    ///
6649    /// The type is 0xARGB, and the default value is 0xFF007DFF.
6650    ///
6651    /// .value[1]. u32: stroke color in the close state. The type is 0xARGB,
6652    ///
6653    /// and the default value is 0xFF182431.
6654    ///
6655    /// .value[2]. u32: color of the internal round pie in the enabled state.
6656    ///
6657    /// The type is 0xARGB, and the default value is 0xFFFFFFF.
6658    pub const NODE_RADIO_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18001);
6659    /// Sets the value of the current radio.
6660    /// This attribute can be set, reset, and obtained as required through APIs.
6661    ///
6662    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6663    ///
6664    /// .string: radio value.
6665    ///
6666    ///
6667    ///
6668    /// Format of the return value [`ArkUI_AttributeItem`]:
6669    ///
6670    /// .string: radio value.
6671    pub const NODE_RADIO_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18002);
6672    /// Set the group name of the current Radio group, only one radio of the same group can be selected.
6673    /// This attribute can be set, reset, and obtained as required through APIs.
6674    ///
6675    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6676    ///
6677    /// .string: name of the group to which the current option box belongs.
6678    ///
6679    ///
6680    ///
6681    /// Format of the return value [`ArkUI_AttributeItem`]:
6682    ///
6683    /// .string: name of the group to which the current option box belongs.
6684    pub const NODE_RADIO_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18003);
6685    /// Set the image frames for the image animator. Dynamic updates is not supported.
6686    /// This attribute can be set, reset, and obtained as required through APIs.
6687    ///
6688    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6689    ///
6690    /// .size: number of the images.
6691    ///
6692    /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
6693    ///
6694    ///
6695    ///
6696    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6697    ///
6698    /// .size: number of the images.
6699    ///
6700    /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
6701    pub const NODE_IMAGE_ANIMATOR_IMAGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19000);
6702    /// Set the playback status of the animation for the image animator.
6703    /// This attribute can be set, reset, and obtained as required through APIs.
6704    ///
6705    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6706    ///
6707    /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`],
6708    /// and the default value is ARKUI_ANIMATION_STATUS_INITIAL.
6709    ///
6710    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6711    ///
6712    /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`].
6713    pub const NODE_IMAGE_ANIMATOR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19001);
6714    /// Set the playback duration for the image animator. When the duration is 0, no image is played.
6715    /// The value change takes effect only at the beginning of the next cycle.
6716    /// When a separate duration is set in images, the setting of this attribute is invalid.
6717    /// This attribute can be set, reset, and obtained as required through APIs.
6718    ///
6719    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6720    ///
6721    /// .value[0].i32: the playback duration, the unit is ms and the default value is 1000.
6722    ///
6723    ///
6724    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6725    ///
6726    /// .value[0].i32: the playback duration, the unit is ms.
6727    pub const NODE_IMAGE_ANIMATOR_DURATION: ArkUI_NodeAttributeType =
6728        ArkUI_NodeAttributeType(19002);
6729    /// Set the playback direction for the image animator.
6730    /// This attribute can be set, reset, and obtained as required through APIs.
6731    ///
6732    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6733    ///
6734    /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
6735    /// and 1 indicates that images are played from the last one to the first one.
6736    ///
6737    ///
6738    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6739    ///
6740    /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
6741    /// and 1 indicates that images are played from the last one to the first one.
6742    pub const NODE_IMAGE_ANIMATOR_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19003);
6743    /// Set whether the image size is the same as the component size.
6744    /// This attribute can be set, reset, and obtained as required through APIs.
6745    ///
6746    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6747    ///
6748    /// .value[0].i32: whether the image size is the same as the component size.
6749    /// 1 indicates the image size is the same as the component size.
6750    /// In this case, the width, height, top, and left attributes of the image are invalid.
6751    /// 0 indicates the image size is customized.
6752    /// The width, height, top, and left attributes of each image must be set separately.
6753    ///
6754    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6755    ///
6756    /// .value[0].i32: whether the image size is the same as the component size.
6757    /// 1 indicates the image size is the same as the component size.
6758    /// 0 indicates the image size is customized.
6759    pub const NODE_IMAGE_ANIMATOR_FIXED_SIZE: ArkUI_NodeAttributeType =
6760        ArkUI_NodeAttributeType(19004);
6761    /// Set the status before and after execution of the animation in the current playback direction.
6762    /// This attribute can be set, reset, and obtained as required through APIs.
6763    ///
6764    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6765    ///
6766    /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
6767    /// the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.
6768    ///
6769    ///
6770    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6771    ///
6772    /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
6773    /// the type is {ArkUI_AnimationFillMode}.
6774    pub const NODE_IMAGE_ANIMATOR_FILL_MODE: ArkUI_NodeAttributeType =
6775        ArkUI_NodeAttributeType(19005);
6776    /// Set the number of times that the animation is played.
6777    /// This attribute can be set, reset, and obtained as required through APIs.
6778    ///
6779    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6780    ///
6781    /// .value[0].i32: the number of times that the animation is played.
6782    ///
6783    ///
6784    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6785    ///
6786    /// .value[0].i32: the number of times that the animation is played.
6787    pub const NODE_IMAGE_ANIMATOR_ITERATION: ArkUI_NodeAttributeType =
6788        ArkUI_NodeAttributeType(19006);
6789    /// Defines the name of the checkboxgroup.
6790    /// This attribute can be set, reset, and obtained as required through APIs.
6791    ///
6792    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6793    ///
6794    /// .string: component name.
6795    ///
6796    ///
6797    ///
6798    /// Format of the return value [`ArkUI_AttributeItem`]:
6799    ///
6800    /// .string: component name.
6801    ///
6802    ///
6803    ///
6804    /// Available since API-level: 15
6805    #[cfg(feature = "api-15")]
6806    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6807    pub const NODE_CHECKBOX_GROUP_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21000);
6808    /// Defines whether the checkboxgroup is selected.
6809    /// This attribute can be set, reset, and obtained as required through APIs.
6810    ///
6811    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6812    ///
6813    /// .value[0].i32: whether the checkboxgroup is selected.
6814    /// The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
6815    ///
6816    ///
6817    ///
6818    /// Format of the return value [`ArkUI_AttributeItem`]:
6819    ///
6820    /// .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
6821    ///
6822    ///
6823    ///
6824    /// Available since API-level: 15
6825    #[cfg(feature = "api-15")]
6826    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6827    pub const NODE_CHECKBOX_GROUP_SELECT_ALL: ArkUI_NodeAttributeType =
6828        ArkUI_NodeAttributeType(21001);
6829    /// Defines the color of the checkboxgroup when it is selected.
6830    /// This attribute can be set, reset, and obtained as required through APIs.
6831    ///
6832    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6833    ///
6834    /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
6835    /// for example, <b>0xFF1122FF</b>.
6836    ///
6837    ///
6838    ///
6839    /// Format of the return value [`ArkUI_AttributeItem`]:
6840    ///
6841    /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6842    ///
6843    ///
6844    /// Available since API-level: 15
6845    #[cfg(feature = "api-15")]
6846    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6847    pub const NODE_CHECKBOX_GROUP_SELECTED_COLOR: ArkUI_NodeAttributeType =
6848        ArkUI_NodeAttributeType(21002);
6849    /// Defines the border color of the checkboxgroup when it is not selected.
6850    /// This attribute can be set, reset, and obtained as required through APIs.
6851    ///
6852    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6853    ///
6854    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6855    ///
6856    ///
6857    ///
6858    /// Format of the return value [`ArkUI_AttributeItem`]:
6859    ///
6860    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6861    ///
6862    ///
6863    /// Available since API-level: 15
6864    #[cfg(feature = "api-15")]
6865    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6866    pub const NODE_CHECKBOX_GROUP_UNSELECTED_COLOR: ArkUI_NodeAttributeType =
6867        ArkUI_NodeAttributeType(21003);
6868    /// Defines the internal icon style of the checkboxgroup.
6869    /// This attribute can be set, reset, and obtained as required through APIs.
6870    ///
6871    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6872    ///
6873    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6874    ///
6875    /// .value[1]?.f32: size of the internal mark, in vp. Optional.
6876    ///
6877    /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
6878    ///
6879    ///
6880    ///
6881    /// Format of the return value [`ArkUI_AttributeItem`]:
6882    ///
6883    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6884    ///
6885    /// .value[1].f32: size of the internal mark, in vp.
6886    ///
6887    /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
6888    ///
6889    ///
6890    ///
6891    /// Available since API-level: 15
6892    #[cfg(feature = "api-15")]
6893    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6894    pub const NODE_CHECKBOX_GROUP_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21004);
6895    /// Defines the shape of the checkboxgroup.
6896    /// This attribute can be set, reset, and obtained as required through APIs.
6897    ///
6898    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6899    ///
6900    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6901    ///
6902    ///
6903    ///
6904    /// Format of the return value [`ArkUI_AttributeItem`]:
6905    ///
6906    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6907    ///
6908    ///
6909    /// Available since API-level: 15
6910    #[cfg(feature = "api-15")]
6911    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6912    pub const NODE_CHECKBOX_GROUP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21005);
6913    /// Defines the alignment mode of the child components in the container. This attribute can be set, reset,
6914    /// and obtained as required through APIs.
6915    ///
6916    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6917    ///
6918    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
6919    /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
6920    ///
6921    ///
6922    ///
6923    /// Format of the return value [`ArkUI_AttributeItem`]:
6924    ///
6925    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
6926    pub const NODE_STACK_ALIGN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000000);
6927    /// Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs.
6928    ///
6929    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6930    ///
6931    /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`]. The default value is
6932    /// <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>.
6933    ///
6934    ///
6935    ///
6936    /// Format of the return value [`ArkUI_AttributeItem`]:
6937    ///
6938    /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`].
6939    pub const NODE_SCROLL_BAR_DISPLAY_MODE: ArkUI_NodeAttributeType =
6940        ArkUI_NodeAttributeType(1002000);
6941    /// Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required
6942    /// through APIs.
6943    ///
6944    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6945    ///
6946    /// .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>.
6947    ///
6948    ///
6949    ///
6950    /// Format of the return value [`ArkUI_AttributeItem`]:
6951    ///
6952    /// .value[0].f32: width of the scrollbar, in vp.
6953    pub const NODE_SCROLL_BAR_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002001);
6954    /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
6955    /// through APIs.
6956    ///
6957    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6958    ///
6959    /// .data[0].u32: color of the scrollbar, in 0xARGB format.
6960    ///
6961    ///
6962    ///
6963    /// Format of the return value [`ArkUI_AttributeItem`]:
6964    ///
6965    /// .data[0].u32: color of the scrollbar, in 0xARGB format.
6966    pub const NODE_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002002);
6967    /// Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs.
6968    ///
6969    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6970    ///
6971    /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
6972    /// The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>.
6973    ///
6974    ///
6975    ///
6976    /// Format of the return value [`ArkUI_AttributeItem`]:
6977    ///
6978    /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
6979    pub const NODE_SCROLL_SCROLL_DIRECTION: ArkUI_NodeAttributeType =
6980        ArkUI_NodeAttributeType(1002003);
6981    /// Defines the effect used at the edges of the component when the boundary of the scrollable content is
6982    /// reached. This attribute can be set, reset, and obtained as required through APIs.
6983    ///
6984    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6985    ///
6986    /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
6987    /// The parameter type is [`ArkUI_EdgeEffect`]. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.
6988    ///
6989    /// .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the
6990    /// component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the
6991    /// opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the
6992    /// Scroll component is <b>1</b>.
6993    ///
6994    /// .value[2]?.i32: direction in which the effect takes effect. The parameter type is [`ArkUI_EffectEdge`].
6995    /// The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since
6996    /// API version 16.
6997    ///
6998    ///
6999    ///
7000    /// Format of the return value [`ArkUI_AttributeItem`]:
7001    ///
7002    /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
7003    /// The parameter type is [`ArkUI_EdgeEffect`].
7004    ///
7005    /// .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component
7006    /// itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite.
7007    ///
7008    /// .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached.
7009    /// The parameter type is [`ArkUI_EffectEdge`]. This parameter is supported since API version 16.
7010    pub const NODE_SCROLL_EDGE_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002004);
7011    /// Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by
7012    /// finger or mouse is not supported, but the scroll controller API is not affected.
7013    ///
7014    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7015    ///
7016    /// .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>.
7017    ///
7018    ///
7019    ///
7020    /// Format of the return value [`ArkUI_AttributeItem`]:
7021    ///
7022    /// .value[0].i32: whether to support scroll gestures.
7023    pub const NODE_SCROLL_ENABLE_SCROLL_INTERACTION: ArkUI_NodeAttributeType =
7024        ArkUI_NodeAttributeType(1002005);
7025    /// Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only
7026    /// indirectly the scroll chaining during the inertial scrolling process.
7027    ///
7028    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7029    ///
7030    /// .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b>
7031    /// for wearable devices.
7032    ///
7033    ///
7034    ///
7035    /// Format of the return value [`ArkUI_AttributeItem`]:
7036    ///
7037    /// .value[0].f32: friction coefficient.
7038    pub const NODE_SCROLL_FRICTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002006);
7039    /// Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs.
7040    ///
7041    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7042    ///
7043    /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7044    /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
7045    ///
7046    /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
7047    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7048    /// start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple
7049    /// snap points.
7050    ///
7051    /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
7052    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7053    /// end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple
7054    /// snap points.
7055    ///
7056    /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an
7057    /// edge to which the <b><Scroll></b> component can scroll.
7058    ///
7059    ///
7060    ///
7061    /// Format of the return value [`ArkUI_AttributeItem`]:
7062    ///
7063    /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7064    ///
7065    /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
7066    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7067    /// start edge and the first snap point.
7068    ///
7069    /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
7070    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7071    /// end edge and the last snap point.
7072    ///
7073    /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge
7074    /// to which the <b><Scroll></b> component can scroll.
7075    pub const NODE_SCROLL_SNAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002007);
7076    /// Defines the nested scrolling options. This attribute can be set, reset, and obtained as required
7077    /// through APIs.
7078    ///
7079    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7080    ///
7081    /// .value[0].i32: nested scrolling option when the component scrolls forward.
7082    /// The parameter type is [`ArkUI_ScrollNestedMode`].
7083    ///
7084    /// .value[1].i32: nested scrolling option when the component scrolls backward.
7085    /// The parameter type is [`ArkUI_ScrollNestedMode`].
7086    ///
7087    ///
7088    ///
7089    /// Format of the return value [`ArkUI_AttributeItem`]:
7090    ///
7091    /// .value[0].i32: nested scrolling option when the component scrolls forward.
7092    /// The parameter type is [`ArkUI_ScrollNestedMode`].
7093    ///
7094    /// .value[1].i32: nested scrolling option when the component scrolls backward.
7095    /// The parameter type is [`ArkUI_ScrollNestedMode`].
7096    pub const NODE_SCROLL_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002008);
7097    /// Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required
7098    /// through APIs.
7099    ///
7100    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7101    ///
7102    /// .value[0].f32: horizontal scrolling offset, in vp.
7103    ///
7104    /// .value[1].f32: vertical scrolling offset, in vp.
7105    ///
7106    /// .value[2]?.i32: scrolling duration, in milliseconds. Optional.
7107    ///
7108    /// .value[3]?.i32: scrolling curve. Optional. The parameter type is [`ArkUI_AnimationCurve`].
7109    /// The default value is <b>ARKUI_CURVE_EASE</b>.
7110    ///
7111    /// .value[4]?.i32: whether to enable the default spring animation. Optional.
7112    /// The default value <b>0</b> means not to enable the default spring animation.
7113    ///
7114    /// .value[5]?.i32: whether to convert the scroll animation to an overshoot animation when the boundary is reached.
7115    /// Optional.
7116    ///
7117    /// .value[6]?.i32: whether the component can stop at an overscrolled position.
7118    /// This parameter is supported since API version 20.
7119    ///
7120    ///
7121    ///
7122    /// Format of the return value [`ArkUI_AttributeItem`]:
7123    ///
7124    /// .value[0].f32: horizontal scrolling offset, in vp.
7125    ///
7126    /// .value[1].f32: vertical scrolling offset, in vp.
7127    pub const NODE_SCROLL_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002009);
7128    /// Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs.
7129    ///
7130    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7131    ///
7132    /// .value[0].i32: edge position to scroll to. The parameter type is [`ArkUI_ScrollEdge`].
7133    ///
7134    ///
7135    ///
7136    /// Format of the return value [`ArkUI_AttributeItem`]:
7137    ///
7138    /// .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not
7139    /// at the edge position. If the container is at the edge position, the parameter type is [`ArkUI_ScrollEdge`].
7140    pub const NODE_SCROLL_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002010);
7141    /// Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained
7142    /// as required through APIs.
7143    ///
7144    /// If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but
7145    /// <b>enablePaging</b> does not.
7146    ///
7147    ///
7148    ///
7149    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7150    ///
7151    /// .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>.
7152    ///
7153    ///
7154    ///
7155    /// Format of the return value [`ArkUI_AttributeItem`]:
7156    ///
7157    /// .value[0].i32: whether to enable the swipe-to-turn-pages feature.
7158    pub const NODE_SCROLL_ENABLE_PAGING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002011);
7159    /// Scroll to the next or previous page.
7160    ///
7161    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7162    ///
7163    /// .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1
7164    /// indicates scroll to previous page.
7165    ///
7166    /// .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable.
7167    pub const NODE_SCROLL_PAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002012);
7168    /// Scroll a specified distance.
7169    ///
7170    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7171    ///
7172    /// .value[0].f32:Horizontal scrolling distance in vp;
7173    ///
7174    /// .value[1].f32: Vertical scrolling distance in vp;
7175    pub const NODE_SCROLL_BY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002013);
7176    /// Performs inertial scrolling based on the initial velocity passed in.
7177    ///
7178    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7179    ///
7180    /// .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is
7181    /// considered as invalid, and the scrolling for this instance will not take effect. If the value is positive,
7182    /// the scroll will move downward; if the value is negative, the scroll will move upward.
7183    ///
7184    ///
7185    ///
7186    /// Available since API-level: 13
7187    #[cfg(feature = "api-13")]
7188    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
7189    pub const NODE_SCROLL_FLING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002014);
7190    /// Sets the fading effect for the edges of scrollable components.
7191    ///
7192    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7193    /// .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect,
7194    /// and 1 means to enable it.
7195    /// .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32.
7196    ///
7197    /// Format of the return value [`ArkUI_AttributeItem`]:
7198    /// .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is
7199    /// disabled, and 1 means that it is enabled.
7200    /// .value[1].f32: length of the fading effect on edges, in vp.
7201    ///
7202    ///
7203    /// Available since API-level: 14
7204    #[cfg(feature = "api-14")]
7205    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
7206    pub const NODE_SCROLL_FADING_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002015);
7207    /// Obtains the total size of all child components when fully expanded in the scrollable component.
7208    ///
7209    /// Format of the return value [`ArkUI_AttributeItem`]:
7210    ///
7211    /// .value[0].f32: total width of all child components when fully expanded in the scrollable component.
7212    /// The default unit is vp.
7213    ///
7214    /// .value[1].f32: total height of all child components when fully expanded in the scrollable component.
7215    /// The default unit is vp.
7216    ///
7217    /// When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the
7218    /// nearest pixel when being converted from vp to px.
7219    /// The returned values are calculated based on these rounded pixel values.
7220    ///
7221    ///
7222    ///
7223    /// Available since API-level: 14
7224    #[cfg(feature = "api-14")]
7225    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
7226    pub const NODE_SCROLL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002016);
7227    /// Sets the offset from the start of the scrollable components content.
7228    ///
7229    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7230    ///
7231    /// .value[0].f32: offset from the start of the content, in vp.
7232    ///
7233    ///
7234    ///
7235    /// Format of the return value [`ArkUI_AttributeItem`]:
7236    ///
7237    /// .value[0].f32: offset from the start of the content, in vp.
7238    ///
7239    ///
7240    ///
7241    /// Available since API-level: 15
7242    #[cfg(feature = "api-15")]
7243    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7244    pub const NODE_SCROLL_CONTENT_START_OFFSET: ArkUI_NodeAttributeType =
7245        ArkUI_NodeAttributeType(1002017);
7246    /// Sets the offset from the end of the scrollable components content.
7247    ///
7248    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7249    ///
7250    /// .value[0].f32: offset from the end of the content, in vp.
7251    ///
7252    ///
7253    ///
7254    /// Format of the return value [`ArkUI_AttributeItem`]:
7255    ///
7256    /// .value[0].f32: offset from the end of the content, in vp.
7257    ///
7258    ///
7259    ///
7260    /// Available since API-level: 15
7261    #[cfg(feature = "api-15")]
7262    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7263    pub const NODE_SCROLL_CONTENT_END_OFFSET: ArkUI_NodeAttributeType =
7264        ArkUI_NodeAttributeType(1002018);
7265    /// Defines the maximum starting fling speed of the scrollable when the fling animation starts.
7266    /// This attribute can be set, reset, and obtained as required through APIs.
7267    ///
7268    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7269    ///
7270    /// .value[0].f32: maximum starting fling speed, Unit: vp/s
7271    ///
7272    ///
7273    ///
7274    /// Format of the return value [`ArkUI_AttributeItem`]:
7275    ///
7276    /// .value[0].f32: maximum starting fling speed, Unit: vp/s
7277    ///
7278    ///
7279    ///
7280    /// Available since API-level: 18
7281    #[cfg(feature = "api-18")]
7282    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7283    pub const NODE_SCROLL_FLING_SPEED_LIMIT: ArkUI_NodeAttributeType =
7284        ArkUI_NodeAttributeType(1002019);
7285    /// Defines the clip mode of the scrollable.
7286    /// This attribute can be set, reset, and obtained as required through APIs.
7287    ///
7288    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7289    ///
7290    /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
7291    ///
7292    ///
7293    ///
7294    /// Format of the return value [`ArkUI_AttributeItem`]:
7295    ///
7296    /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
7297    ///
7298    ///
7299    ///
7300    /// Available since API-level: 18
7301    #[cfg(feature = "api-18")]
7302    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7303    pub const NODE_SCROLL_CLIP_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002020);
7304    /// Defines whether the scrollable scrolls back to top when status bar is clicked.
7305    /// This attribute can be set, reset, and obtained as required through APIs.
7306    ///
7307    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7308    ///
7309    /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
7310    /// The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. The default value is <b>0/b>.
7311    ///
7312    ///
7313    ///
7314    /// Format of the return value [`ArkUI_AttributeItem`]:
7315    ///
7316    /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
7317    ///
7318    ///
7319    ///
7320    /// Available since API-level: 15
7321    #[cfg(feature = "api-15")]
7322    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7323    pub const NODE_SCROLL_BACK_TO_TOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002021);
7324    /// Defines the margin of the scrollbar.
7325    /// This attribute can be set, reset, and obtained as required through APIs.
7326    ///
7327    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7328    ///
7329    /// .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>.
7330    ///
7331    /// .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>.
7332    ///
7333    ///
7334    ///
7335    /// Format of the return value [`ArkUI_AttributeItem`]:
7336    ///
7337    /// .value[0].f32: start margin of the scrollbar, in vp.
7338    ///
7339    /// .value[1].f32: end margin of the scrollbar, in vp.
7340    ///
7341    ///
7342    ///
7343    /// Available since API-level: 20
7344    #[cfg(feature = "api-20")]
7345    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7346    pub const NODE_SCROLL_BAR_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002022);
7347    /// Sets the maximum zoom scale for scrollable content.
7348    ///
7349    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7350    ///
7351    /// .value[0].f32: maximum zoom scale to set.
7352    ///
7353    ///
7354    ///
7355    /// Format of the return value [`ArkUI_AttributeItem`]:
7356    ///
7357    /// .value[0].f32: current maximum zoom scale.
7358    ///
7359    ///
7360    ///
7361    /// Available since API-level: 20
7362    #[cfg(feature = "api-20")]
7363    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7364    pub const NODE_SCROLL_MAX_ZOOM_SCALE: ArkUI_NodeAttributeType =
7365        ArkUI_NodeAttributeType(1002023);
7366    /// Sets the minimum zoom scale for scrollable content.
7367    ///
7368    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7369    ///
7370    /// .value[0].f32: minimum zoom scale to set.
7371    ///
7372    ///
7373    ///
7374    /// Format of the return value [`ArkUI_AttributeItem`]:
7375    ///
7376    /// .value[0].f32: current minimum zoom scale.
7377    ///
7378    ///
7379    ///
7380    /// Available since API-level: 20
7381    #[cfg(feature = "api-20")]
7382    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7383    pub const NODE_SCROLL_MIN_ZOOM_SCALE: ArkUI_NodeAttributeType =
7384        ArkUI_NodeAttributeType(1002024);
7385    /// Sets the zoom scale for scrollable content.
7386    ///
7387    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7388    ///
7389    /// .value[0].f32: zoom scale to set.
7390    ///
7391    ///
7392    ///
7393    /// Format of the return value [`ArkUI_AttributeItem`]:
7394    ///
7395    /// .value[0].f32: current zoom scale.
7396    ///
7397    ///
7398    ///
7399    /// Available since API-level: 20
7400    #[cfg(feature = "api-20")]
7401    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7402    pub const NODE_SCROLL_ZOOM_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002025);
7403    /// Sets whether to enable the zoom bounce effect when the scaling exceeds the limits.
7404    ///
7405    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7406    ///
7407    /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
7408    /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
7409    ///
7410    ///
7411    ///
7412    /// Format of the return value [`ArkUI_AttributeItem`]:
7413    ///
7414    /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
7415    /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
7416    ///
7417    ///
7418    ///
7419    /// Available since API-level: 20
7420    #[cfg(feature = "api-20")]
7421    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7422    pub const NODE_SCROLL_ENABLE_BOUNCES_ZOOM: ArkUI_NodeAttributeType =
7423        ArkUI_NodeAttributeType(1002026);
7424    /// Sets the direction in which the list items are arranged.
7425    /// This attribute can be set, reset, and obtained as required through APIs.
7426    ///
7427    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7428    ///
7429    /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
7430    /// The default value is <b>ARKUI_AXIS_VERTICAL</b>.
7431    ///
7432    ///
7433    ///
7434    /// Format of the return value [`ArkUI_AttributeItem`]:
7435    ///
7436    /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
7437    pub const NODE_LIST_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003000);
7438    /// Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7439    /// component. This attribute can be set, reset, and obtained as required through APIs.
7440    ///
7441    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7442    ///
7443    /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7444    /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
7445    /// [`ArkUI_StickyStyle`]. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>.
7446    ///
7447    ///
7448    ///
7449    /// Format of the return value [`ArkUI_AttributeItem`]:
7450    ///
7451    /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7452    /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
7453    /// [`ArkUI_StickyStyle`].
7454    pub const NODE_LIST_STICKY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003001);
7455    /// Defines the spacing between list items. This attribute can be set, reset, and obtained as required
7456    /// through APIs.
7457    ///
7458    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7459    ///
7460    /// .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>.
7461    ///
7462    ///
7463    ///
7464    /// Format of the return value [`ArkUI_AttributeItem`]:
7465    ///
7466    /// .value[0].f32: spacing between list items along the main axis.
7467    pub const NODE_LIST_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003002);
7468    /// Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs.
7469    ///
7470    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7471    ///
7472    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
7473    pub const NODE_LIST_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003003);
7474    /// Sets the number of cached items in the list adapter.
7475    /// This attribute can be set, reset, and obtained as required through APIs.
7476    ///
7477    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7478    ///
7479    /// .value[0].i32: number of cached items in the list adapter.
7480    ///
7481    /// .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
7482    /// to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15.
7483    ///
7484    ///
7485    ///
7486    /// Format of the return value [`ArkUI_AttributeItem`]:
7487    ///
7488    /// .value[0].i32: number of cached items in the list adapter.
7489    ///
7490    /// .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
7491    /// to show cached items. This parameter is supported since API version 15.
7492    pub const NODE_LIST_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003004);
7493    /// Scroll to the specified index.
7494    ///
7495    /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
7496    /// lead to performance issues when loading a large number of items.
7497    ///
7498    ///
7499    ///
7500    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7501    ///
7502    /// .value[0].i32:The index value of the target element to be slid to in the current container.
7503    ///
7504    /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
7505    /// 1 indicates an action and 0 indicates no action. Default value: 0。
7506    ///
7507    /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
7508    /// [`ArkUI_ScrollAlignment`], default value is ARKUI_SCROLL_ALIGNMENT_START.
7509    ///
7510    /// .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>.
7511    /// This parameter is supported since API version 15.
7512    pub const NODE_LIST_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003005);
7513    /// Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is
7514    /// greater than the cross-axis width of list items multiplied by the value of lanes.
7515    /// This attribute can be set, reset, and obtained as required through APIs.
7516    ///
7517    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7518    ///
7519    /// .value[0].i32: alignment mode of list items along the cross axis.
7520    /// The parameter type is [`ArkUI_ListItemAlignment`].
7521    ///
7522    ///
7523    ///
7524    /// Format of the return value [`ArkUI_AttributeItem`]:
7525    ///
7526    /// .value[0].i32: alignment mode of list items along the cross axis.
7527    /// The parameter type is [`ArkUI_ListItemAlignment`].
7528    pub const NODE_LIST_ALIGN_LIST_ITEM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003006);
7529    /// Set the default spindle size for the List subcomponent.
7530    ///
7531    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7532    ///
7533    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
7534    ///
7535    ///
7536    ///
7537    /// Format of the return value [`ArkUI_AttributeItem`]:
7538    ///
7539    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
7540    pub const NODE_LIST_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
7541        ArkUI_NodeAttributeType(1003007);
7542    /// Set the index value of the item displayed at the start of the viewport
7543    /// when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs.
7544    ///
7545    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7546    ///
7547    /// .value[0].i32: index value of the item displayed at
7548    /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
7549    ///
7550    ///
7551    ///
7552    /// Format of the return value [`ArkUI_AttributeItem`]:
7553    ///
7554    /// .value[0].i32: index value of the item displayed at
7555    /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
7556    pub const NODE_LIST_INITIAL_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003008);
7557    /// sets the ListItem splitter style. By default, there is no splitter.
7558    /// This attribute can be set, reset, and obtained as required through APIs.
7559    ///
7560    /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
7561    ///
7562    /// .value[0].u32: divider color, type 0xargb;
7563    ///
7564    /// .value[1].f32: dividing line width;
7565    ///
7566    /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
7567    ///
7568    /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
7569    ///
7570    ///
7571    ///
7572    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
7573    ///
7574    /// .value[0].u32: divider color, type 0xargb;
7575    ///
7576    /// .value[1].f32: dividing line width;
7577    ///
7578    /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
7579    ///
7580    /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
7581    pub const NODE_LIST_DIVIDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003009);
7582    /// Scrolls to the item with the specified index in the specified list item group.
7583    ///
7584    /// When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation.
7585    /// This may result in performance issues if a large number of items are involved.
7586    ///
7587    ///
7588    ///
7589    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7590    ///
7591    /// .value[0].i32: index of the target list item group in the current list.
7592    ///
7593    /// .value[1].i32: index of the target list item in the list item group.
7594    ///
7595    /// .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index.
7596    /// The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite.
7597    /// The default value is <b>0</b>.
7598    ///
7599    /// .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is
7600    /// [`ArkUI_ScrollAlignment`]. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>.
7601    ///
7602    ///
7603    ///
7604    /// Available since API-level: 15
7605    #[cfg(feature = "api-15")]
7606    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7607    pub const NODE_LIST_SCROLL_TO_INDEX_IN_GROUP: ArkUI_NodeAttributeType =
7608        ArkUI_NodeAttributeType(1003010);
7609    /// Sets the number of lanes in the list.
7610    /// This attribute can be set, reset, and obtained as required through APIs.
7611    ///
7612    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7613    ///
7614    /// .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number
7615    /// of lanes will not take effect.
7616    ///
7617    /// .value[1]?.f32: minimum lane width, in vp.
7618    ///
7619    /// .value[2]?.f32: maximum column width, in vp.
7620    ///
7621    /// .value[3]?.f32: lane spacing, in vp.
7622    ///
7623    ///
7624    ///
7625    /// Format of the return value [`ArkUI_AttributeItem`]:
7626    ///
7627    /// .value[0].u32: number of lanes in the list.
7628    ///
7629    /// .value[1].f32: minimum lane width, in vp.
7630    ///
7631    /// .value[2].f32: maximum column width, in vp.
7632    ///
7633    /// .value[3].f32: lane spacing, in vp.
7634    ///
7635    ///
7636    ///
7637    ///
7638    /// Available since API-level: 15
7639    #[cfg(feature = "api-15")]
7640    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7641    pub const NODE_LIST_LANES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003011);
7642    /// Sets the list snap alignment mode.
7643    ///
7644    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7645    ///
7646    /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7647    /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
7648    ///
7649    ///
7650    ///
7651    /// Format of the return value [`ArkUI_AttributeItem`]:
7652    ///
7653    /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7654    ///
7655    ///
7656    ///
7657    /// Available since API-level: 15
7658    #[cfg(feature = "api-15")]
7659    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7660    pub const NODE_LIST_SCROLL_SNAP_ALIGN: ArkUI_NodeAttributeType =
7661        ArkUI_NodeAttributeType(1003012);
7662    /// Sets whether to maintain the visible content's position when data is inserted or deleted outside the
7663    /// display area of the <b>List</b> component.
7664    ///
7665    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7666    ///
7667    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
7668    /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
7669    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
7670    ///
7671    ///
7672    ///
7673    /// Format of the return value [`ArkUI_AttributeItem`]:
7674    ///
7675    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
7676    /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
7677    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
7678    ///
7679    ///
7680    ///
7681    /// Available since API-level: 15
7682    #[cfg(feature = "api-15")]
7683    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7684    pub const NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
7685        ArkUI_NodeAttributeType(1003013);
7686    /// Sets whether the <b>List</b> component starts layout from the end.
7687    ///
7688    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7689    ///
7690    /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
7691    /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
7692    ///
7693    ///
7694    ///
7695    /// Format of the return value [`ArkUI_AttributeItem`]:
7696    ///
7697    /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
7698    /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
7699    ///
7700    ///
7701    ///
7702    /// Available since API-level: 19
7703    #[cfg(feature = "api-19")]
7704    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
7705    pub const NODE_LIST_STACK_FROM_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003014);
7706    /// Defines the focus wrap mode for the <b>List</b> component.
7707    /// This attribute can be set, reset, and obtained as required through APIs.
7708    ///
7709    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7710    ///
7711    /// .value[0].i32: focus wrap mode of the <b>List</b> component.
7712    /// The parameter type is [`ArkUI_FocusWrapMode`].
7713    ///
7714    ///
7715    ///
7716    /// Format of the return value [`ArkUI_AttributeItem`]:
7717    ///
7718    /// .value[0].i32: focus wrap mode of the <b>List</b> component.
7719    /// The parameter type is [`ArkUI_FocusWrapMode`].
7720    ///
7721    ///
7722    ///
7723    /// Available since API-level: 20
7724    #[cfg(feature = "api-20")]
7725    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7726    pub const NODE_LIST_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003015);
7727    /// Defines whether the <b>List</b> component loads child nodes synchronously.
7728    /// This attribute can be set, reset, and obtained as required through APIs.
7729    ///
7730    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7731    ///
7732    /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
7733    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
7734    ///
7735    ///
7736    ///
7737    /// Format of the return value [`ArkUI_AttributeItem`]:
7738    ///
7739    /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
7740    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
7741    ///
7742    ///
7743    ///
7744    /// Available since API-level: 20
7745    #[cfg(feature = "api-20")]
7746    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7747    pub const NODE_LIST_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003016);
7748    /// Defines whether to enable loop playback for the swiper.
7749    /// This attribute can be set, reset, and obtained as required through APIs.
7750    ///
7751    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7752    ///
7753    /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
7754    /// means the opposite. The default value is <b>1/b>.
7755    ///
7756    ///
7757    ///
7758    /// Format of the return value [`ArkUI_AttributeItem`]:
7759    ///
7760    /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
7761    /// means the opposite. The default value is <b>1</b>.
7762    pub const NODE_SWIPER_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001000);
7763    /// Defines whether to enable automatic playback for child component switching in the swiper.
7764    /// This attribute can be set, reset, and obtained as required through APIs.
7765    ///
7766    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7767    ///
7768    /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b>
7769    /// means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
7770    ///
7771    ///
7772    ///
7773    /// .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means
7774    /// to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is
7775    /// supported since API version 16.
7776    ///
7777    ///
7778    ///
7779    /// Format of the return value [`ArkUI_AttributeItem`]:
7780    ///
7781    /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means
7782    /// to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
7783    ///
7784    /// .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to
7785    /// stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16.
7786    pub const NODE_SWIPER_AUTO_PLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001001);
7787    /// Defines whether to enable the navigation point indicator for the swiper. This attribute can be set,
7788    /// reset, and obtained as required through APIs.
7789    ///
7790    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7791    ///
7792    /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
7793    /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
7794    ///
7795    ///
7796    ///
7797    /// Format of the return value [`ArkUI_AttributeItem`]:
7798    ///
7799    /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
7800    /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
7801    pub const NODE_SWIPER_SHOW_INDICATOR: ArkUI_NodeAttributeType =
7802        ArkUI_NodeAttributeType(1001002);
7803    /// Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required
7804    /// through APIs.
7805    ///
7806    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7807    ///
7808    /// .value[0].f32: interval for automatic playback, in milliseconds.
7809    ///
7810    ///
7811    ///
7812    /// Format of the return value [`ArkUI_AttributeItem`]:
7813    ///
7814    /// .value[0].f32: interval for automatic playback, in milliseconds.
7815    pub const NODE_SWIPER_INTERVAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001003);
7816    /// Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained
7817    /// as required through APIs.
7818    ///
7819    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7820    ///
7821    /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
7822    /// <b>0</b> means the opposite. The default value is <b>0</b>.
7823    ///
7824    ///
7825    ///
7826    /// Format of the return value [`ArkUI_AttributeItem`]:
7827    ///
7828    /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
7829    /// <b>0</b> means the opposite. The default value is <b>0</b>.
7830    pub const NODE_SWIPER_VERTICAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001004);
7831    /// Defines the duration of the animation for switching child components. This attribute can be set, reset,
7832    /// and obtained as required through APIs.
7833    ///
7834    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7835    ///
7836    /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
7837    /// <b>400</b>.
7838    ///
7839    ///
7840    ///
7841    /// Format of the return value [`ArkUI_AttributeItem`]:
7842    ///
7843    /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
7844    /// <b>400</b>.
7845    pub const NODE_SWIPER_DURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001005);
7846    /// Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required
7847    /// through APIs.
7848    ///
7849    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7850    ///
7851    /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
7852    /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
7853    ///
7854    ///
7855    ///
7856    /// Format of the return value [`ArkUI_AttributeItem`]:
7857    ///
7858    /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
7859    /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
7860    pub const NODE_SWIPER_CURVE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001006);
7861    /// Defines the spacing between child components in the swiper.
7862    /// This attribute can be set, reset, and obtained as required through APIs.
7863    ///
7864    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7865    ///
7866    /// .value[0].f32: spacing between child components.
7867    ///
7868    ///
7869    ///
7870    /// Format of the return value [`ArkUI_AttributeItem`]:
7871    ///
7872    /// .value[0].f32: spacing between child components.
7873    pub const NODE_SWIPER_ITEM_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001007);
7874    /// Defines the index of the child component currently displayed in the swiper.
7875    /// This attribute can be set, reset, and obtained as required through APIs.
7876    ///
7877    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7878    ///
7879    /// .value[0].i32: index value of the child component.
7880    ///
7881    /// .value[1]?.i32: animation mode, the parameter type is [`ArkUI_SwiperAnimationMode`].
7882    ///
7883    /// The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call.
7884    ///
7885    /// This parameter is supported since API version 15.
7886    ///
7887    ///
7888    ///
7889    /// Format of the return value [`ArkUI_AttributeItem`]:
7890    ///
7891    /// .value[0].i32: index value of the child component.
7892    pub const NODE_SWIPER_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001008);
7893    /// Defines the number of elements to display per page.
7894    /// This attribute can be set, reset, and obtained as required through APIs.
7895    ///
7896    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7897    ///
7898    /// .value[0].i32: number of elements to display per page.
7899    ///
7900    /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
7901    /// and <b>1</b> means to turn pages by group. This parameter is supported since API version 19.
7902    ///
7903    /// .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored.
7904    /// This parameter is supported since API version 19.
7905    ///
7906    ///
7907    ///
7908    /// Format of the return value [`ArkUI_AttributeItem`]:
7909    ///
7910    /// .value[0].i32: number of elements to display per page.
7911    ///
7912    /// .value[1].i32: whether to turn pages by group. This parameter is supported since API version 19.
7913    ///
7914    /// .string: 'auto' or empty string.
7915    pub const NODE_SWIPER_DISPLAY_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001009);
7916    /// Defines whether to disable the swipe feature.
7917    /// This attribute can be set, reset, and obtained as required through APIs.
7918    ///
7919    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7920    ///
7921    /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable
7922    /// the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
7923    ///
7924    ///
7925    ///
7926    /// Format of the return value [`ArkUI_AttributeItem`]:
7927    ///
7928    /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe
7929    /// feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
7930    pub const NODE_SWIPER_DISABLE_SWIPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001010);
7931    /// Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7932    /// This attribute can be set, reset, and obtained as required through APIs.
7933    ///
7934    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7935    ///
7936    /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7937    /// The parameter type is [`ArkUI_SwiperArrow`].
7938    ///
7939    /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
7940    ///
7941    /// .?object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
7942    ///
7943    /// This parameter is supported since API version 19.
7944    ///
7945    ///
7946    ///
7947    /// Format of the return value [`ArkUI_AttributeItem`]:
7948    ///
7949    /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7950    /// The parameter type is [`ArkUI_SwiperArrow`].
7951    ///
7952    /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
7953    ///
7954    /// .object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
7955    ///
7956    /// This parameter is supported since API version 19.
7957    pub const NODE_SWIPER_SHOW_DISPLAY_ARROW: ArkUI_NodeAttributeType =
7958        ArkUI_NodeAttributeType(1001011);
7959    /// Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7960    /// This attribute can be set, reset, and obtained as required through APIs.
7961    ///
7962    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7963    ///
7964    /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7965    /// The parameter type is [`ArkUI_EdgeEffect`].
7966    ///
7967    /// The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>.
7968    ///
7969    ///
7970    ///
7971    /// Format of the return value [`ArkUI_AttributeItem`]:
7972    ///
7973    /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7974    /// The parameter type is [`ArkUI_EdgeEffect`].
7975    pub const NODE_SWIPER_EDGE_EFFECT_MODE: ArkUI_NodeAttributeType =
7976        ArkUI_NodeAttributeType(1001012);
7977    /// Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs.
7978    ///
7979    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7980    ///
7981    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
7982    pub const NODE_SWIPER_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001013);
7983    /// Sets the number of cached items in the swiper adapter.
7984    /// This attribute can be set, reset, and obtained as required through APIs.
7985    ///
7986    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7987    ///
7988    /// .value[0].i32: number of cached items in the swiper adapter.
7989    ///
7990    /// .value[1]?.i32: whether the cached items will be displayed.
7991    ///
7992    /// The value <b>0</b> indicates that cached items will not be displayed,
7993    ///
7994    /// and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>.
7995    ///
7996    /// This parameter is supported from API version 19.
7997    ///
7998    ///
7999    ///
8000    /// Format of the return value [`ArkUI_AttributeItem`]:
8001    ///
8002    /// .value[0].i32: number of cached items in the swiper adapter.
8003    ///
8004    /// .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 19.
8005    pub const NODE_SWIPER_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001014);
8006    /// Defines the front margin of the wiper.
8007    /// The attribute can be set, reset, and obtained as required through APIs.
8008    ///
8009    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8010    ///
8011    /// .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>
8012    ///
8013    /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
8014    /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
8015    ///
8016    /// Format of the return value [`ArkUI_AttributeItem`]:
8017    ///
8018    /// .value[0].f32: the front margin, the unit is vp.
8019    ///
8020    /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
8021    /// the opposite.
8022    pub const NODE_SWIPER_PREV_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001015);
8023    /// Defines the back margin of the wiper.
8024    /// The attribute can be set, reset, and obtained as required through APIs.
8025    ///
8026    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8027    ///
8028    /// .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>
8029    ///
8030    /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
8031    /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
8032    ///
8033    /// Format of the return value [`ArkUI_AttributeItem`]:
8034    ///
8035    /// .value[0].f32: the back margin, the unit is vp.
8036    ///
8037    /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
8038    /// the opposite.
8039    pub const NODE_SWIPER_NEXT_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001016);
8040    /// Defines the navigation indicator type of the swiper.
8041    /// The attribute can be set, reset, and obtained as required through APIs.
8042    ///
8043    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8044    ///
8045    /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
8046    ///
8047    /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
8048    ///
8049    /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
8050    /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
8051    ///
8052    /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
8053    ///
8054    ///
8055    ///
8056    /// Format of the return value [`ArkUI_AttributeItem`]:
8057    ///
8058    /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
8059    ///
8060    /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
8061    ///
8062    /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
8063    /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
8064    ///
8065    /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
8066    pub const NODE_SWIPER_INDICATOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001017);
8067    /// Set the nested scrolling mode for the Swiper component and parent component.
8068    ///
8069    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8070    ///
8071    /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
8072    /// [`ArkUI_SwiperNestedScrollMode`]
8073    ///
8074    /// The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b>
8075    ///
8076    ///
8077    ///
8078    /// Format of the return value [`ArkUI_AttributeItem`]:
8079    ///
8080    /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
8081    /// [`ArkUI_SwiperNestedScrollMode`]
8082    pub const NODE_SWIPER_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001018);
8083    /// Set the switcher component to flip to the specified page.
8084    ///
8085    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8086    ///
8087    /// .value[0].i32:Specify the index value of the page in Swiper.
8088    ///
8089    /// .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active
8090    /// effect, 0 indicates no active effect, default value is 0。
8091    pub const NODE_SWIPER_SWIPE_TO_INDEX: ArkUI_NodeAttributeType =
8092        ArkUI_NodeAttributeType(1001019);
8093    /// Set to disable component navigation point interaction function。
8094    ///
8095    /// Property setting method parameter [`ArkUI-AttributeItem`] format:
8096    ///
8097    /// .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it
8098    /// indicates that the navigation points are interactive. The default value is true.
8099    ///
8100    /// The return value of the attribute acquisition method is in the format of [`ArkUI-AttributeItem`]:
8101    ///
8102    /// .value[0].i32:Set to disable component navigation point interaction.
8103    pub const NODE_SWIPER_INDICATOR_INTERACTIVE: ArkUI_NodeAttributeType =
8104        ArkUI_NodeAttributeType(1001020);
8105    /// Sets the page flipping mode using the mouse wheel.
8106    ///
8107    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8108    ///
8109    /// .value[0].i32: page flipping mode using the mouse wheel. The parameter type is [`ArkUI_PageFlipMode`].
8110    ///
8111    ///
8112    ///
8113    /// Format of the return value [`ArkUI_PageFlipMode`]:
8114    ///
8115    /// .value[0].i32: page flipping mode using the mouse wheel.
8116    ///
8117    ///
8118    ///
8119    /// Available since API-level: 15
8120    #[cfg(feature = "api-15")]
8121    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8122    pub const NODE_SWIPER_PAGE_FLIP_MODE: ArkUI_NodeAttributeType =
8123        ArkUI_NodeAttributeType(1001021);
8124    /// Defines the minimum main axis size of child element for swiper to works out the display count.
8125    /// This attribute can be set, reset, and obtained as required through APIs.
8126    ///
8127    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8128    ///
8129    /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
8130    ///
8131    /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
8132    /// and <b>1</b> means to turn pages by group. The default value is <b>0</b>.
8133    ///
8134    ///
8135    ///
8136    /// Format of the return value [`ArkUI_AttributeItem`]:
8137    ///
8138    /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
8139    ///
8140    /// .value[1].i32: whether to turn pages by group.
8141    ///
8142    ///
8143    ///
8144    /// Available since API-level: 19
8145    #[cfg(feature = "api-19")]
8146    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8147    pub const NODE_SWIPER_AUTO_FILL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001022);
8148    /// Sets whether to maintain the visible content's position when data is inserted or deleted outside
8149    /// the display area of the <b>Swiper</b> component.
8150    ///
8151    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8152    ///
8153    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
8154    /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
8155    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8156    ///
8157    ///
8158    ///
8159    /// Format of the return value [`ArkUI_AttributeItem`]:
8160    ///
8161    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
8162    /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
8163    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8164    ///
8165    ///
8166    ///
8167    /// Available since API-level: 20
8168    #[cfg(feature = "api-20")]
8169    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8170    pub const NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
8171        ArkUI_NodeAttributeType(1001023);
8172    /// Set the delineation component of the ListItem, supporting property settings, property resets, and
8173    /// property acquisition interfaces.
8174    ///
8175    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8176    ///
8177    /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
8178    ///
8179    ///
8180    ///
8181    /// The return value of the attribute acquisition method [`ArkUI_AttributeItem`] format:
8182    ///
8183    /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
8184    pub const NODE_LIST_ITEM_SWIPE_ACTION: ArkUI_NodeAttributeType =
8185        ArkUI_NodeAttributeType(1004000);
8186    /// Defines the header of the list item group.
8187    /// This attribute can be set, reset, and obtained as required through APIs.
8188    ///
8189    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8190    ///
8191    /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
8192    ///
8193    ///
8194    ///
8195    /// Format of the return value [`ArkUI_AttributeItem`]:
8196    ///
8197    /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
8198    pub const NODE_LIST_ITEM_GROUP_SET_HEADER: ArkUI_NodeAttributeType =
8199        ArkUI_NodeAttributeType(1005000);
8200    /// Defines the footer of the list item group. This attribute can be set, reset, and obtained as
8201    /// required through APIs.
8202    ///
8203    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8204    ///
8205    /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
8206    ///
8207    ///
8208    ///
8209    /// Format of the return value [`ArkUI_AttributeItem`]:
8210    ///
8211    /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
8212    pub const NODE_LIST_ITEM_GROUP_SET_FOOTER: ArkUI_NodeAttributeType =
8213        ArkUI_NodeAttributeType(1005001);
8214    /// Defines the style of the divider for the list items. This attribute can be set, reset, and obtained
8215    /// as required through APIs.
8216    ///
8217    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8218    ///
8219    /// .value[0].u32: color of the divider, in 0xARGB format.
8220    ///
8221    /// .value[1].f32: stroke width of the divider, in vp.
8222    ///
8223    /// .value[2].f32: distance between the divider and the start of the list, in vp.
8224    ///
8225    /// .value[3].f32: distance between the divider and the end of the list, in vp.
8226    ///
8227    ///
8228    ///
8229    ///
8230    /// Format of the return value [`ArkUI_AttributeItem`]:
8231    ///
8232    /// .value[0].u32: color of the divider, in 0xARGB format.
8233    ///
8234    /// .value[1].f32: stroke width of the divider, in vp.
8235    ///
8236    /// .value[2].f32: distance between the divider and the start of the list, in vp.
8237    ///
8238    /// .value[3].f32: distance between the divider and the end of the list, in vp.
8239    ///
8240    pub const NODE_LIST_ITEM_GROUP_SET_DIVIDER: ArkUI_NodeAttributeType =
8241        ArkUI_NodeAttributeType(1005002);
8242    /// Set the default spindle size for the ListItem Group subcomponent.
8243    ///
8244    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8245    ///
8246    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8247    ///
8248    ///
8249    ///
8250    /// Format of the return value [`ArkUI_AttributeItem`]:
8251    ///
8252    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8253    pub const NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
8254        ArkUI_NodeAttributeType(1005003);
8255    /// Defines the list item group adapter.
8256    /// This attribute can be set, reset, and obtained as required through APIs.
8257    ///
8258    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8259    ///
8260    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8261    ///
8262    ///
8263    ///
8264    /// Format of the return value [`ArkUI_AttributeItem`]:
8265    ///
8266    /// .object: [`ArkUI_NodeAdapter`] object.
8267    ///
8268    ///
8269    ///
8270    /// Available since API-level: 15
8271    #[cfg(feature = "api-15")]
8272    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8273    pub const NODE_LIST_ITEM_GROUP_NODE_ADAPTER: ArkUI_NodeAttributeType =
8274        ArkUI_NodeAttributeType(1005004);
8275    /// Defines the horizontal alignment mode of child components in the column.
8276    /// This attribute can be set, reset, and obtained as required through APIs.
8277    ///
8278    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8279    ///
8280    /// .value[0].i32: horizontal alignment mode of child components.
8281    /// The parameter type is [`ArkUI_HorizontalAlignment`].
8282    ///
8283    /// Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>.
8284    ///
8285    ///
8286    ///
8287    /// Format of the return value [`ArkUI_AttributeItem`]:
8288    ///
8289    /// .value[0].i32: horizontal alignment mode of child components.
8290    /// The parameter type is [`ArkUI_HorizontalAlignment`].
8291    pub const NODE_COLUMN_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006000);
8292    /// Defines the vertical alignment mode of child components in the column.
8293    /// This attribute can be set, reset, and obtained as required through APIs.
8294    ///
8295    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8296    ///
8297    /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
8298    ///
8299    /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8300    ///
8301    ///
8302    ///
8303    /// Format of the return value [`ArkUI_AttributeItem`]:
8304    ///
8305    /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
8306    pub const NODE_COLUMN_JUSTIFY_CONTENT: ArkUI_NodeAttributeType =
8307        ArkUI_NodeAttributeType(1006001);
8308    /// Defines the vertical alignment mode of child components in the row.
8309    /// This attribute can be set, reset, and obtained as required through APIs.
8310    ///
8311    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8312    ///
8313    /// .value[0].i32: vertical alignment mode of child components.
8314    /// The parameter type is [`ArkUI_VerticalAlignment`].
8315    ///
8316    /// Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>.
8317    ///
8318    ///
8319    ///
8320    /// Format of the return value [`ArkUI_AttributeItem`]:
8321    ///
8322    /// .value[0].i32: vertical alignment mode of child components.
8323    /// The parameter type is [`ArkUI_VerticalAlignment`].
8324    pub const NODE_ROW_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007000);
8325    /// Defines the horizontal alignment mode of child components in the row.
8326    /// This attribute can be set, reset, and obtained as required through APIs.
8327    ///
8328    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8329    ///
8330    /// .value[0].i32: horizontal alignment mode of child components.
8331    /// The parameter type is [`ArkUI_FlexAlignment`].
8332    ///
8333    /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8334    ///
8335    ///
8336    ///
8337    /// Format of the return value [`ArkUI_AttributeItem`]:
8338    ///
8339    /// .value[0].i32: horizontal alignment mode of child components.
8340    /// The parameter type is [`ArkUI_FlexAlignment`].
8341    pub const NODE_ROW_JUSTIFY_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007001);
8342    /// Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs.
8343    ///
8344    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8345    ///
8346    /// .value[0]?.i32: direction in which flex items are arranged. The parameter type is [`ArkUI_FlexDirection`].
8347    /// The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.
8348    ///
8349    /// .value[1]?.i32: how the flex items are wrapped. The parameter type is [`ArkUI_FlexWrap`].
8350    /// The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.
8351    ///
8352    /// .value[2]?.i32: alignment mode along the main axis. The parameter type is [`ArkUI_FlexAlignment`].
8353    /// The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8354    ///
8355    /// .value[3]?.i32: alignment mode along the cross axis. The parameter type is [`ArkUI_ItemAlignment`].
8356    /// The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.
8357    ///
8358    /// .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is
8359    /// [`ArkUI_FlexAlignment`]. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8360    ///
8361    ///
8362    ///
8363    /// Format of the return value [`ArkUI_AttributeItem`]:
8364    ///
8365    /// .value[0].i32: direction in which flex items are arranged.
8366    ///
8367    /// .value[1].i32: how the flex items are wrapped.
8368    ///
8369    /// .value[2].i32: alignment mode along the main axis.
8370    ///
8371    /// .value[3].i32: alignment mode along the cross axis.
8372    ///
8373    /// .value[4].i32: alignment mode along the cross axis for multi-line content.
8374    pub const NODE_FLEX_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008000);
8375    /// Sets whether the component is being refreshed.
8376    /// This attribute can be set and obtained as required through APIs.
8377    ///
8378    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8379    ///
8380    /// .value[0].i32: The parameter type is 1 or 0.
8381    ///
8382    ///
8383    /// Format of the return value [`ArkUI_AttributeItem`]:
8384    ///
8385    /// .value[0].i32: The parameter type is 1 or 0.
8386    pub const NODE_REFRESH_REFRESHING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009000);
8387    /// Sets the custom content in the pull-down area.
8388    /// This attribute can be set, reset, and obtained as required through APIs.
8389    ///
8390    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8391    ///
8392    /// .object: The parameter type is [`ArkUI_NodeHandle`].
8393    pub const NODE_REFRESH_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009001);
8394    /// Set the pull-down hand coefficient.
8395    /// This attribute can be set, reset, and obtained as required through APIs.
8396    ///
8397    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8398    ///
8399    /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
8400    ///
8401    ///
8402    /// Format of the return value [`ArkUI_AttributeItem`]:
8403    ///
8404    /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
8405    pub const NODE_REFRESH_PULL_DOWN_RATIO: ArkUI_NodeAttributeType =
8406        ArkUI_NodeAttributeType(1009002);
8407    /// Sets the pull-down offset that initiates a refresh.
8408    /// This attribute can be set, reset, and obtained as required through APIs.
8409    ///
8410    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8411    ///
8412    /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
8413    ///
8414    ///
8415    /// Format of the return value [`ArkUI_AttributeItem`]:
8416    ///
8417    /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
8418    pub const NODE_REFRESH_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009003);
8419    /// Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>.
8420    /// This attribute can be set, reset, and obtained as required through APIs.
8421    ///
8422    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8423    ///
8424    /// .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and
8425    /// <b>false</b> means the opposite.
8426    ///
8427    ///
8428    /// Format of the return value [`ArkUI_AttributeItem`]:
8429    ///
8430    /// .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and
8431    /// <b>0</b> means the opposite.
8432    pub const NODE_REFRESH_PULL_TO_REFRESH: ArkUI_NodeAttributeType =
8433        ArkUI_NodeAttributeType(1009004);
8434    /// Sets the maximum pull-down distance for refreshing.
8435    /// This attribute can be set, reset, and obtained through the API as required.
8436    ///
8437    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8438    ///
8439    /// .value[0].f32: maximum pull-down distance, in vp.
8440    ///
8441    ///
8442    /// Format of the return value [`ArkUI_AttributeItem`]:
8443    ///
8444    /// .value[0].f32: maximum pull-down distance, in vp.
8445    ///
8446    ///
8447    /// Available since API-level: 20
8448    #[cfg(feature = "api-20")]
8449    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8450    pub const NODE_REFRESH_MAX_PULL_DOWN_DISTANCE: ArkUI_NodeAttributeType =
8451        ArkUI_NodeAttributeType(1009005);
8452    /// Defines the main axis direction of the <b><WaterFlow></b> component layout.
8453    /// This attribute can be set, reset, and obtained as required through APIs.
8454    ///
8455    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8456    ///
8457    /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
8458    ///
8459    ///
8460    /// Format of the return value [`ArkUI_AttributeItem`]:
8461    ///
8462    /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
8463    pub const NODE_WATER_FLOW_LAYOUT_DIRECTION: ArkUI_NodeAttributeType =
8464        ArkUI_NodeAttributeType(1010000);
8465    /// Sets the number of columns in the water flow layout. If this parameter is not set, one column is used
8466    /// by default. This attribute can be set, reset, and obtained as required through APIs.
8467    /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
8468    /// component's full width, the second column 1/4, and the third column 2/4.
8469    /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
8470    /// columns based on the specified column width <b>track-size</b>.
8471    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8472    /// or a valid number.
8473    ///
8474    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8475    ///
8476    /// .string: number of columns in the layout.
8477    ///
8478    ///
8479    ///
8480    /// Format of the return value [`ArkUI_AttributeItem`]:
8481    ///
8482    /// .string: number of columns in the layout.
8483    pub const NODE_WATER_FLOW_COLUMN_TEMPLATE: ArkUI_NodeAttributeType =
8484        ArkUI_NodeAttributeType(1010001);
8485    /// Sets the number of rows in the water flow layout. If this parameter is not set, one row is used
8486    /// by default. This attribute can be set, reset, and obtained as required through APIs.
8487    /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
8488    /// component's full height, the second row 1/4, and the third row 2/4.
8489    /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
8490    /// based on the specified row height <b>track-size</b>.
8491    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8492    /// or a valid number.
8493    ///
8494    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8495    ///
8496    /// .string: number of rows in the layout.
8497    ///
8498    ///
8499    ///
8500    /// Format of the return value [`ArkUI_AttributeItem`]:
8501    ///
8502    /// .string: number of rows in the layout.
8503    pub const NODE_WATER_FLOW_ROW_TEMPLATE: ArkUI_NodeAttributeType =
8504        ArkUI_NodeAttributeType(1010002);
8505    /// Sets the gap between columns.
8506    /// This attribute can be set, reset, and obtained as required through APIs.
8507    ///
8508    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8509    ///
8510    /// .value[0].f32: gap between columns, in vp.
8511    ///
8512    ///
8513    ///
8514    /// Format of the return value [`ArkUI_AttributeItem`]:
8515    ///
8516    /// .value[0].f32: gap between columns, in vp.
8517    pub const NODE_WATER_FLOW_COLUMN_GAP: ArkUI_NodeAttributeType =
8518        ArkUI_NodeAttributeType(1010003);
8519    /// Sets the gap between rows.
8520    /// This attribute can be set, reset, and obtained as required through APIs.
8521    ///
8522    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8523    ///
8524    /// .value[0].f32: gap between lines, in vp.
8525    ///
8526    ///
8527    ///
8528    /// Format of the return value [`ArkUI_AttributeItem`]:
8529    ///
8530    /// .value[0].f32: gap between lines, in vp.
8531    pub const NODE_WATER_FLOW_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010004);
8532    /// Defines the water flow section configuration.
8533    /// This attribute can be set, reset, and obtained as required through APIs.
8534    ///
8535    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8536    ///
8537    /// .value[0].i32: An index calculated from 0 is converted to an integer,
8538    /// indicating that you want to start changing the position of the group.
8539    /// .object: [`ArkUI_WaterFlowSectionOption`] object.
8540    ///
8541    ///
8542    ///
8543    /// Format of the return value [`ArkUI_AttributeItem`]:
8544    ///
8545    /// .object: [`ArkUI_WaterFlowSectionOption`] object.
8546    pub const NODE_WATER_FLOW_SECTION_OPTION: ArkUI_NodeAttributeType =
8547        ArkUI_NodeAttributeType(1010005);
8548    /// Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs.
8549    ///
8550    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8551    ///
8552    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8553    pub const NODE_WATER_FLOW_NODE_ADAPTER: ArkUI_NodeAttributeType =
8554        ArkUI_NodeAttributeType(1010006);
8555    /// Sets the number of cached items in the water flow adapter.
8556    /// This attribute can be set, reset, and obtained as required through APIs.
8557    ///
8558    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8559    ///
8560    /// value[0].i32:number of cached items in the water flow adapter.
8561    ///
8562    /// .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
8563    /// This parameter is supported since API version 16.
8564    ///
8565    ///
8566    ///
8567    /// Format of the return value [`ArkUI_AttributeItem`]:
8568    ///
8569    /// .value[0].i32: number of cached items in the water flow adapter.
8570    ///
8571    /// .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
8572    /// This parameter is supported since API version 16.
8573    pub const NODE_WATER_FLOW_CACHED_COUNT: ArkUI_NodeAttributeType =
8574        ArkUI_NodeAttributeType(1010007);
8575    /// Set the custom display component at the end of the waterfall flow component.
8576    ///
8577    /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
8578    ///
8579    /// .object: Parameter type [`ArkUI_NodeHandle`].
8580    pub const NODE_WATER_FLOW_FOOTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010008);
8581    /// Scroll to the specified index.
8582    ///
8583    /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
8584    /// lead to performance issues when loading a large number of items.
8585    ///
8586    ///
8587    ///
8588    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8589    ///
8590    /// .value[0].i32:The index value of the target element to be slid to in the current container.
8591    ///
8592    /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
8593    /// 1 indicates an action and 0 indicates no action. Default value is 0。
8594    ///
8595    /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
8596    /// [`ArkUI_ScrollAlignment`]. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。
8597    pub const NODE_WATER_FLOW_SCROLL_TO_INDEX: ArkUI_NodeAttributeType =
8598        ArkUI_NodeAttributeType(1010009);
8599    /// Defines the size constraints to apply to water flow items.
8600    /// This attribute can be set, reset, and obtained as required through APIs.
8601    ///
8602    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8603    ///
8604    /// .value[0].f32: minimum width, in vp.
8605    ///
8606    /// .value[1].f32: maximum width, in vp.
8607    ///
8608    /// .value[2].f32: minimum height, in vp.
8609    ///
8610    /// .value[3].f32: maximum height, in vp.
8611    ///
8612    ///
8613    ///
8614    /// Format of the return value [`ArkUI_AttributeItem`]:
8615    ///
8616    /// .value[0].f32: minimum width, in vp.
8617    ///
8618    /// .value[1].f32: maximum width, in vp.
8619    ///
8620    /// .value[2].f32: minimum height, in vp.
8621    ///
8622    /// .value[3].f32: maximum height, in vp.
8623    pub const NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE: ArkUI_NodeAttributeType =
8624        ArkUI_NodeAttributeType(1010010);
8625    /// Defines the layout mode of the <b><WaterFlow></b> component.
8626    /// This attribute can be set, reset, and obtained as required through APIs.
8627    ///
8628    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8629    ///
8630    /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
8631    ///
8632    ///
8633    /// Format of the return value [`ArkUI_AttributeItem`]:
8634    ///
8635    /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
8636    ///
8637    /// Available since API-level: 18
8638    #[cfg(feature = "api-18")]
8639    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8640    pub const NODE_WATER_FLOW_LAYOUT_MODE: ArkUI_NodeAttributeType =
8641        ArkUI_NodeAttributeType(1010011);
8642    /// Defines whether the <b>WaterFlow</b> component loads child nodes synchronously.
8643    /// This attribute can be set, reset, and obtained as required through APIs.
8644    ///
8645    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8646    ///
8647    /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
8648    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8649    ///
8650    ///
8651    ///
8652    /// Format of the return value [`ArkUI_AttributeItem`]:
8653    ///
8654    /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
8655    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8656    ///
8657    ///
8658    ///
8659    /// Available since API-level: 20
8660    #[cfg(feature = "api-20")]
8661    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8662    pub const NODE_WATER_FLOW_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010012);
8663    /// Set the auxiliary line in the RelativeContaine container, supporting property setting,
8664    /// property reset and property acquisition interfaces.
8665    ///
8666    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8667    ///
8668    /// .object: Auxiliary lines within the RelativeContaine container:
8669    ///
8670    ///
8671    ///
8672    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
8673    ///
8674    /// .object: Auxiliary lines within the RelativeContaine container:
8675    pub const NODE_RELATIVE_CONTAINER_GUIDE_LINE: ArkUI_NodeAttributeType =
8676        ArkUI_NodeAttributeType(1012000);
8677    /// Sets the barrier within the RelativeContaine container and supports property setting,
8678    /// property reset and property acquisition interfaces.
8679    ///
8680    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8681    ///
8682    /// .object: Auxiliary lines within the RelativeContaine container:
8683    ///
8684    ///
8685    ///
8686    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
8687    ///
8688    /// .object: Barrier within the RelativeContaine container:
8689    pub const NODE_RELATIVE_CONTAINER_BARRIER: ArkUI_NodeAttributeType =
8690        ArkUI_NodeAttributeType(1012001);
8691    /// Sets the number of columns in the grid layout. If this parameter is not set, one column is used
8692    /// by default. This attribute can be set, reset, and obtained as required through APIs.
8693    /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
8694    /// component's full width, the second column 1/4, and the third column 2/4.
8695    /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
8696    /// columns based on the specified column width <b>track-size</b>.
8697    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8698    /// or a valid number.
8699    ///
8700    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8701    ///
8702    /// .string: number of columns in the layout.
8703    ///
8704    ///
8705    ///
8706    /// Format of the return value [`ArkUI_AttributeItem`]:
8707    ///
8708    /// .string: number of columns in the layout.
8709    pub const NODE_GRID_COLUMN_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013000);
8710    /// Sets the number of rows in the grid layout. If this parameter is not set, one row is used
8711    /// by default. This attribute can be set, reset, and obtained as required through APIs.
8712    /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
8713    /// component's full height, the second row 1/4, and the third row 2/4.
8714    /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
8715    /// based on the specified row height <b>track-size</b>.
8716    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8717    /// or a valid number.
8718    ///
8719    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8720    ///
8721    /// .string: number of rows in the layout.
8722    ///
8723    ///
8724    ///
8725    /// Format of the return value [`ArkUI_AttributeItem`]:
8726    ///
8727    /// .string: number of rows in the layout.
8728    pub const NODE_GRID_ROW_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013001);
8729    /// Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
8730    ///
8731    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8732    ///
8733    /// .value[0].f32: gap between columns, in vp.
8734    ///
8735    ///
8736    ///
8737    /// Format of the return value [`ArkUI_AttributeItem`]:
8738    ///
8739    /// .value[0].f32: gap between columns, in vp.
8740    pub const NODE_GRID_COLUMN_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013002);
8741    /// Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
8742    ///
8743    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8744    ///
8745    /// .value[0].f32: gap between lines, in vp.
8746    ///
8747    ///
8748    ///
8749    /// Format of the return value [`ArkUI_AttributeItem`]:
8750    ///
8751    /// .value[0].f32: gap between lines, in vp.
8752    pub const NODE_GRID_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013003);
8753    /// Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs.
8754    ///
8755    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8756    ///
8757    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8758    pub const NODE_GRID_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013004);
8759    /// Sets the number of cached items in the grid adapter.
8760    /// This attribute can be set, reset, and obtained as required through APIs.
8761    ///
8762    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8763    ///
8764    /// .value[0].i32: number of cached items in the grid adapter.
8765    pub const NODE_GRID_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013005);
8766    /// Defines the focus wrap mode for the <b>Grid</b> component.
8767    /// This attribute can be set, reset, and obtained as required through APIs.
8768    ///
8769    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8770    ///
8771    /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
8772    /// The parameter type is [`ArkUI_FocusWrapMode`].
8773    ///
8774    ///
8775    ///
8776    /// Format of the return value [`ArkUI_AttributeItem`]:
8777    ///
8778    /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
8779    /// The parameter type is [`ArkUI_FocusWrapMode`].
8780    ///
8781    ///
8782    ///
8783    /// Available since API-level: 20
8784    #[cfg(feature = "api-20")]
8785    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8786    pub const NODE_GRID_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013006);
8787    /// Defines whether the <b>Grid</b> component loads child nodes synchronously.
8788    /// This attribute can be set, reset, and obtained as required through APIs.
8789    ///
8790    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8791    ///
8792    /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
8793    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8794    ///
8795    ///
8796    ///
8797    /// Format of the return value [`ArkUI_AttributeItem`]:
8798    ///
8799    /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
8800    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8801    ///
8802    ///
8803    ///
8804    /// Available since API-level: 20
8805    #[cfg(feature = "api-20")]
8806    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8807    pub const NODE_GRID_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013007);
8808    /// Defines the column width of the text picker.
8809    /// This attribute can be set, reset, and obtained as required through APIs.
8810    ///
8811    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8812    ///
8813    /// .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.
8814    ///
8815    /// .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8816    ///
8817    /// .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8818    ///
8819    /// ...
8820    ///
8821    /// .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8822    ///
8823    ///
8824    ///
8825    /// Format of the return value [`ArkUI_AttributeItem`]:
8826    ///
8827    /// value[0].f32: percentage of total width.
8828    ///
8829    /// value[1].f32: percentage of total width.
8830    ///
8831    /// value[2].f32: percentage of total width.
8832    ///
8833    /// ...
8834    ///
8835    /// value[n].f32: percentage of total width.
8836    ///
8837    ///
8838    ///
8839    /// Available since API-level: 18
8840    #[cfg(feature = "api-18")]
8841    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8842    pub const NODE_TEXT_PICKER_COLUMN_WIDTHS: ArkUI_NodeAttributeType =
8843        ArkUI_NodeAttributeType(15009);
8844    /// Defines the disabled date range of the calendar picker.
8845    /// This attribute can be set, reset, and obtained as required through APIs.
8846    ///
8847    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8848    ///
8849    /// .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`,
8850    /// ...,`nth start date`,`nth end date` of the disabled date range.
8851    ///
8852    /// Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31
8853    ///
8854    ///
8855    ///
8856    /// Format of the return value [`ArkUI_AttributeItem`]:
8857    ///
8858    /// .string: A string of dates.
8859    ///
8860    ///
8861    ///
8862    /// Available since API-level: 19
8863    #[cfg(feature = "api-19")]
8864    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8865    pub const NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE: ArkUI_NodeAttributeType =
8866        ArkUI_NodeAttributeType(16006);
8867    /// Defines whether the calendar picker marks today.
8868    /// This attribute can be set, reset, and obtained as required through APIs.
8869    ///
8870    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8871    ///
8872    /// value[0].i32: whether the calendar picker marks today. The default value is <b>false</b>.
8873    ///
8874    ///
8875    ///
8876    /// Format of the return value [`ArkUI_AttributeItem`]:
8877    ///
8878    /// value[0].i32: whether the calendar picker marks today.
8879    ///
8880    ///
8881    ///
8882    /// Available since API-level: 19
8883    #[cfg(feature = "api-19")]
8884    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8885    pub const NODE_CALENDAR_PICKER_MARK_TODAY: ArkUI_NodeAttributeType =
8886        ArkUI_NodeAttributeType(16007);
8887    /// Defines the want used to start EmbeddedAbility.
8888    /// This attribute can be set as required through APIs.
8889    ///
8890    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8891    ///
8892    /// .object: The want of EmbeddedComponent, with parameter type [`AbilityBase_Want`].
8893    /// The default value is <b>nullptr</b>.
8894    ///
8895    ///
8896    ///
8897    /// Available since API-level: 20
8898    #[cfg(feature = "api-20")]
8899    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8900    pub const NODE_EMBEDDED_COMPONENT_WANT: ArkUI_NodeAttributeType =
8901        ArkUI_NodeAttributeType(1016000);
8902    /// Set onError and onTerminated callbacks for EMBEDDED_COMPONENT.
8903    /// This attribute can be set as required through APIs.
8904    ///
8905    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8906    ///
8907    /// .object: The option for EmbeddedComponent, with parameter type [`ArkUI_EmbeddedComponentOption`].
8908    ///
8909    ///
8910    ///
8911    /// Available since API-level: 20
8912    #[cfg(feature = "api-20")]
8913    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8914    pub const NODE_EMBEDDED_COMPONENT_OPTION: ArkUI_NodeAttributeType =
8915        ArkUI_NodeAttributeType(1016001);
8916}
8917#[repr(transparent)]
8918/// Defines the ArkUI style attributes that can be set on the native side.
8919///
8920///
8921/// Available since API-level: 12
8922#[cfg(feature = "api-12")]
8923#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8924#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8925pub struct ArkUI_NodeAttributeType(pub ::core::ffi::c_uint);
8926/// Defines the parameter type of the component callback event.
8927///
8928///
8929/// Available since API-level: 12
8930#[cfg(feature = "api-12")]
8931#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8932#[repr(C)]
8933pub struct ArkUI_NodeComponentEvent {
8934    /// Data array object.
8935    pub data: [ArkUI_NumberValue; 12usize],
8936}
8937/// Defines the string type parameter used by the component callback event.
8938///
8939///
8940/// Available since API-level: 12
8941#[cfg(feature = "api-12")]
8942#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8943#[repr(C)]
8944#[derive(Debug, Copy, Clone)]
8945pub struct ArkUI_StringAsyncEvent {
8946    /// String.
8947    pub pStr: *const ::core::ffi::c_char,
8948}
8949/// Defines a hybrid data structure for component events.
8950///
8951///
8952/// Available since API-level: 15
8953#[cfg(feature = "api-15")]
8954#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8955#[repr(C)]
8956#[derive(Debug, Copy, Clone)]
8957pub struct ArkUI_TextChangeEvent {
8958    /// String data
8959    pub pStr: *const ::core::ffi::c_char,
8960    /// Extended string data
8961    pub pExtendStr: *const ::core::ffi::c_char,
8962    /// Numeric data
8963    pub number: i32,
8964}
8965#[cfg(feature = "api-12")]
8966#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8967impl ArkUI_NodeEventType {
8968    /// Defines the gesture event type.
8969    ///
8970    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8971    /// [`ArkUI_UIInputEvent`].
8972    pub const NODE_TOUCH_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(0);
8973    /// Defines the mount event.
8974    ///
8975    /// This event is triggered when the component is mounted and displayed.
8976    ///
8977    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8978    /// [`ArkUI_NodeComponentEvent`].
8979    ///
8980    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
8981    pub const NODE_EVENT_ON_APPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(1);
8982    /// Defines the unmount event.
8983    ///
8984    /// This event is triggered when the component is unmounted and hidden.
8985    ///
8986    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8987    /// [`ArkUI_NodeComponentEvent`].
8988    ///
8989    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
8990    pub const NODE_EVENT_ON_DISAPPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(2);
8991    /// Defines the area change event.
8992    ///
8993    /// This event is triggered when the component's size, position, or any other attribute that may
8994    /// affect its display area changes.
8995    ///
8996    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8997    /// [`ArkUI_NodeComponentEvent`].
8998    ///
8999    /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
9000    ///
9001    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp.
9002    /// The value type is number.
9003    ///
9004    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp.
9005    /// The value type is number.
9006    ///
9007    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner
9008    /// relative to the parent element's, in vp. The value type is number.
9009    ///
9010    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner
9011    /// relative to the parent element's, in vp. The value type is number.
9012    ///
9013    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner
9014    /// relative to the page's, in vp. The value type is number.
9015    ///
9016    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner
9017    /// relative to the page's, in vp. The value type is number.
9018    ///
9019    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number.
9020    ///
9021    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number.
9022    ///
9023    /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative
9024    /// to the parent element's, in vp. The value type is number.
9025    ///
9026    /// <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative
9027    /// to the parent element's, in vp. The value type is number.
9028    ///
9029    /// <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative
9030    /// to the page's, in vp. The value type is number.
9031    ///
9032    /// <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative
9033    /// to the page's, in vp. The value type is number.
9034    pub const NODE_EVENT_ON_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(3);
9035    /// Defines the focus event.
9036    ///
9037    /// This event is triggered when the component obtains the focus.
9038    ///
9039    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9040    /// [`ArkUI_NodeComponentEvent`].
9041    ///
9042    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9043    pub const NODE_ON_FOCUS: ArkUI_NodeEventType = ArkUI_NodeEventType(4);
9044    /// Defines the blur event.
9045    ///
9046    /// This event is triggered when the component loses the focus.
9047    ///
9048    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9049    /// [`ArkUI_NodeComponentEvent`].
9050    ///
9051    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9052    pub const NODE_ON_BLUR: ArkUI_NodeEventType = ArkUI_NodeEventType(5);
9053    /// Defines the click event.
9054    ///
9055    /// This event is triggered when the component is clicked.
9056    ///
9057    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9058    /// [`ArkUI_NodeComponentEvent`].
9059    ///
9060    /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
9061    ///
9062    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the
9063    /// clicked component's original area, in vp.
9064    ///
9065    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the
9066    /// clicked component's original area, in vp.
9067    ///
9068    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event
9069    /// is triggered and the time when the system starts, in microseconds.
9070    ///
9071    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse,
9072    /// <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key.
9073    ///
9074    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the
9075    /// application window, in vp.
9076    ///
9077    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the
9078    /// application window, in vp.
9079    ///
9080    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the
9081    /// application screen, in vp.
9082    ///
9083    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the
9084    /// application screen, in vp.
9085    pub const NODE_ON_CLICK: ArkUI_NodeEventType = ArkUI_NodeEventType(6);
9086    /// Defines event interception.
9087    ///
9088    /// This event is triggered when the component is touched.
9089    ///
9090    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9091    /// [`ArkUI_UIInputEvent`].
9092    pub const NODE_ON_TOUCH_INTERCEPT: ArkUI_NodeEventType = ArkUI_NodeEventType(7);
9093    /// Defines the visible area change event.
9094    ///
9095    /// This event is triggered when the ratio of the component's visible area to its total area is greater than or less
9096    /// than the threshold.
9097    /// Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>.
9098    ///
9099    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9100    /// [`ArkUI_NodeComponentEvent`].
9101    ///
9102    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9103    ///
9104    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
9105    /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a
9106    /// decrease.
9107    ///
9108    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this
9109    /// callback is invoked.
9110    pub const NODE_EVENT_ON_VISIBLE_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8);
9111    /// Defines the event triggered when the mouse pointer is moved over or away from the component.
9112    ///
9113    ///
9114    ///
9115    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9116    /// [`ArkUI_NodeComponentEvent`].
9117    ///
9118    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9119    ///
9120    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component.
9121    /// The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that
9122    /// the mouse pointer is moved away from the component.
9123    pub const NODE_ON_HOVER: ArkUI_NodeEventType = ArkUI_NodeEventType(9);
9124    /// Defines the click event.
9125    ///
9126    /// This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves
9127    /// within the component.
9128    ///
9129    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9130    /// [`ArkUI_UIInputEvent`].
9131    pub const NODE_ON_MOUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(10);
9132    /// Defines the attach event.
9133    ///
9134    /// This event is triggered when the component is attached.
9135    ///
9136    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9137    /// [`ArkUI_NodeComponentEvent`].
9138    ///
9139    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9140    pub const NODE_EVENT_ON_ATTACH: ArkUI_NodeEventType = ArkUI_NodeEventType(11);
9141    /// Defines the detach event.
9142    ///
9143    /// This event is triggered when the component is detached.
9144    ///
9145    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9146    /// [`ArkUI_NodeComponentEvent`].
9147    ///
9148    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9149    pub const NODE_EVENT_ON_DETACH: ArkUI_NodeEventType = ArkUI_NodeEventType(12);
9150    /// Defines the accessibility action event.
9151    ///
9152    /// This event is triggered when The accessibility operation type has been set and
9153    /// corresponding operations have been carried out.
9154    ///
9155    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9156    /// [`ArkUI_NodeComponentEvent`].
9157    ///
9158    /// [`ArkUI_NodeComponentEvent`] contains one parameters:
9159    ///
9160    /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is
9161    /// [`ArkUI_AccessibilityActionType`]
9162    pub const NODE_ON_ACCESSIBILITY_ACTIONS: ArkUI_NodeEventType = ArkUI_NodeEventType(13);
9163    /// Notifies the listener of the interaction state prior to a drop and drop operation.
9164    ///
9165    /// This event is triggered when a drag operation is about to start on a draggable item.
9166    ///
9167    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9168    /// [`ArkUI_NodeComponentEvent`].
9169    ///
9170    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9171    ///
9172    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to [`ArkUI_PreDragStatus`].
9173    pub const NODE_ON_PRE_DRAG: ArkUI_NodeEventType = ArkUI_NodeEventType(14);
9174    /// Called when the user starts to drag an ite
9175    ///
9176    /// A drag operation is recognized only when the dragged item is moved far enough.
9177    ///
9178    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9179    /// [`ArkUI_NodeEvent`] object.
9180    pub const NODE_ON_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(15);
9181    /// Called when a dragged item enters the boundaries of the current component.
9182    ///
9183    /// The current component refers to the component that listens for this event.
9184    ///
9185    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9186    /// [`ArkUI_NodeEvent`] object.
9187    pub const NODE_ON_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(16);
9188    /// Called when a dragged item moves in the current component.
9189    ///
9190    /// The current component refers to the component that listens for this event.
9191    ///
9192    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9193    /// [`ArkUI_NodeEvent`] object.
9194    pub const NODE_ON_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(17);
9195    /// Called when a dragged item leaves the boundaries of the current component.
9196    ///
9197    /// The current component refers to the component that listens for this event.
9198    ///
9199    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9200    /// [`ArkUI_NodeEvent`] object.
9201    pub const NODE_ON_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(18);
9202    /// Called when a dragged item is dropped on the current component.
9203    /// The component can obtain the drag data for processing through the callback.
9204    ///
9205    /// The current component refers to the component that listens for this event.
9206    ///
9207    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9208    /// [`ArkUI_NodeEvent`] object.
9209    pub const NODE_ON_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(19);
9210    /// Called when a drag operation ends.
9211    /// The drag source can obtain the drag result by registering this callback.
9212    ///
9213    /// A drag operation ends when the dragged item is released.
9214    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9215    /// [`ArkUI_NodeEvent`] object.
9216    pub const NODE_ON_DRAG_END: ArkUI_NodeEventType = ArkUI_NodeEventType(20);
9217    /// Defines the event triggered when a key event occurs.
9218    ///
9219    /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
9220    /// device.
9221    ///
9222    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9223    /// [`ArkUI_NodeComponentEvent`].
9224    ///
9225    ///
9226    ///
9227    /// Available since API-level: 14
9228    #[cfg(feature = "api-14")]
9229    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9230    pub const NODE_ON_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(21);
9231    /// Defines the event triggered before the input method responds to the key action.
9232    ///
9233    /// If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
9234    /// subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
9235    /// and no longer triggered.
9236    /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
9237    /// device.
9238    ///
9239    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9240    /// [`ArkUI_NodeComponentEvent`].
9241    ///
9242    ///
9243    ///
9244    /// Available since API-level: 14
9245    #[cfg(feature = "api-14")]
9246    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9247    pub const NODE_ON_KEY_PRE_IME: ArkUI_NodeEventType = ArkUI_NodeEventType(22);
9248    /// Defines the event triggered when the bound component receives a focus axis event after gaining focus.
9249    ///
9250    /// The event callback is triggered by interactions with a joystick and a focused component.
9251    ///
9252    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9253    /// [`ArkUI_UIInputEvent`].
9254    ///
9255    ///
9256    ///
9257    /// Available since API-level: 15
9258    #[cfg(feature = "api-15")]
9259    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9260    pub const NODE_ON_FOCUS_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(23);
9261    /// Dispatch key event on the component node.
9262    ///
9263    /// When the component node receives a key event, this callback will be triggered instead of dispatching event to its
9264    /// children.
9265    ///
9266    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9267    /// [`ArkUI_NodeComponentEvent`].
9268    ///
9269    ///
9270    ///
9271    /// Available since API-level: 15
9272    #[cfg(feature = "api-15")]
9273    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9274    pub const NODE_DISPATCH_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(24);
9275    /// Defines the event triggered when the bound component receives an axis event.
9276    ///
9277    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9278    /// [`ArkUI_UIInputEvent`].
9279    ///
9280    ///
9281    ///
9282    /// Available since API-level: 17
9283    #[cfg(feature = "api-17")]
9284    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9285    pub const NODE_ON_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(25);
9286    /// Defines the event triggered when the bound component is clicked.
9287    ///
9288    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9289    /// [`ArkUI_UIInputEvent`].
9290    ///
9291    ///
9292    ///
9293    /// Available since API-level: 18
9294    #[cfg(feature = "api-18")]
9295    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
9296    pub const NODE_ON_CLICK_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(26);
9297    /// Defines the event triggered when the mouse pointer hovers over or moves away from a component.
9298    ///
9299    /// This event is triggered when the mouse pointer enters or leaves the component's bounding box.
9300    ///
9301    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9302    /// [`ArkUI_UIInputEvent`].
9303    ///
9304    ///
9305    ///
9306    /// Available since API-level: 17
9307    #[cfg(feature = "api-17")]
9308    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9309    pub const NODE_ON_HOVER_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(27);
9310    /// Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval.
9311    ///
9312    /// The callback is triggered when the ratio of the component's visible area to its total area is greater than or
9313    /// less than the threshold. Before registering the callback, you must configure the threshold and update interval
9314    /// using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>.
9315    ///
9316    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9317    /// [`ArkUI_NodeComponentEvent`].
9318    ///
9319    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9320    ///
9321    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
9322    /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates
9323    /// a decrease.
9324    ///
9325    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area
9326    /// when this callback is invoked.
9327    ///
9328    ///
9329    ///
9330    /// Available since API-level: 17
9331    #[cfg(feature = "api-17")]
9332    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9333    pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT: ArkUI_NodeEventType =
9334        ArkUI_NodeEventType(28);
9335    /// Defines the hover event.
9336    ///
9337    /// The event is triggered when the pointer is hovered by a pen device.
9338    /// within the component.
9339    ///
9340    /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
9341    /// [`ArkUI_UIInputEvent`] object.
9342    ///
9343    ///
9344    /// Available since API-level: 15
9345    #[cfg(feature = "api-15")]
9346    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9347    pub const NODE_ON_HOVER_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(29);
9348    /// Defines the size change event.
9349    ///
9350    /// The event will be triggered when the component size changes.
9351    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9352    /// [`ArkUI_NodeComponentEvent`].
9353    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
9354    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: the width of the old rectangle.
9355    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: the height of the old rectangle.
9356    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the width of the new rectangle.
9357    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: the height of the new rectangle.
9358    ///
9359    /// Available since API-level: 21
9360    #[cfg(feature = "api-21")]
9361    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
9362    pub const NODE_ON_SIZE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(30);
9363    /// Triggers onDetectResultUpdate callback
9364    /// when the text is set to TextDataDetectorConfig and recognized successfully.
9365    ///
9366    /// Trigger this event when TextDataDetectorConfig is set and recognized successfully.
9367    ///
9368    /// When the event callback occurs, the event parameter[`ArkUI_NodeEvent`]The union type in the object is
9369    /// [`ArkUI_StringAsyncEvent`].
9370    ///
9371    /// [`ArkUI_StringAsyncEvent`]contains 1 parameter
9372    ///
9373    /// <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.
9374    pub const NODE_TEXT_ON_DETECT_RESULT_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1000);
9375    /// Defines the long press event for span.
9376    ///
9377    /// The event is triggered when the span is long pressed.
9378    /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
9379    /// [`ArkUI_UIInputEvent`] object.
9380    ///
9381    ///
9382    /// Available since API-level: 20
9383    #[cfg(feature = "api-20")]
9384    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9385    pub const NODE_TEXT_SPAN_ON_LONG_PRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(1001);
9386    /// Defines the image loading success event.
9387    ///
9388    /// This event is triggered when an image is successfully loaded or decoded.
9389    ///
9390    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9391    /// [`ArkUI_NodeComponentEvent`].
9392    ///
9393    /// [`ArkUI_NodeComponentEvent`] contains nine parameters:
9394    ///
9395    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is
9396    /// loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully.
9397    ///
9398    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px.
9399    ///
9400    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px.
9401    ///
9402    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px.
9403    ///
9404    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px.
9405    ///
9406    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the
9407    /// x-axis, in px.
9408    ///
9409    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the
9410    /// y-axis, in px.
9411    ///
9412    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px.
9413    ///
9414    /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px.
9415    pub const NODE_IMAGE_ON_COMPLETE: ArkUI_NodeEventType = ArkUI_NodeEventType(4000);
9416    /// Defines the image loading failure event.
9417    ///
9418    /// This event is triggered when an error occurs during image loading.
9419    ///
9420    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9421    /// [`ArkUI_NodeComponentEvent`].
9422    ///
9423    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9424    ///
9425    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:
9426    ///
9427    /// 401: The image could not be obtained because the image path is invalid.
9428    ///
9429    /// 103101: The image format is not supported.
9430    pub const NODE_IMAGE_ON_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(4001);
9431    /// Defines the SVG animation playback completion event.
9432    ///
9433    /// This event is triggered when the animation playback in the loaded SVG image is complete.
9434    ///
9435    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9436    /// [`ArkUI_NodeComponentEvent`].
9437    ///
9438    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9439    pub const NODE_IMAGE_ON_SVG_PLAY_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(4002);
9440    /// Defines image download process event.
9441    ///
9442    /// This event is triggered when downloading webpage images from page components.
9443    ///
9444    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9445    /// [`ArkUI_NodeComponentEvent`].
9446    ///
9447    /// [`ArkUI_NodeComponentEvent`] contains two parameter:
9448    ///
9449    /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded.
9450    ///
9451    /// <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download.
9452    pub const NODE_IMAGE_ON_DOWNLOAD_PROGRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(4003);
9453    /// Defines the event triggered when the toggle status changes.
9454    ///
9455    ///
9456    ///
9457    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9458    /// [`ArkUI_NodeComponentEvent`].
9459    ///
9460    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9461    ///
9462    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off.
9463    pub const NODE_TOGGLE_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(5000);
9464    /// Defines the event triggered when the text input content changes.
9465    ///
9466    ///
9467    ///
9468    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9469    /// [`ArkUI_StringAsyncEvent`].
9470    ///
9471    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9472    ///
9473    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text input.
9474    pub const NODE_TEXT_INPUT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7000);
9475    /// Defines the event triggered when the Enter key of the text input method is pressed.
9476    ///
9477    ///
9478    ///
9479    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9480    /// [`ArkUI_NodeComponentEvent`].
9481    ///
9482    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9483    ///
9484    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method.
9485    pub const NODE_TEXT_INPUT_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(7001);
9486    /// Defines the event triggered when the cut button on the pasteboard, which displays when the text box
9487    /// is long pressed, is clicked.
9488    ///
9489    ///
9490    ///
9491    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9492    /// [`ArkUI_StringAsyncEvent`].
9493    ///
9494    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9495    ///
9496    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut.
9497    pub const NODE_TEXT_INPUT_ON_CUT: ArkUI_NodeEventType = ArkUI_NodeEventType(7002);
9498    /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box
9499    /// is long pressed, is clicked.
9500    ///
9501    ///
9502    ///
9503    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9504    /// [`ArkUI_StringAsyncEvent`].
9505    ///
9506    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9507    ///
9508    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
9509    pub const NODE_TEXT_INPUT_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(7003);
9510    /// Defines the event triggered when the text selection position changes.
9511    ///
9512    ///
9513    ///
9514    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9515    /// [`ArkUI_NodeComponentEvent`].
9516    ///
9517    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9518    ///
9519    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
9520    ///
9521    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
9522    pub const NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
9523        ArkUI_NodeEventType(7004);
9524    /// Defines the event triggered when the input status changes.
9525    ///
9526    ///
9527    ///
9528    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9529    /// [`ArkUI_NodeComponentEvent`].
9530    ///
9531    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9532    ///
9533    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
9534    pub const NODE_TEXT_INPUT_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7005);
9535    /// textInput This event is triggered when the input content changes.
9536    ///
9537    /// Conditions for triggering this event: When the input content changes.
9538    ///
9539    /// When the event callback occurs, the union type in the event parameter
9540    /// [`ArkUI_NodeEvent`] object is [`ArkUI_NodeComponentEvent`].
9541    ///
9542    /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
9543    ///
9544    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
9545    ///
9546    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
9547    pub const NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
9548        ArkUI_NodeEventType(7006);
9549    /// Defines the event triggered when matching with the regular expression specified by
9550    /// <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails.
9551    ///
9552    ///
9553    ///
9554    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9555    /// [`ArkUI_StringAsyncEvent`].
9556    ///
9557    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9558    ///
9559    /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
9560    pub const NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType =
9561        ArkUI_NodeEventType(7007);
9562    /// This callback is triggered when the text content is scrolled.
9563    ///
9564    ///
9565    ///
9566    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9567    /// [`ArkUI_NodeComponentEvent`].
9568    ///
9569    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9570    ///
9571    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
9572    ///
9573    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
9574    ///
9575    /// the text in the content area.
9576    pub const NODE_TEXT_INPUT_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(7008);
9577    /// Defines the event triggered when text is about to be entered.
9578    ///
9579    /// The event parameter is [`ArkUI_NodeEvent`].
9580    ///
9581    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9582    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9583    ///
9584    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9585    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9586    ///
9587    /// # Returns
9588    ///
9589    /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
9590    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9591    pub const NODE_TEXT_INPUT_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7009);
9592    /// Defines the event triggered when text is entered.
9593    ///
9594    /// The event parameter is [`ArkUI_NodeEvent`].
9595    ///
9596    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9597    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9598    ///
9599    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9600    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9601    pub const NODE_TEXT_INPUT_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7010);
9602    /// Defines the event triggered when text is about to be deleted.
9603    ///
9604    /// The event parameter is [`ArkUI_NodeEvent`].
9605    ///
9606    /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
9607    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9608    ///
9609    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9610    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9611    /// forward-delete.
9612    ///
9613    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9614    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9615    ///
9616    /// # Returns
9617    ///
9618    /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
9619    ///
9620    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9621    pub const NODE_TEXT_INPUT_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7011);
9622    /// Defines the event triggered when text is deleted.
9623    ///
9624    /// The event parameter is [`ArkUI_NodeEvent`].
9625    ///
9626    /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
9627    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9628    ///
9629    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9630    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9631    /// forward-delete.
9632    ///
9633    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9634    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9635    pub const NODE_TEXT_INPUT_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7012);
9636    /// Defines the event triggered when content (including preview text) changes in the <b>TextInput</b>
9637    /// component.
9638    ///
9639    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9640    ///
9641    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9642    ///
9643    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
9644    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
9645    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
9646    ///
9647    ///
9648    /// Available since API-level: 15
9649    #[cfg(feature = "api-15")]
9650    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9651    pub const NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
9652        ArkUI_NodeEventType(7013);
9653    /// Defines the event triggered before content changes
9654    ///
9655    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9656    ///
9657    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9658    ///
9659    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
9660    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
9661    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
9662    ///
9663    ///
9664    /// Available since API-level: 20
9665    #[cfg(feature = "api-20")]
9666    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9667    pub const NODE_TEXT_INPUT_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7014);
9668    /// Defines the event triggered when the input in the text box changes.
9669    ///
9670    ///
9671    ///
9672    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9673    /// [`ArkUI_StringAsyncEvent`].
9674    ///
9675    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9676    ///
9677    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text entered.
9678    pub const NODE_TEXT_AREA_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8000);
9679    /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box is
9680    /// long pressed, is clicked.
9681    ///
9682    ///
9683    ///
9684    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9685    /// [`ArkUI_StringAsyncEvent`].
9686    ///
9687    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9688    ///
9689    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
9690    pub const NODE_TEXT_AREA_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(8001);
9691    /// Defines the event triggered when the text selection position changes.
9692    ///
9693    ///
9694    ///
9695    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9696    /// [`ArkUI_NodeComponentEvent`].
9697    ///
9698    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9699    ///
9700    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
9701    ///
9702    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
9703    pub const NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
9704        ArkUI_NodeEventType(8002);
9705    /// Defines the event triggered when matching with the regular expression specified by
9706    /// <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails.
9707    ///
9708    ///
9709    ///
9710    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9711    /// [`ArkUI_StringAsyncEvent`].
9712    ///
9713    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9714    ///
9715    /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
9716    pub const NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(8003);
9717    /// This callback is triggered when the text content is scrolled.
9718    ///
9719    ///
9720    ///
9721    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9722    /// [`ArkUI_NodeComponentEvent`].
9723    ///
9724    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9725    ///
9726    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
9727    ///
9728    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
9729    ///
9730    /// the text in the content area.
9731    pub const NODE_TEXT_AREA_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(8004);
9732    /// Defines the event triggered when the input status changes.
9733    ///
9734    ///
9735    ///
9736    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9737    ///
9738    /// [`ArkUI_NodeComponentEvent`].
9739    ///
9740    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9741    ///
9742    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
9743    pub const NODE_TEXT_AREA_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8005);
9744    /// Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box.
9745    ///
9746    /// This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>.
9747    ///
9748    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9749    ///
9750    /// [`ArkUI_NodeComponentEvent`].
9751    ///
9752    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9753    ///
9754    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key.
9755    pub const NODE_TEXT_AREA_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(8006);
9756    /// textArea This event is triggered when the input content changes.
9757    ///
9758    /// Conditions for triggering this event: When the input content changes.
9759    ///
9760    /// When the event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
9761    ///
9762    /// [`ArkUI_NodeComponentEvent`].
9763    ///
9764    /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
9765    ///
9766    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
9767    ///
9768    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
9769    pub const NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
9770        ArkUI_NodeEventType(8007);
9771    /// Defines the event triggered when text is about to be entered.
9772    ///
9773    /// The event parameter is [`ArkUI_NodeEvent`].
9774    ///
9775    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9776    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9777    ///
9778    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9779    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9780    ///
9781    /// # Returns
9782    ///
9783    /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
9784    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9785    pub const NODE_TEXT_AREA_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8008);
9786    /// Defines the event triggered when text is entered.
9787    ///
9788    /// The event parameter is [`ArkUI_NodeEvent`].
9789    ///
9790    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9791    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9792    ///
9793    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9794    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9795    pub const NODE_TEXT_AREA_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8009);
9796    /// Defines the event triggered when text is about to be deleted.
9797    ///
9798    /// The event parameter is [`ArkUI_NodeEvent`].
9799    ///
9800    /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
9801    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9802    ///
9803    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9804    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9805    /// forward-delete.
9806    ///
9807    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9808    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9809    ///
9810    /// # Returns
9811    ///
9812    /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
9813    ///
9814    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9815    pub const NODE_TEXT_AREA_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8010);
9816    /// Defines the event triggered when text is deleted.
9817    ///
9818    /// The event parameter is [`ArkUI_NodeEvent`].
9819    ///
9820    /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
9821    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9822    ///
9823    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9824    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9825    /// forward-delete.
9826    ///
9827    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9828    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9829    pub const NODE_TEXT_AREA_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8011);
9830    /// Defines the event triggered when content (including preview text) changes in the <b>TextArea</b>
9831    /// component.
9832    ///
9833    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9834    ///
9835    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9836    ///
9837    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
9838    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
9839    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
9840    ///
9841    ///
9842    /// Available since API-level: 15
9843    #[cfg(feature = "api-15")]
9844    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9845    pub const NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
9846        ArkUI_NodeEventType(8012);
9847    /// Defines the event triggered before content changes.
9848    ///
9849    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9850    ///
9851    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9852    ///
9853    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
9854    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
9855    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
9856    ///
9857    ///
9858    /// Available since API-level: 20
9859    #[cfg(feature = "api-20")]
9860    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9861    pub const NODE_TEXT_AREA_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8013);
9862    /// Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes.
9863    ///
9864    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9865    /// [`ArkUI_NodeComponentEvent`].
9866    ///
9867    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.
9868    pub const NODE_CHECKBOX_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(11000);
9869    /// Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component.
9870    ///
9871    ///
9872    ///
9873    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9874    /// [`ArkUI_NodeComponentEvent`].
9875    ///
9876    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
9877    ///
9878    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date.
9879    ///
9880    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11].
9881    ///
9882    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date.
9883    pub const NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE: ArkUI_NodeEventType =
9884        ArkUI_NodeEventType(13000);
9885    /// Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component.
9886    ///
9887    ///
9888    ///
9889    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9890    /// [`ArkUI_NodeComponentEvent`].
9891    ///
9892    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9893    ///
9894    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23].
9895    ///
9896    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59].
9897    pub const NODE_TIME_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(14000);
9898    /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component.
9899    ///
9900    ///
9901    ///
9902    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9903    /// [`ArkUI_NodeComponentEvent`].
9904    ///
9905    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9906    ///
9907    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
9908    pub const NODE_TEXT_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(15000);
9909    /// Defines the event triggered when an item is selected and scrolling has stopped in the
9910    /// <b>ARKUI_NODE_TEXT_PICKER</b> component.
9911    ///
9912    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9913    /// [`ArkUI_NodeComponentEvent`].
9914    ///
9915    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9916    ///
9917    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
9918    ///
9919    ///
9920    ///
9921    /// Available since API-level: 14
9922    #[cfg(feature = "api-14")]
9923    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9924    pub const NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType =
9925        ArkUI_NodeEventType(15001);
9926    /// Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>.
9927    ///
9928    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9929    /// [`ArkUI_NodeComponentEvent`].
9930    ///
9931    /// <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date.
9932    ///
9933    /// <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date.
9934    ///
9935    /// <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date.
9936    pub const NODE_CALENDAR_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType =
9937        ArkUI_NodeEventType(16000);
9938    /// Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked.
9939    ///
9940    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9941    /// [`ArkUI_NodeComponentEvent`].
9942    ///
9943    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9944    ///
9945    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value.
9946    ///
9947    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.
9948    pub const NODE_SLIDER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(17000);
9949    /// Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO.
9950    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9951    ///
9952    /// [`ArkUI_NodeComponentEvent`].
9953    ///
9954    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9955    ///
9956    /// ArkUI_NodeComponentEvent.data[0].i32: option button status.
9957    pub const NODE_RADIO_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(18000);
9958    /// Defines the event callback function triggered when the animation starts to play.
9959    ///
9960    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9961    ///
9962    /// [`ArkUI_NodeComponentEvent`].
9963    ///
9964    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9965    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_START: ArkUI_NodeEventType = ArkUI_NodeEventType(19000);
9966    /// Defines the event callback function triggered when the animation playback is paused.
9967    ///
9968    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9969    ///
9970    /// [`ArkUI_NodeComponentEvent`].
9971    ///
9972    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9973    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(19001);
9974    /// Defines the event callback function triggered when the animation playback is repeated.
9975    ///
9976    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9977    ///
9978    /// [`ArkUI_NodeComponentEvent`].
9979    ///
9980    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9981    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT: ArkUI_NodeEventType = ArkUI_NodeEventType(19002);
9982    /// Defines the event callback function when the animation playback returns to the initial state.
9983    ///
9984    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9985    ///
9986    /// [`ArkUI_NodeComponentEvent`].
9987    ///
9988    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9989    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL: ArkUI_NodeEventType = ArkUI_NodeEventType(19003);
9990    /// Defines the event callback function triggered when the animation playback is complete or stopped.
9991    ///
9992    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9993    ///
9994    /// [`ArkUI_NodeComponentEvent`].
9995    ///
9996    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9997    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(19004);
9998    /// Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b>
9999    /// or checkbox changes.
10000    ///
10001    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10002    /// [`ArkUI_StringAsyncEvent`].
10003    ///
10004    /// <b>ArkUI_StringAsyncEvent.pStr</b>
10005    /// Name: The names of the selected checkboxes;
10006    /// Status:
10007    /// 0: All checkboxes are selected.
10008    /// 1: Some checkboxes are selected.
10009    /// 2: No checkboxes are selected.
10010    ///
10011    ///
10012    ///
10013    /// Available since API-level: 15
10014    #[cfg(feature = "api-15")]
10015    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10016    pub const NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(21000);
10017    /// Defines the event triggered when the index of the currently displayed element of this
10018    /// <b>ARKUI_NODE_SWIPER</b> instance changes.
10019    ///
10020    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10021    /// [`ArkUI_NodeComponentEvent`].
10022    ///
10023    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10024    ///
10025    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10026    pub const NODE_SWIPER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1001000);
10027    /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts.
10028    ///
10029    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10030    /// [`ArkUI_NodeComponentEvent`].
10031    ///
10032    /// [`ArkUI_NodeComponentEvent`] contains five parameters:
10033    ///
10034    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10035    ///
10036    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to.
10037    ///
10038    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the
10039    /// start position of the swiper along the main axis.
10040    ///
10041    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position
10042    /// of the swiper along the main axis.
10043    ///
10044    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity.
10045    pub const NODE_SWIPER_EVENT_ON_ANIMATION_START: ArkUI_NodeEventType =
10046        ArkUI_NodeEventType(1001001);
10047    /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends.
10048    ///
10049    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10050    /// [`ArkUI_NodeComponentEvent`].
10051    ///
10052    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10053    ///
10054    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10055    ///
10056    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
10057    /// start position of the swiper along the main axis.
10058    pub const NODE_SWIPER_EVENT_ON_ANIMATION_END: ArkUI_NodeEventType =
10059        ArkUI_NodeEventType(1001002);
10060    /// Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this
10061    /// <b>ARKUI_NODE_SWIPER</b> instance.
10062    ///
10063    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10064    /// [`ArkUI_NodeComponentEvent`].
10065    ///
10066    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10067    ///
10068    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10069    ///
10070    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
10071    /// start position of the swiper along the main axis.
10072    pub const NODE_SWIPER_EVENT_ON_GESTURE_SWIPE: ArkUI_NodeEventType =
10073        ArkUI_NodeEventType(1001003);
10074    /// Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events.
10075    /// Instruction:
10076    ///
10077    /// 1. If the [`ArkUI_SwiperDisplayModeType`] attribute is set to
10078    ///
10079    /// ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect.
10080    ///
10081    /// 2, circular scenario, set prevMargin and nextMargin attributes,
10082    ///
10083    /// so that Swiper front and back end display the same page, the interface does not take effect.
10084    ///
10085    /// 3. During page sliding, the ContentDidScrollCallback callback is
10086    ///
10087    /// triggered frame-by-frame for all pages in the window.
10088    ///
10089    /// For example, when there are two pages in the window with subscripts 0 and 1,
10090    ///
10091    /// callbacks with index values 0 and 1 are triggered twice per frame.
10092    ///
10093    /// 4, set the swipeByGroup parameter of the displayCount property to
10094    ///
10095    /// true if at least one page in the same group is in the window,
10096    ///
10097    /// A callback is triggered for all pages in the group.
10098    ///
10099    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10100    /// [`ArkUI_NodeComponentEvent`].
10101    ///
10102    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
10103    ///
10104    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component,
10105    ///
10106    /// which is consistent with the index change in the onChange event.
10107    ///
10108    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window.
10109    ///
10110    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to
10111    ///
10112    /// the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page).
10113    ///
10114    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction.
10115    pub const NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL: ArkUI_NodeEventType =
10116        ArkUI_NodeEventType(1001004);
10117    /// Defines the event triggered when content in the swiper component will scroll.
10118    /// Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked.
10119    ///
10120    ///
10121    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10122    /// [`ArkUI_NodeComponentEvent`].
10123    ///
10124    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10125    ///
10126    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page.
10127    ///
10128    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display.
10129    ///
10130    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame.
10131    /// Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating
10132    /// slide forward(e.g. from index=0 to index=1).
10133    ///
10134    ///
10135    ///
10136    /// Available since API-level: 15
10137    #[cfg(feature = "api-15")]
10138    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10139    pub const NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL: ArkUI_NodeEventType =
10140        ArkUI_NodeEventType(1001007);
10141    /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
10142    ///
10143    /// This event is triggered under the following scenarios:
10144    ///
10145    /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
10146    /// the threshold for page turning.
10147    ///
10148    /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
10149    /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
10150    ///
10151    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10152    /// [`ArkUI_NodeComponentEvent`].
10153    ///
10154    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10155    ///
10156    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element.
10157    ///
10158    ///
10159    ///
10160    /// Available since API-level: 18
10161    #[cfg(feature = "api-18")]
10162    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10163    pub const NODE_SWIPER_EVENT_ON_SELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001005);
10164    /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
10165    ///
10166    /// This event is triggered under the following scenarios:
10167    ///
10168    /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
10169    /// the threshold for page turning.
10170    ///
10171    /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
10172    /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
10173    ///
10174    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10175    /// [`ArkUI_NodeComponentEvent`].
10176    ///
10177    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10178    ///
10179    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected.
10180    ///
10181    ///
10182    ///
10183    /// Available since API-level: 18
10184    #[cfg(feature = "api-18")]
10185    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10186    pub const NODE_SWIPER_EVENT_ON_UNSELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001006);
10187    /// Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event.
10188    /// This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging,
10189    /// during the animation phase after the user lifts their finger, or upon stopping of scrolling.
10190    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10191    /// [`ArkUI_NodeComponentEvent`].
10192    ///
10193    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10194    ///
10195    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is
10196    /// [`ArkUI_ScrollState`].
10197    ///
10198    ///
10199    ///
10200    /// Available since API-level: 20
10201    #[cfg(feature = "api-20")]
10202    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10203    pub const NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED: ArkUI_NodeEventType =
10204        ArkUI_NodeEventType(1001008);
10205    /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls.
10206    ///
10207    /// Notes for triggering the event:
10208    ///
10209    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
10210    /// settings, such as keyboard and mouse operations.
10211    ///
10212    /// 2. Scrolling can be initiated by calling the controller API.
10213    ///
10214    /// 3. The out-of-bounds bounce effect is supported.
10215    ///
10216    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10217    /// [`ArkUI_NodeComponentEvent`].
10218    ///
10219    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10220    ///
10221    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset.
10222    ///
10223    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset.
10224    pub const NODE_SCROLL_EVENT_ON_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002000);
10225    /// Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
10226    ///
10227    /// Notes for triggering the event:
10228    ///
10229    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
10230    /// settings, such as keyboard and mouse operations.
10231    ///
10232    /// 2. This event is not triggered when the controller API is called.
10233    ///
10234    /// 3. This event does not support the out-of-bounds bounce effect.
10235    ///
10236    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10237    /// [`ArkUI_NodeComponentEvent`].
10238    ///
10239    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10240    ///
10241    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by.
10242    ///
10243    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state.
10244    ///
10245    /// <b>::ArkUI_NodeComponentEvent</b> contains one return value:
10246    ///
10247    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component
10248    /// needs to scroll based on the real-world situation and return the result in this parameter.
10249    pub const NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN: ArkUI_NodeEventType =
10250        ArkUI_NodeEventType(1002001);
10251    /// Define the enumeration value of the pre sliding trigger event for the scrolling container component.
10252    ///
10253    /// The conditions that trigger this event:
10254    ///
10255    /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
10256    /// operations that trigger scrolling.
10257    ///
10258    /// 2. Called through the rolling controller API interface.
10259    ///
10260    /// 3. Cross boundary rebound.
10261    ///
10262    /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
10263    /// [`ArkUI_NodeComponentEvent`].
10264    ///
10265    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
10266    ///
10267    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
10268    /// the left and negative when scrolling to the right, measured in vp.
10269    ///
10270    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
10271    /// scrolling up and a negative offset when scrolling down, measured in vp.
10272    ///
10273    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
10274    ///
10275    /// parameter type is [`ArkUI_ScrollState`].
10276    ///
10277    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source,
10278    ///
10279    /// parameter type is [`ArkUI_ScrollSource`].
10280    ///
10281    ///
10282    /// # Returns
10283    ///
10284    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10285    pub const NODE_SCROLL_EVENT_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002002);
10286    /// Define the event enumeration value triggered when sliding a scrolling container component.
10287    ///
10288    /// The conditions that trigger this event:
10289    ///
10290    /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
10291    /// operations that trigger scrolling.
10292    ///
10293    /// 2. Called through the rolling controller API interface.
10294    ///
10295    /// 3. Cross boundary rebound.
10296    ///
10297    /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
10298    /// [`ArkUI_NodeComponentEvent`].
10299    ///
10300    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10301    ///
10302    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
10303    /// the left and negative when scrolling to the right, measured in vp.
10304    ///
10305    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
10306    /// scrolling up and a negative offset when scrolling down, measured in vp.
10307    ///
10308    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
10309    ///
10310    /// parameter type is [`ArkUI_ScrollState`].
10311    pub const NODE_SCROLL_EVENT_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002003);
10312    /// Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
10313    ///
10314    /// Notes for triggering the event:
10315    ///
10316    /// 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard
10317    /// and mouse operations.
10318    ///
10319    /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
10320    ///
10321    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10322    /// [`ArkUI_NodeComponentEvent`].
10323    ///
10324    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10325    pub const NODE_SCROLL_EVENT_ON_SCROLL_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002004);
10326    /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops.
10327    ///
10328    /// Notes for triggering the event:
10329    ///
10330    /// 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input
10331    /// settings, such as keyboard and mouse operations.
10332    ///
10333    /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
10334    ///
10335    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10336    /// [`ArkUI_NodeComponentEvent`].
10337    ///
10338    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10339    pub const NODE_SCROLL_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002005);
10340    /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches
10341    /// one of the edges.
10342    ///
10343    /// Notes for triggering the event:
10344    ///
10345    /// 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b>
10346    /// component or other input settings, such as keyboard and mouse operations.
10347    ///
10348    /// 2. Scrolling can be initiated by calling the controller API.
10349    ///
10350    /// 3. The out-of-bounds bounce effect is supported.
10351    ///
10352    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10353    /// [`ArkUI_NodeComponentEvent`].
10354    ///
10355    /// [`ArkUI_NodeComponentEvent`] contains one parameter.
10356    ///
10357    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches.
10358    pub const NODE_SCROLL_EVENT_ON_SCROLL_EDGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1002006);
10359    /// Define that a callback is triggered when the scrolling container component reaches the start position.
10360    /// Condition for triggering the event:
10361    ///
10362    /// Triggered when the component reaches the start position.
10363    ///
10364    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10365    /// [`ArkUI_NodeComponentEvent`].
10366    ///
10367    /// [`ArkUI_NodeComponentEvent`] contains no parameters.
10368    pub const NODE_SCROLL_EVENT_ON_REACH_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002007);
10369    /// Define that a callback is triggered when the scrolling container component ends.
10370    ///
10371    /// Condition for triggering the event:
10372    ///
10373    /// Triggered when the component reaches the end.
10374    ///
10375    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10376    /// [`ArkUI_NodeComponentEvent`].
10377    ///
10378    /// [`ArkUI_NodeComponentEvent`] contains no parameters.
10379    pub const NODE_SCROLL_EVENT_ON_REACH_END: ArkUI_NodeEventType = ArkUI_NodeEventType(1002008);
10380    /// Defines the callback for when the user is about to release the drag on the scrollable container component.
10381    ///
10382    /// This event is triggered when the user is about to release the drag on the scrollable container component.
10383    ///
10384    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10385    /// [`ArkUI_NodeComponentEvent`].
10386    ///
10387    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10388    ///
10389    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp.
10390    ///
10391    ///
10392    ///
10393    /// Available since API-level: 20
10394    #[cfg(feature = "api-20")]
10395    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10396    pub const NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING: ArkUI_NodeEventType =
10397        ArkUI_NodeEventType(1002009);
10398    /// Defines the callback for the <b>Scroll</b> component's zoom event,
10399    /// triggered at the end of each frame during zooming.
10400    ///
10401    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10402    /// is [`ArkUI_NodeComponentEvent`].
10403    ///
10404    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10405    ///
10406    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale.
10407    ///
10408    ///
10409    ///
10410    /// Available since API-level: 20
10411    #[cfg(feature = "api-20")]
10412    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10413    pub const NODE_SCROLL_EVENT_ON_DID_ZOOM: ArkUI_NodeEventType = ArkUI_NodeEventType(1002010);
10414    /// Defines the callback for the <b>Scroll</b> component's zoom start event,
10415    /// triggered when zooming begins.
10416    ///
10417    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10418    /// is [`ArkUI_NodeComponentEvent`].
10419    ///
10420    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10421    ///
10422    ///
10423    ///
10424    /// Available since API-level: 20
10425    #[cfg(feature = "api-20")]
10426    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10427    pub const NODE_SCROLL_EVENT_ON_ZOOM_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002011);
10428    /// Defines the callback for the <b>Scroll</b> component's zoom end event,
10429    /// triggered when zooming ends.
10430    ///
10431    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10432    /// is [`ArkUI_NodeComponentEvent`].
10433    ///
10434    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10435    ///
10436    ///
10437    ///
10438    /// Available since API-level: 20
10439    #[cfg(feature = "api-20")]
10440    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10441    pub const NODE_SCROLL_EVENT_ON_ZOOM_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002012);
10442    /// Defines the callback for when the scrollable will start dragging.
10443    ///
10444    /// This event is triggered when the scrollable will start dragging.
10445    ///
10446    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10447    /// [`ArkUI_NodeComponentEvent`].
10448    ///
10449    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10450    ///
10451    ///
10452    /// Available since API-level: 21
10453    #[cfg(feature = "api-21")]
10454    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10455    pub const NODE_SCROLL_EVENT_ON_WILL_START_DRAGGING: ArkUI_NodeEventType =
10456        ArkUI_NodeEventType(1002013);
10457    /// Defines the callback for when the scrollable did end dragging.
10458    ///
10459    /// This event is triggered when the scrollable did end dragging.
10460    ///
10461    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10462    /// [`ArkUI_NodeComponentEvent`].
10463    ///
10464    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10465    ///
10466    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether start fling animation.
10467    ///
10468    ///
10469    ///
10470    /// Available since API-level: 21
10471    #[cfg(feature = "api-21")]
10472    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10473    pub const NODE_SCROLL_EVENT_ON_DID_STOP_DRAGGING: ArkUI_NodeEventType =
10474        ArkUI_NodeEventType(1002014);
10475    /// Defines the callback for when the scrollable will start fling.
10476    ///
10477    /// This event is triggered when the scrollable will start fling.
10478    ///
10479    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10480    /// [`ArkUI_NodeComponentEvent`].
10481    ///
10482    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10483    ///
10484    ///
10485    /// Available since API-level: 21
10486    #[cfg(feature = "api-21")]
10487    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10488    pub const NODE_SCROLL_EVENT_ON_WILL_START_FLING: ArkUI_NodeEventType =
10489        ArkUI_NodeEventType(1002015);
10490    /// Defines the callback for when the scrollable did end fling.
10491    ///
10492    /// This event is triggered when the scrollable did end fling.
10493    ///
10494    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10495    /// [`ArkUI_NodeComponentEvent`].
10496    ///
10497    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10498    ///
10499    ///
10500    /// Available since API-level: 21
10501    #[cfg(feature = "api-21")]
10502    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10503    pub const NODE_SCROLL_EVENT_ON_DID_STOP_FLING: ArkUI_NodeEventType =
10504        ArkUI_NodeEventType(1002016);
10505    /// Defines the enumerated values of the event triggered,
10506    ///
10507    /// when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area.
10508    ///
10509    /// Condition for triggering the event:
10510    ///
10511    /// This method is triggered once during list initialization.
10512    ///
10513    /// It is triggered when the index value of the first or last subcomponent in the list display area changes.
10514    ///
10515    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10516    /// [`ArkUI_NodeComponentEvent`].
10517    ///
10518    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10519    ///
10520    /// ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of
10521    ///
10522    /// the first child component in the region.
10523    ///
10524    /// ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of
10525    ///
10526    /// the last child component in the region.
10527    ///
10528    /// ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of
10529    ///
10530    /// the subcomponent in the middle of the area.
10531    pub const NODE_LIST_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1003000);
10532    /// Defines the enumerated values of the event triggered
10533    /// before the sliding of the ARKUI_NODE_LIST component.
10534    ///
10535    /// Condition for triggering the event:
10536    ///
10537    /// This event is triggered when the scrolling component triggers scrolling.
10538    ///
10539    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10540    ///
10541    /// Called through the scroll controller API.
10542    ///
10543    /// Out-of-bounds rebound.
10544    ///
10545    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10546    ///
10547    /// [`ArkUI_NodeComponentEvent`].
10548    ///
10549    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10550    ///
10551    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10552    ///
10553    /// The offset is positive when the list content is scrolled up and
10554    ///
10555    /// is negative when the list content is scrolled down.
10556    ///
10557    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10558    ///
10559    /// parameter type is [`ArkUI_ScrollState`].
10560    ///
10561    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
10562    ///
10563    /// parameter type is [`ArkUI_ScrollSource`].
10564    ///
10565    ///
10566    /// # Returns
10567    ///
10568    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10569    pub const NODE_LIST_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003001);
10570    /// Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked.
10571    /// Condition for triggering the event:
10572    ///
10573    /// This event is triggered when the scrolling component triggers scrolling.
10574    ///
10575    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10576    ///
10577    /// Called through the scroll controller API.
10578    ///
10579    /// Out-of-bounds rebound.
10580    ///
10581    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10582    ///
10583    /// [`ArkUI_NodeComponentEvent`].
10584    ///
10585    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10586    ///
10587    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10588    ///
10589    /// The offset is positive when the list content is scrolled up and
10590    ///
10591    /// is negative when the list content is scrolled down.
10592    ///
10593    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10594    pub const NODE_LIST_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003002);
10595    /// Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes.
10596    ///
10597    /// Notes for triggering the event:
10598    ///
10599    /// This event is triggered once when the list is initialized and when the index of the first child component or the
10600    /// next child component in the list display area changes.
10601    /// During index calculation, the list item, header of the list item group, and footer of the list item group each
10602    /// are counted as a child component.
10603    ///
10604    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10605    /// [`ArkUI_NodeComponentEvent`].
10606    ///
10607    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10608    ///
10609    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area.
10610    ///
10611    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts.
10612    /// The type is [`ArkUI_ListItemGroupArea`].
10613    ///
10614    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area
10615    /// in the list item group.
10616    /// If the start of the list display area is not on a list item, the value is <b>-1</b>.
10617    ///
10618    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area.
10619    ///
10620    /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends.
10621    /// The type is [`ArkUI_ListItemGroupArea`].
10622    ///
10623    /// <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the
10624    /// list item group.
10625    /// If the end of the list display area is not on a list item, the value is <b>-1</b>.
10626    ///
10627    ///
10628    ///
10629    /// Available since API-level: 15
10630    #[cfg(feature = "api-15")]
10631    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10632    pub const NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE: ArkUI_NodeEventType =
10633        ArkUI_NodeEventType(1003003);
10634    /// Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes.
10635    ///
10636    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10637    /// [`ArkUI_NodeComponentEvent`].
10638    ///
10639    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10640    ///
10641    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state.
10642    pub const NODE_REFRESH_STATE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009000);
10643    /// Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state.
10644    ///
10645    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10646    /// [`ArkUI_NodeComponentEvent`].
10647    ///
10648    /// [`ArkUI_NodeComponentEvent`] does not contain parameters:
10649    pub const NODE_REFRESH_ON_REFRESH: ArkUI_NodeEventType = ArkUI_NodeEventType(1009001);
10650    /// Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes.
10651    ///
10652    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10653    /// [`ArkUI_NodeComponentEvent`].
10654    ///
10655    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10656    ///
10657    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance.
10658    pub const NODE_REFRESH_ON_OFFSET_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009002);
10659    /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll.
10660    ///
10661    /// Notes for triggering the event:
10662    ///
10663    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other
10664    /// input settings, such as keyboard and mouse operations.
10665    ///
10666    /// 2. Scrolling can be initiated by calling the controller API.
10667    ///
10668    /// 3. The out-of-bounds bounce effect is supported.
10669    ///
10670    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10671    /// [`ArkUI_NodeComponentEvent`].
10672    ///
10673    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10674    ///
10675    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10676    ///
10677    /// The offset is positive when the list content is scrolled up and
10678    ///
10679    /// is negative when the list content is scrolled down.
10680    ///
10681    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10682    ///
10683    /// parameter type is [`ArkUI_ScrollState`].
10684    ///
10685    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
10686    ///
10687    /// parameter type is [`ArkUI_ScrollSource`].
10688    ///
10689    ///
10690    /// # Returns
10691    ///
10692    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10693    pub const NODE_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010000);
10694    /// Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides.
10695    /// Condition for triggering the event:
10696    ///
10697    /// This event is triggered when the scrolling component triggers scrolling.
10698    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10699    ///
10700    /// Called through the scroll controller API.
10701    ///
10702    /// Out-of-bounds rebound.
10703    ///
10704    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10705    ///
10706    /// [`ArkUI_NodeComponentEvent`].
10707    ///
10708    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10709    ///
10710    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10711    ///
10712    /// The offset is positive when the content is scrolled up and is negative when the content is scrolled down.
10713    ///
10714    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10715    pub const NODE_WATER_FLOW_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010001);
10716    /// Defines the enumerated values of the event triggered,
10717    /// when the subcomponent of the start position or end position displayed in the current waterfall changes.
10718    /// Condition for triggering the event:
10719    ///
10720    /// This event is triggered when the index value of the
10721    ///
10722    /// first or last subcomponent in the waterfall display area changes.
10723    ///
10724    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10725    ///
10726    /// [`ArkUI_NodeComponentEvent`].
10727    ///
10728    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10729    ///
10730    /// ArkUI_NodeComponentEvent.data[0].i32: The index value of the
10731    ///
10732    /// start position of the currently displayed WaterFlow.
10733    ///
10734    /// ArkUI_NodeComponentEvent.data[1].i32: The index value of
10735    ///
10736    /// the end position of the currently displayed waterfall.
10737    pub const NODE_WATER_FLOW_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1010002);
10738}
10739#[repr(transparent)]
10740/// Enumerates the event types supported by the NativeNode component.
10741///
10742///
10743/// Available since API-level: 12
10744#[cfg(feature = "api-12")]
10745#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10746#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10747pub struct ArkUI_NodeEventType(pub ::core::ffi::c_uint);
10748/// Defines the common structure type of a component event.
10749///
10750///
10751/// Available since API-level: 12
10752#[cfg(feature = "api-12")]
10753#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10754#[repr(C)]
10755pub struct ArkUI_NodeEvent {
10756    _unused: [u8; 0],
10757}
10758#[cfg(feature = "api-12")]
10759#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10760impl ArkUI_NodeDirtyFlag {
10761    /// Remeasure.
10762    ///
10763    /// When this type of flag is specified, re-layout is triggered by default.
10764    pub const NODE_NEED_MEASURE: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(1);
10765    /// Re-layout.
10766    pub const NODE_NEED_LAYOUT: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(2);
10767    /// Re-rendering.
10768    pub const NODE_NEED_RENDER: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(3);
10769}
10770#[repr(transparent)]
10771/// Defines the dirty area flag passed in the <b>::markDirty</b> API.
10772///
10773///
10774/// Available since API-level: 12
10775#[cfg(feature = "api-12")]
10776#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10777#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10778pub struct ArkUI_NodeDirtyFlag(pub ::core::ffi::c_uint);
10779#[cfg(feature = "api-12")]
10780#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10781impl ArkUI_NodeCustomEventType {
10782    /// Measure type.
10783    pub const ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE: ArkUI_NodeCustomEventType =
10784        ArkUI_NodeCustomEventType(1);
10785    /// Layout type.
10786    pub const ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT: ArkUI_NodeCustomEventType =
10787        ArkUI_NodeCustomEventType(2);
10788    /// Draw type.
10789    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW: ArkUI_NodeCustomEventType =
10790        ArkUI_NodeCustomEventType(4);
10791    /// Foreground type.
10792    pub const ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW: ArkUI_NodeCustomEventType =
10793        ArkUI_NodeCustomEventType(8);
10794    /// Overlay type.
10795    pub const ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW: ArkUI_NodeCustomEventType =
10796        ArkUI_NodeCustomEventType(16);
10797    /// Draw front type.
10798    ///
10799    /// Available since API-level: 20
10800    #[cfg(feature = "api-20")]
10801    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10802    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT: ArkUI_NodeCustomEventType =
10803        ArkUI_NodeCustomEventType(32);
10804    /// Draw behind type.
10805    ///
10806    /// Available since API-level: 20
10807    #[cfg(feature = "api-20")]
10808    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10809    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND: ArkUI_NodeCustomEventType =
10810        ArkUI_NodeCustomEventType(64);
10811}
10812#[repr(transparent)]
10813/// Defines the custom component event type.
10814///
10815///
10816/// Available since API-level: 12
10817#[cfg(feature = "api-12")]
10818#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10819#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10820pub struct ArkUI_NodeCustomEventType(pub ::core::ffi::c_uint);
10821/// Defines the general structure of a custom component event.
10822///
10823///
10824/// Available since API-level: 12
10825#[cfg(feature = "api-12")]
10826#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10827#[repr(C)]
10828pub struct ArkUI_NodeCustomEvent {
10829    _unused: [u8; 0],
10830}
10831#[repr(C)]
10832pub struct ArkUI_NodeAdapter {
10833    _unused: [u8; 0],
10834}
10835/// Defines the component adapter, which is used for lazy loading of elements of scrollable components.
10836///
10837///
10838/// Available since API-level: 12
10839#[cfg(feature = "api-12")]
10840#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10841pub type ArkUI_NodeAdapterHandle = *mut ArkUI_NodeAdapter;
10842/// Defines the component adapter event.
10843///
10844///
10845/// Available since API-level: 12
10846#[cfg(feature = "api-12")]
10847#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10848#[repr(C)]
10849pub struct ArkUI_NodeAdapterEvent {
10850    _unused: [u8; 0],
10851}
10852#[cfg(feature = "api-12")]
10853#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10854impl ArkUI_NodeAdapterEventType {
10855    /// This event occurs when the component is attached to the adapter.
10856    pub const NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE: ArkUI_NodeAdapterEventType =
10857        ArkUI_NodeAdapterEventType(1);
10858    /// This event occurs when the component is detached from the adapter.
10859    pub const NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE: ArkUI_NodeAdapterEventType =
10860        ArkUI_NodeAdapterEventType(2);
10861    /// This event occurs when the adapter obtains the unique ID of the new element to add.
10862    pub const NODE_ADAPTER_EVENT_ON_GET_NODE_ID: ArkUI_NodeAdapterEventType =
10863        ArkUI_NodeAdapterEventType(3);
10864    /// This event occurs when the adapter obtains the content of the new element to add.
10865    pub const NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER: ArkUI_NodeAdapterEventType =
10866        ArkUI_NodeAdapterEventType(4);
10867    /// This event occurs when the adapter removes an element.
10868    pub const NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER: ArkUI_NodeAdapterEventType =
10869        ArkUI_NodeAdapterEventType(5);
10870}
10871#[repr(transparent)]
10872/// Enumerates component adapter events.
10873///
10874///
10875/// Available since API-level: 12
10876#[cfg(feature = "api-12")]
10877#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10878#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10879pub struct ArkUI_NodeAdapterEventType(pub ::core::ffi::c_uint);
10880/// Declares a collection of native node APIs provided by ArkUI.
10881///
10882/// The APIs related to the native node must be called in the main thread.
10883///
10884///
10885/// Version: 1
10886///
10887/// Available since API-level: 12
10888#[cfg(feature = "api-12")]
10889#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10890#[repr(C)]
10891#[derive(Debug, Copy, Clone)]
10892pub struct ArkUI_NativeNodeAPI_1 {
10893    /// Struct version.
10894    pub version: i32,
10895    /// Creates a component based on [`ArkUI_NodeType`] and returns the pointer to the created component.
10896    ///
10897    /// # Arguments
10898    ///
10899    /// * `type` - Indicates the type of component to create.
10900    ///
10901    /// # Returns
10902    ///
10903    /// * Returns the pointer to the created component. If the component fails to be created, NULL is returned.
10904    pub createNode:
10905        ::core::option::Option<unsafe extern "C" fn(type_: ArkUI_NodeType) -> ArkUI_NodeHandle>,
10906    /// Destroys the component to which the specified pointer points.
10907    ///
10908    /// # Arguments
10909    ///
10910    /// * `node` - Indicates the pointer.
10911    pub disposeNode: ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle)>,
10912    /// Adds a component to a parent node.
10913    ///
10914    /// # Arguments
10915    ///
10916    /// * `parent` - Indicates the pointer to the parent node.
10917    ///
10918    /// * `child` - Indicates the pointer to the child node.
10919    ///
10920    /// # Returns
10921    ///
10922    /// * Returns the error code.
10923    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10924    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10925    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10926    /// on BuilderNode generated nodes:
10927    /// setting or resetting attributes, setting events, or adding or editing subnodes.
10928    pub addChild: ::core::option::Option<
10929        unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
10930    >,
10931    /// Removes a component from its parent node.
10932    ///
10933    /// # Arguments
10934    ///
10935    /// * `parent` - Indicates the pointer to the parent node.
10936    ///
10937    /// * `child` - Indicates the pointer to the child node.
10938    ///
10939    /// # Returns
10940    ///
10941    /// * Returns the error code.
10942    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10943    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10944    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10945    /// on BuilderNode generated nodes:
10946    /// setting or resetting attributes, setting events, or adding or editing subnodes.
10947    pub removeChild: ::core::option::Option<
10948        unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
10949    >,
10950    /// Inserts a component to a parent node after the specified <b>sibling</b> node.
10951    ///
10952    /// # Arguments
10953    ///
10954    /// * `parent` - Indicates the pointer to the parent node.
10955    ///
10956    /// * `child` - Indicates the pointer to the child node.
10957    ///
10958    /// * `sibling` - Indicates the pointer to the sibling node after which the target node is to be inserted.
10959    /// If the value is null, the node is inserted at the start of the parent node.
10960    ///
10961    /// # Returns
10962    ///
10963    /// * Returns the error code.
10964    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10965    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10966    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10967    /// on BuilderNode generated nodes:
10968    /// setting or resetting attributes, setting events, or adding or editing subnodes.
10969    pub insertChildAfter: ::core::option::Option<
10970        unsafe extern "C" fn(
10971            parent: ArkUI_NodeHandle,
10972            child: ArkUI_NodeHandle,
10973            sibling: ArkUI_NodeHandle,
10974        ) -> i32,
10975    >,
10976    /// Inserts a component to a parent node before the specified <b>sibling</b> node.
10977    ///
10978    /// # Arguments
10979    ///
10980    /// * `parent` - Indicates the pointer to the parent node.
10981    ///
10982    /// * `child` - Indicates the pointer to the child node.
10983    ///
10984    /// * `sibling` - Indicates the pointer to the sibling node before which the target node is to be inserted.
10985    /// If the value is null, the node is inserted at the end of the parent node.
10986    ///
10987    /// # Returns
10988    ///
10989    /// * Returns the error code.
10990    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10991    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10992    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10993    /// on BuilderNode generated nodes:
10994    /// setting or resetting attributes, setting events, or adding or editing subnodes.
10995    pub insertChildBefore: ::core::option::Option<
10996        unsafe extern "C" fn(
10997            parent: ArkUI_NodeHandle,
10998            child: ArkUI_NodeHandle,
10999            sibling: ArkUI_NodeHandle,
11000        ) -> i32,
11001    >,
11002    /// Inserts a component to the specified position in a parent node.
11003    ///
11004    /// # Arguments
11005    ///
11006    /// * `parent` - Indicates the pointer to the parent node.
11007    ///
11008    /// * `child` - Indicates the pointer to the child node.
11009    ///
11010    /// * `position` - Indicates the position to which the target child node is to be inserted. If the value is a
11011    /// negative number or invalid, the node is inserted at the end of the parent node.
11012    ///
11013    /// # Returns
11014    ///
11015    /// * Returns the error code.
11016    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11017    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11018    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11019    /// on BuilderNode generated nodes:
11020    /// setting or resetting attributes, setting events, or adding or editing subnodes.
11021    pub insertChildAt: ::core::option::Option<
11022        unsafe extern "C" fn(
11023            parent: ArkUI_NodeHandle,
11024            child: ArkUI_NodeHandle,
11025            position: i32,
11026        ) -> i32,
11027    >,
11028    /// Sets the attribute of a node.
11029    ///
11030    /// # Arguments
11031    ///
11032    /// * `node` - Indicates the node whose attribute needs to be set.
11033    ///
11034    /// * `attribute` - Indicates the type of attribute to set.
11035    ///
11036    /// * `value` - Indicates the attribute value.
11037    ///
11038    /// # Returns
11039    ///
11040    /// * Returns the error code.
11041    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11042    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11043    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11044    /// of the native API was not found.
11045    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11046    /// on BuilderNode generated nodes:
11047    /// setting or resetting attributes, setting events, or adding or editing subnodes.
11048    pub setAttribute: ::core::option::Option<
11049        unsafe extern "C" fn(
11050            node: ArkUI_NodeHandle,
11051            attribute: ArkUI_NodeAttributeType,
11052            item: *const ArkUI_AttributeItem,
11053        ) -> i32,
11054    >,
11055    /// Obtains an attribute.
11056    ///
11057    /// The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need
11058    /// to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next
11059    /// time. Otherwise, the pointer may be overwritten by other values.
11060    /// # Arguments
11061    ///
11062    /// * `node` - Indicates the node whose attribute needs to be obtained.
11063    ///
11064    /// * `attribute` - Indicates the type of attribute to obtain.
11065    ///
11066    /// # Returns
11067    ///
11068    /// * Returns the attribute value. If the operation fails, a null pointer is returned.
11069    pub getAttribute: ::core::option::Option<
11070        unsafe extern "C" fn(
11071            node: ArkUI_NodeHandle,
11072            attribute: ArkUI_NodeAttributeType,
11073        ) -> *const ArkUI_AttributeItem,
11074    >,
11075    /// Resets an attribute.
11076    ///
11077    /// # Arguments
11078    ///
11079    /// * `node` - Indicates the node whose attribute needs to be reset.
11080    ///
11081    /// * `attribute` - Indicates the type of attribute to reset.
11082    ///
11083    /// # Returns
11084    ///
11085    /// * Returns the error code.
11086    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11087    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11088    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11089    /// of the native API was not found.
11090    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11091    /// on BuilderNode generated nodes:
11092    /// setting or resetting attributes, setting events, or adding or editing subnodes.
11093    pub resetAttribute: ::core::option::Option<
11094        unsafe extern "C" fn(node: ArkUI_NodeHandle, attribute: ArkUI_NodeAttributeType) -> i32,
11095    >,
11096    /// Registers an event for the specified node.
11097    ///
11098    /// When the component is being displayed, this API must be called in the main thread.
11099    ///
11100    /// # Arguments
11101    ///
11102    /// * `node` - Indicates the target node.
11103    ///
11104    /// * `eventType` - Indicates the type of event to register.
11105    ///
11106    /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeEvent`]
11107    /// when the event is triggered.
11108    ///
11109    /// * `userData` - Indicates the custom event parameter, which is passed in the callback of [`ArkUI_NodeEvent`]
11110    ///
11111    /// # Returns
11112    ///
11113    /// * Returns the error code.
11114    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11115    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11116    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11117    /// of the native API was not found.
11118    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11119    /// on BuilderNode generated nodes:
11120    /// setting or resetting attributes, setting events, or adding or editing subnodes.
11121    pub registerNodeEvent: ::core::option::Option<
11122        unsafe extern "C" fn(
11123            node: ArkUI_NodeHandle,
11124            eventType: ArkUI_NodeEventType,
11125            targetId: i32,
11126            userData: *mut ::core::ffi::c_void,
11127        ) -> i32,
11128    >,
11129    /// Unregisters an event for the specified node.
11130    ///
11131    /// When the component is being displayed, this API must be called in the main thread.
11132    ///
11133    /// # Arguments
11134    ///
11135    /// * `node` - Indicates the target node.
11136    ///
11137    /// * `eventType` - Indicates the type of event to unregister.
11138    pub unregisterNodeEvent: ::core::option::Option<
11139        unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeEventType),
11140    >,
11141    /// Registers an event receiver.
11142    ///
11143    /// The ArkUI framework collects component events generated during the process and calls back the events through
11144    /// the registered event receiver.
11145    ///
11146    /// A new call to this API will overwrite the previously registered event receiver.
11147    ///
11148    /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the
11149    /// callback is complete.
11150    ///
11151    /// To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function.
11152    ///
11153    ///
11154    /// # Arguments
11155    ///
11156    /// * `eventReceiver` - Indicates the event receiver to register.
11157    pub registerNodeEventReceiver: ::core::option::Option<
11158        unsafe extern "C" fn(
11159            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11160        ),
11161    >,
11162    /// Unregisters the event receiver.
11163    pub unregisterNodeEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
11164    /// Forcibly marks the current node that needs to be measured, laid out, or rendered again.
11165    ///
11166    /// Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs
11167    /// measuring, layout, or rendering again. In this case, you do not need to call this API.
11168    /// # Arguments
11169    ///
11170    /// * `node` - Indicates the node for which you want to mark as dirty area.
11171    ///
11172    /// * `dirtyFlag` - Indicates type of dirty area.
11173    pub markDirty: ::core::option::Option<
11174        unsafe extern "C" fn(node: ArkUI_NodeHandle, dirtyFlag: ArkUI_NodeDirtyFlag),
11175    >,
11176    /// Obtains the number of subnodes.
11177    ///
11178    /// # Arguments
11179    ///
11180    /// * `node` - Indicates the target node.
11181    ///
11182    /// # Returns
11183    ///
11184    /// * the number of subnodes. If not, returns 0.
11185    pub getTotalChildCount:
11186        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> u32>,
11187    /// Obtains a subnode.
11188    ///
11189    /// # Arguments
11190    ///
11191    /// * `node` - Indicates the target node.
11192    ///
11193    /// * `position` - Indicates the position of the subnode.
11194    ///
11195    /// # Returns
11196    ///
11197    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11198    pub getChildAt: ::core::option::Option<
11199        unsafe extern "C" fn(node: ArkUI_NodeHandle, position: i32) -> ArkUI_NodeHandle,
11200    >,
11201    /// Obtains the first subnode.
11202    ///
11203    /// # Arguments
11204    ///
11205    /// * `node` - Indicates the target node.
11206    ///
11207    /// # Returns
11208    ///
11209    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11210    pub getFirstChild:
11211        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11212    /// Obtains the last subnode.
11213    ///
11214    /// # Arguments
11215    ///
11216    /// * `node` - Indicates the target node.
11217    ///
11218    /// # Returns
11219    ///
11220    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11221    pub getLastChild:
11222        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11223    /// Obtains the previous sibling node.
11224    ///
11225    /// # Arguments
11226    ///
11227    /// * `node` - Indicates the target node.
11228    ///
11229    /// # Returns
11230    ///
11231    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11232    pub getPreviousSibling:
11233        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11234    /// Obtains the next sibling node.
11235    ///
11236    /// # Arguments
11237    ///
11238    /// * `node` - Indicates the target node.
11239    ///
11240    /// # Returns
11241    ///
11242    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11243    pub getNextSibling:
11244        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11245    /// Registers a custom event for a node. When the event is triggered, the value is returned through the entry
11246    /// point function registered by <b>registerNodeCustomEventReceiver</b>.
11247    ///
11248    /// # Arguments
11249    ///
11250    /// * `node` - Indicates the target node.
11251    ///
11252    /// * `eventType` - Indicates the type of event to register.
11253    ///
11254    /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeCustomEvent`]
11255    /// when the event is triggered.
11256    ///
11257    /// * `userData` - Indicates the custom event parameter, which is passed in the callback of
11258    /// [`ArkUI_NodeCustomEvent`] when the event is triggered.
11259    ///
11260    /// # Returns
11261    ///
11262    /// * Returns the error code.
11263    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11264    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11265    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11266    /// of the native API was not found.
11267    pub registerNodeCustomEvent: ::core::option::Option<
11268        unsafe extern "C" fn(
11269            node: ArkUI_NodeHandle,
11270            eventType: ArkUI_NodeCustomEventType,
11271            targetId: i32,
11272            userData: *mut ::core::ffi::c_void,
11273        ) -> i32,
11274    >,
11275    /// Unregisters a custom event for a node.
11276    ///
11277    /// # Arguments
11278    ///
11279    /// * `node` - Indicates the target node.
11280    ///
11281    /// * `eventType` - Indicates the type of event to unregister.
11282    pub unregisterNodeCustomEvent: ::core::option::Option<
11283        unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeCustomEventType),
11284    >,
11285    /// Registers a unified entry point function for custom node event callbacks.
11286    ///
11287    /// The ArkUI framework collects custom component events generated during the process and calls back the events
11288    /// through the registered <b>registerNodeCustomEventReceiver</b>.
11289    ///
11290    /// A new call to this API will overwrite the previously registered event receiver.
11291    /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
11292    /// The data will be destroyed after the callback is complete.
11293    ///
11294    /// To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function.
11295    ///
11296    ///
11297    /// # Arguments
11298    ///
11299    /// * `eventReceiver` - Indicates the event receiver to register.
11300    pub registerNodeCustomEventReceiver: ::core::option::Option<
11301        unsafe extern "C" fn(
11302            eventReceiver: ::core::option::Option<
11303                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11304            >,
11305        ),
11306    >,
11307    /// Unregisters the unified entry point function for custom node event callbacks.
11308    pub unregisterNodeCustomEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
11309    /// Sets the width and height for a component after the measurement.
11310    ///
11311    /// # Arguments
11312    ///
11313    /// * `node` - Indicates the target node.
11314    ///
11315    /// * `width` - Indicates the width.
11316    ///
11317    /// * `height` - Indicates the height.
11318    ///
11319    /// # Returns
11320    ///
11321    /// * Returns the error code.
11322    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11323    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11324    pub setMeasuredSize: ::core::option::Option<
11325        unsafe extern "C" fn(node: ArkUI_NodeHandle, width: i32, height: i32) -> i32,
11326    >,
11327    /// Sets the position for a component.
11328    ///
11329    /// # Arguments
11330    ///
11331    /// * `node` - Indicates the target node.
11332    ///
11333    /// * `positionX` - Indicates the X coordinate.
11334    ///
11335    /// * `positionY` - Indicates the Y coordinate.
11336    ///
11337    /// # Returns
11338    ///
11339    /// * Returns the error code.
11340    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11341    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11342    pub setLayoutPosition: ::core::option::Option<
11343        unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
11344    >,
11345    /// Obtains the width and height of a component after measurement.
11346    ///
11347    /// # Arguments
11348    ///
11349    /// * `node` - Indicates the target node.
11350    ///
11351    /// # Returns
11352    ///
11353    /// * Returns the width and height of the component.
11354    pub getMeasuredSize:
11355        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntSize>,
11356    /// Obtains the position of a component after the layout is complete.
11357    ///
11358    /// # Arguments
11359    ///
11360    /// * `node` - Indicates the target node.
11361    ///
11362    /// # Returns
11363    ///
11364    /// * Returns the position of the component.
11365    pub getLayoutPosition:
11366        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntOffset>,
11367    /// Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement.
11368    ///
11369    /// # Arguments
11370    ///
11371    /// * `node` - Indicates the target node.
11372    ///
11373    /// * `Constraint` - Indicates the size constraint.
11374    ///
11375    /// # Returns
11376    ///
11377    /// * Returns the error code.
11378    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11379    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11380    pub measureNode: ::core::option::Option<
11381        unsafe extern "C" fn(
11382            node: ArkUI_NodeHandle,
11383            Constraint: *mut ArkUI_LayoutConstraint,
11384        ) -> i32,
11385    >,
11386    /// Lays outs a component and passes the expected position of the component relative to its parent component.
11387    ///
11388    /// When the component is being displayed, this API must be called in the main thread.
11389    ///
11390    /// # Arguments
11391    ///
11392    /// * `node` - Indicates the target node.
11393    ///
11394    /// * `positionX` - Indicates the X coordinate.
11395    ///
11396    /// * `positionY` - Indicates the Y coordinate.
11397    ///
11398    /// # Returns
11399    ///
11400    /// * Returns the error code.
11401    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11402    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11403    pub layoutNode: ::core::option::Option<
11404        unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
11405    >,
11406    /// Adds a component event callback function to a component to receive component events generated
11407    /// by the component.
11408    ///
11409    /// Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event
11410    /// receivers to be added to the same component.
11411    ///
11412    /// The callback added by this API is triggered before the global callback registered by
11413    /// <b>registerNodeEventReceiver</b>.
11414    ///
11415    /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer.
11416    /// The data will be destroyed after the callback is complete.
11417    ///
11418    ///
11419    /// # Arguments
11420    ///
11421    /// * `node` - Indicates the component for which you want to add the event callback function.
11422    ///
11423    /// * `eventReceiver` - Indicates the component event callback function to add.
11424    ///
11425    /// # Returns
11426    ///
11427    /// * Returns the error code.
11428    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11429    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11430    pub addNodeEventReceiver: ::core::option::Option<
11431        unsafe extern "C" fn(
11432            node: ArkUI_NodeHandle,
11433            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11434        ) -> i32,
11435    >,
11436    /// Removes the registered component event callback function from a component.
11437    ///
11438    /// # Arguments
11439    ///
11440    /// * `node` - Indicates the component from which you want to remove the event callback function.
11441    ///
11442    /// * `eventReceiver` - Indicates the component event callback function to remove.
11443    ///
11444    /// # Returns
11445    ///
11446    /// * Returns the error code.
11447    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11448    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11449    pub removeNodeEventReceiver: ::core::option::Option<
11450        unsafe extern "C" fn(
11451            node: ArkUI_NodeHandle,
11452            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11453        ) -> i32,
11454    >,
11455    /// Adds a custom event callback function to a component to receive custom events
11456    /// (such as layout and drawing events) generated by the component.
11457    ///
11458    /// Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows
11459    /// multiple event receivers to be added to the same component.
11460    ///
11461    /// The callback added by this API is triggered before the global callback registered by
11462    /// <b>registerNodeCustomEventReceiver</b>.
11463    ///
11464    /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
11465    /// The data will be destroyed after the callback is complete.
11466    ///
11467    ///
11468    /// # Arguments
11469    ///
11470    /// * `node` - Indicates the component for which you want to add the custom event callback function.
11471    ///
11472    /// * `eventReceiver` - Indicates the custom event callback function to add.
11473    ///
11474    /// # Returns
11475    ///
11476    /// * Returns the error code.
11477    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11478    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11479    pub addNodeCustomEventReceiver: ::core::option::Option<
11480        unsafe extern "C" fn(
11481            node: ArkUI_NodeHandle,
11482            eventReceiver: ::core::option::Option<
11483                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11484            >,
11485        ) -> i32,
11486    >,
11487    /// Removes a registered custom event callback function from a component.
11488    ///
11489    /// # Arguments
11490    ///
11491    /// * `node` - Indicates the component from which you want to remove the custom event callback function.
11492    ///
11493    /// * `eventReceiver` - Indicates the custom event callback function to remove.
11494    ///
11495    /// # Returns
11496    ///
11497    /// * Returns the error code.
11498    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11499    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11500    pub removeNodeCustomEventReceiver: ::core::option::Option<
11501        unsafe extern "C" fn(
11502            node: ArkUI_NodeHandle,
11503            eventReceiver: ::core::option::Option<
11504                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11505            >,
11506        ) -> i32,
11507    >,
11508    /// Saves custom data on the specified component.
11509    ///
11510    /// # Arguments
11511    ///
11512    /// * `node` - Indicates the component on which the custom data will be saved.
11513    ///
11514    /// * `userData` - Indicates the custom data to be saved.
11515    ///
11516    /// # Returns
11517    ///
11518    /// * Returns the error code.
11519    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11520    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11521    pub setUserData: ::core::option::Option<
11522        unsafe extern "C" fn(node: ArkUI_NodeHandle, userData: *mut ::core::ffi::c_void) -> i32,
11523    >,
11524    /// Obtains the custom data saved on the specified component.
11525    ///
11526    /// # Arguments
11527    ///
11528    /// * `node` - Indicates the target component.
11529    ///
11530    /// # Returns
11531    ///
11532    /// * Returns the custom data.
11533    pub getUserData: ::core::option::Option<
11534        unsafe extern "C" fn(node: ArkUI_NodeHandle) -> *mut ::core::ffi::c_void,
11535    >,
11536    /// Sets the unit for a component.
11537    ///
11538    /// # Arguments
11539    ///
11540    /// * `node` - Indicates the component for which you want to set the unit.
11541    ///
11542    /// * `unit` - Indicates the unit, which is an enumerated value of [`ArkUI_LengthMetricUnit`].
11543    /// The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>.
11544    ///
11545    /// # Returns
11546    ///
11547    /// * Returns the error code.
11548    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11549    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11550    pub setLengthMetricUnit: ::core::option::Option<
11551        unsafe extern "C" fn(node: ArkUI_NodeHandle, unit: ArkUI_LengthMetricUnit) -> i32,
11552    >,
11553    /// Get the parent node.
11554    ///
11555    /// # Arguments
11556    ///
11557    /// * `node` - target node object.
11558    ///
11559    /// # Returns
11560    ///
11561    /// * Returns the pointer of the component, if not return NULL
11562    pub getParent:
11563        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11564    /// Uninstall all child nodes from the parent component.
11565    ///
11566    /// # Arguments
11567    ///
11568    /// * `parent` - target node object.
11569    ///
11570    /// # Returns
11571    ///
11572    /// * Returns the error code.
11573    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11574    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11575    ///
11576    /// Available since API-level: 12
11577    pub removeAllChildren:
11578        ::core::option::Option<unsafe extern "C" fn(parent: ArkUI_NodeHandle) -> i32>,
11579}
11580#[cfg(feature = "api-12")]
11581#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11582impl ArkUI_NodeContentEventType {
11583    /// Defines the attach event.
11584    pub const NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW: ArkUI_NodeContentEventType =
11585        ArkUI_NodeContentEventType(0);
11586    /// Defines the detach event.
11587    pub const NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW: ArkUI_NodeContentEventType =
11588        ArkUI_NodeContentEventType(1);
11589}
11590#[repr(transparent)]
11591/// Defines the node content event type.
11592///
11593///
11594/// Available since API-level: 12
11595#[cfg(feature = "api-12")]
11596#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11597#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11598pub struct ArkUI_NodeContentEventType(pub ::core::ffi::c_uint);
11599#[cfg(feature = "api-15")]
11600#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11601impl ArkUI_InspectorErrorCode {
11602    /// Success.
11603    pub const ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL: ArkUI_InspectorErrorCode =
11604        ArkUI_InspectorErrorCode(0);
11605    /// Invalid parameter.
11606    pub const ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER: ArkUI_InspectorErrorCode =
11607        ArkUI_InspectorErrorCode(-1);
11608}
11609#[repr(transparent)]
11610/// Enumerates the inspector error codes.
11611///
11612/// Available since API-level: 15
11613#[cfg(feature = "api-15")]
11614#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11615#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11616pub struct ArkUI_InspectorErrorCode(pub ::core::ffi::c_int);
11617/// Defines the general structure of a node content event.
11618///
11619/// Available since API-level: 12
11620#[cfg(feature = "api-12")]
11621#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11622#[repr(C)]
11623pub struct ArkUI_NodeContentEvent {
11624    _unused: [u8; 0],
11625}
11626/// Defines the callback function of a node content event.
11627///
11628/// Available since API-level: 12
11629#[cfg(feature = "api-12")]
11630#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11631pub type ArkUI_NodeContentCallback =
11632    ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeContentEvent)>;
11633extern "C" {
11634    /// Obtains the type of a component event.
11635    ///
11636    /// # Arguments
11637    ///
11638    /// * `event` - Indicates the pointer to the component event.
11639    ///
11640    /// # Returns
11641    ///
11642    /// * Returns the type of the component event.
11643    ///
11644    /// Available since API-level: 12
11645    #[cfg(feature = "api-12")]
11646    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11647    pub fn OH_ArkUI_NodeEvent_GetEventType(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeEventType;
11648    /// Obtains the custom ID of a component event.
11649    ///
11650    /// The event ID is passed in as a parameter when the [`registerNodeEvent`] function is called and can be applied
11651    /// to the dispatch logic of the same event entry function [`registerNodeEventReceiver`].
11652    ///
11653    /// # Arguments
11654    ///
11655    /// * `event` - Indicates the pointer to the component event.
11656    ///
11657    /// # Returns
11658    ///
11659    /// * Returns the custom ID of the component event.
11660    ///
11661    /// Available since API-level: 12
11662    #[cfg(feature = "api-12")]
11663    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11664    pub fn OH_ArkUI_NodeEvent_GetTargetId(event: *mut ArkUI_NodeEvent) -> i32;
11665    /// Obtains the component object that triggers a component event.
11666    ///
11667    /// # Arguments
11668    ///
11669    /// * `event` - Indicates the pointer to the component event.
11670    ///
11671    /// # Returns
11672    ///
11673    /// * Returns the component object that triggers the component event.
11674    ///
11675    /// Available since API-level: 12
11676    #[cfg(feature = "api-12")]
11677    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11678    pub fn OH_ArkUI_NodeEvent_GetNodeHandle(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeHandle;
11679    /// Obtains input event (for example, touch event) data for a component event.
11680    ///
11681    /// # Arguments
11682    ///
11683    /// * `event` - Indicates the pointer to the component event.
11684    ///
11685    /// # Returns
11686    ///
11687    /// * Returns the pointer to the input event data.
11688    ///
11689    /// Available since API-level: 12
11690    #[cfg(feature = "api-12")]
11691    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11692    pub fn OH_ArkUI_NodeEvent_GetInputEvent(event: *mut ArkUI_NodeEvent)
11693        -> *mut ArkUI_UIInputEvent;
11694    /// Obtains the numerical data in a component event.
11695    ///
11696    /// # Arguments
11697    ///
11698    /// * `event` - Indicates the pointer to the component event.
11699    ///
11700    /// # Returns
11701    ///
11702    /// * Returns the pointer to the numerical data.
11703    ///
11704    /// Available since API-level: 12
11705    #[cfg(feature = "api-12")]
11706    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11707    pub fn OH_ArkUI_NodeEvent_GetNodeComponentEvent(
11708        event: *mut ArkUI_NodeEvent,
11709    ) -> *mut ArkUI_NodeComponentEvent;
11710    /// Obtains the string data in a component event.
11711    ///
11712    /// # Arguments
11713    ///
11714    /// * `event` - Indicates the pointer to the component event.
11715    ///
11716    /// # Returns
11717    ///
11718    /// * Returns the pointer to the string data.
11719    ///
11720    /// Available since API-level: 12
11721    #[cfg(feature = "api-12")]
11722    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11723    pub fn OH_ArkUI_NodeEvent_GetStringAsyncEvent(
11724        event: *mut ArkUI_NodeEvent,
11725    ) -> *mut ArkUI_StringAsyncEvent;
11726    /// Obtains the ArkUI_TextChangeEvent data from a component event.
11727    ///
11728    /// # Arguments
11729    ///
11730    /// * `event` - Pointer to a component event. It cannot be null.
11731    ///
11732    /// # Returns
11733    ///
11734    /// * Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object.
11735    ///
11736    /// Available since API-level: 15
11737    #[cfg(feature = "api-15")]
11738    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11739    pub fn OH_ArkUI_NodeEvent_GetTextChangeEvent(
11740        event: *mut ArkUI_NodeEvent,
11741    ) -> *mut ArkUI_TextChangeEvent;
11742    /// Obtains the custom data in a component event.
11743    ///
11744    /// This parameter is passed in [`registerNodeEvent`] and can be applied to the service logic when the event
11745    /// is triggered.
11746    ///
11747    /// # Arguments
11748    ///
11749    /// * `event` - Indicates the pointer to the component event.
11750    ///
11751    /// # Returns
11752    ///
11753    /// * Returns the pointer to the custom data.
11754    ///
11755    /// Available since API-level: 12
11756    #[cfg(feature = "api-12")]
11757    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11758    pub fn OH_ArkUI_NodeEvent_GetUserData(event: *mut ArkUI_NodeEvent) -> *mut ::core::ffi::c_void;
11759    /// Obtains the numeric-type parameter of a component event.
11760    ///
11761    /// # Arguments
11762    ///
11763    /// * `event` - Indicates the pointer to the component event.
11764    ///
11765    /// * `index` - Indicates the index of the return value.
11766    ///
11767    /// * `value` - Indicates the return value.
11768    ///
11769    /// # Returns
11770    ///
11771    /// * Returns the error code.
11772    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11773    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
11774    /// the limit.
11775    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
11776    ///
11777    /// Available since API-level: 12
11778    #[cfg(feature = "api-12")]
11779    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11780    pub fn OH_ArkUI_NodeEvent_GetNumberValue(
11781        event: *mut ArkUI_NodeEvent,
11782        index: i32,
11783        value: *mut ArkUI_NumberValue,
11784    ) -> i32;
11785    /// Obtains the string-type parameter of a component event. The string data is valid only during an event
11786    /// callback. To use it outside an event callback, you are advised to copy the string data.
11787    ///
11788    /// # Arguments
11789    ///
11790    /// * `event` - Indicates the pointer to the component event.
11791    ///
11792    /// * `index` - Indicates the index of the return value.
11793    ///
11794    /// * `string` - Indicates the pointer to the string array.
11795    ///
11796    /// * `stringSize` - Indicates the length of the string array.
11797    ///
11798    /// # Returns
11799    ///
11800    /// * Returns the error code.
11801    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11802    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
11803    /// the limit.
11804    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
11805    ///
11806    /// Available since API-level: 12
11807    #[cfg(feature = "api-12")]
11808    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11809    pub fn OH_ArkUI_NodeEvent_GetStringValue(
11810        event: *mut ArkUI_NodeEvent,
11811        index: i32,
11812        string: *mut *mut ::core::ffi::c_char,
11813        stringSize: *mut i32,
11814    ) -> i32;
11815    /// Sets the return value for a component event.
11816    ///
11817    /// # Arguments
11818    ///
11819    /// * `event` - Indicates the pointer to the component event.
11820    ///
11821    /// * `value` - Indicates the numeric-type array.
11822    ///
11823    /// * `size` - Indicates the array length.
11824    ///
11825    /// # Returns
11826    ///
11827    /// * Returns the error code.
11828    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11829    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN`] if the component event does not support return values.
11830    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if data does not exist in the component event.
11831    ///
11832    /// Available since API-level: 12
11833    #[cfg(feature = "api-12")]
11834    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11835    pub fn OH_ArkUI_NodeEvent_SetReturnNumberValue(
11836        event: *mut ArkUI_NodeEvent,
11837        value: *mut ArkUI_NumberValue,
11838        size: i32,
11839    ) -> i32;
11840    /// Creates a component adapter.
11841    ///
11842    ///
11843    /// Available since API-level: 12
11844    #[cfg(feature = "api-12")]
11845    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11846    pub fn OH_ArkUI_NodeAdapter_Create() -> ArkUI_NodeAdapterHandle;
11847    /// Destroys a component adapter.
11848    ///
11849    /// # Arguments
11850    ///
11851    /// * `handle` - Indicates the target component adapter.
11852    ///
11853    /// Available since API-level: 12
11854    #[cfg(feature = "api-12")]
11855    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11856    pub fn OH_ArkUI_NodeAdapter_Dispose(handle: ArkUI_NodeAdapterHandle);
11857    /// Sets the total number of elements in the specified adapter.
11858    ///
11859    /// # Arguments
11860    ///
11861    /// * `handle` - Indicates the target component adapter.
11862    ///
11863    /// * `size` - Indicates the number of elements.
11864    ///
11865    /// # Returns
11866    ///
11867    /// * Returns the error code.
11868    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11869    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11870    ///
11871    /// Available since API-level: 12
11872    #[cfg(feature = "api-12")]
11873    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11874    pub fn OH_ArkUI_NodeAdapter_SetTotalNodeCount(
11875        handle: ArkUI_NodeAdapterHandle,
11876        size: u32,
11877    ) -> i32;
11878    /// Obtains the total number of elements in the specified adapter.
11879    ///
11880    /// # Arguments
11881    ///
11882    /// * `handle` - Indicates the target component adapter.
11883    ///
11884    /// # Returns
11885    ///
11886    /// * Returns the total number of elements in the adapter.
11887    ///
11888    /// Available since API-level: 12
11889    #[cfg(feature = "api-12")]
11890    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11891    pub fn OH_ArkUI_NodeAdapter_GetTotalNodeCount(handle: ArkUI_NodeAdapterHandle) -> u32;
11892    /// Registers an event callback for the adapter.
11893    ///
11894    /// # Arguments
11895    ///
11896    /// * `handle` - Indicates the target component adapter.
11897    ///
11898    /// * `userData` - Indicates custom data.
11899    ///
11900    /// * `receiver` - Indicates the event receiver callback.
11901    ///
11902    /// # Returns
11903    ///
11904    /// * Returns the error code.
11905    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11906    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11907    ///
11908    /// Available since API-level: 12
11909    #[cfg(feature = "api-12")]
11910    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11911    pub fn OH_ArkUI_NodeAdapter_RegisterEventReceiver(
11912        handle: ArkUI_NodeAdapterHandle,
11913        userData: *mut ::core::ffi::c_void,
11914        receiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeAdapterEvent)>,
11915    ) -> i32;
11916    /// Deregisters an event callback for the adapter.
11917    ///
11918    /// # Arguments
11919    ///
11920    /// * `handle` - Indicates the target component adapter.
11921    ///
11922    /// Available since API-level: 12
11923    #[cfg(feature = "api-12")]
11924    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11925    pub fn OH_ArkUI_NodeAdapter_UnregisterEventReceiver(handle: ArkUI_NodeAdapterHandle);
11926    /// Instructs the specified adapter to reload all elements.
11927    ///
11928    /// # Arguments
11929    ///
11930    /// * `handle` - Indicates the target component adapter.
11931    ///
11932    /// # Returns
11933    ///
11934    /// * Returns the error code.
11935    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11936    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11937    ///
11938    /// Available since API-level: 12
11939    #[cfg(feature = "api-12")]
11940    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11941    pub fn OH_ArkUI_NodeAdapter_ReloadAllItems(handle: ArkUI_NodeAdapterHandle) -> i32;
11942    /// Instructs the specified adapter to reload certain elements.
11943    ///
11944    /// # Arguments
11945    ///
11946    /// * `handle` - Indicates the target component adapter.
11947    ///
11948    /// * `startPosition` - Indicates the start position of the elements to reload.
11949    ///
11950    /// * `itemCount` - Indicates the number of the elements to reload.
11951    ///
11952    /// # Returns
11953    ///
11954    /// * Returns the error code.
11955    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11956    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11957    ///
11958    /// Available since API-level: 12
11959    #[cfg(feature = "api-12")]
11960    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11961    pub fn OH_ArkUI_NodeAdapter_ReloadItem(
11962        handle: ArkUI_NodeAdapterHandle,
11963        startPosition: u32,
11964        itemCount: u32,
11965    ) -> i32;
11966    /// Instructs the specified adapter to remove certain elements.
11967    ///
11968    /// # Arguments
11969    ///
11970    /// * `handle` - Indicates the target component adapter.
11971    ///
11972    /// * `startPosition` - Indicates the start position of the elements to remove.
11973    ///
11974    /// * `itemCount` - Indicates the number of the elements to remove.
11975    ///
11976    /// # Returns
11977    ///
11978    /// * Returns the error code.
11979    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11980    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11981    ///
11982    /// Available since API-level: 12
11983    #[cfg(feature = "api-12")]
11984    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11985    pub fn OH_ArkUI_NodeAdapter_RemoveItem(
11986        handle: ArkUI_NodeAdapterHandle,
11987        startPosition: u32,
11988        itemCount: u32,
11989    ) -> i32;
11990    /// Instructs the specified adapter to insert certain elements.
11991    ///
11992    /// # Arguments
11993    ///
11994    /// * `handle` - Indicates the target component adapter.
11995    ///
11996    /// * `startPosition` - Indicates the start position of the elements to insert.
11997    ///
11998    /// * `itemCount` - Indicates the number of the elements to insert.
11999    ///
12000    /// # Returns
12001    ///
12002    /// * Returns the error code.
12003    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12004    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12005    ///
12006    /// Available since API-level: 12
12007    #[cfg(feature = "api-12")]
12008    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12009    pub fn OH_ArkUI_NodeAdapter_InsertItem(
12010        handle: ArkUI_NodeAdapterHandle,
12011        startPosition: u32,
12012        itemCount: u32,
12013    ) -> i32;
12014    /// Instructs the specified adapter to move certain elements.
12015    ///
12016    /// # Arguments
12017    ///
12018    /// * `handle` - Indicates the target component adapter.
12019    ///
12020    /// * `from` - Indicates the start position of the elements to move.
12021    ///
12022    /// * `to` - Indicates the end position of the elements to move.
12023    ///
12024    /// # Returns
12025    ///
12026    /// * Returns the error code.
12027    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12028    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12029    ///
12030    /// Available since API-level: 12
12031    #[cfg(feature = "api-12")]
12032    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12033    pub fn OH_ArkUI_NodeAdapter_MoveItem(
12034        handle: ArkUI_NodeAdapterHandle,
12035        from: u32,
12036        to: u32,
12037    ) -> i32;
12038    /// Obtains all elements stored in the specified adapter.
12039    ///
12040    /// This API returns the pointer to the array of the elements. You need to manually release the memory data
12041    /// to which the pointer points.
12042    ///
12043    /// # Arguments
12044    ///
12045    /// * `handle` - Indicates the target component adapter.
12046    ///
12047    /// * `items` - Indicates the pointer to the array of the elements in the adapter.
12048    ///
12049    /// * `size` - Indicates the number of elements.
12050    ///
12051    /// # Returns
12052    ///
12053    /// * Returns the error code.
12054    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12055    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12056    ///
12057    /// Available since API-level: 12
12058    #[cfg(feature = "api-12")]
12059    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12060    pub fn OH_ArkUI_NodeAdapter_GetAllItems(
12061        handle: ArkUI_NodeAdapterHandle,
12062        items: *mut *mut ArkUI_NodeHandle,
12063        size: *mut u32,
12064    ) -> i32;
12065    /// Obtains the custom data passed in during registration of the specified event.
12066    ///
12067    /// # Arguments
12068    ///
12069    /// * `event` - Indicates the target adapter event.
12070    ///
12071    /// Available since API-level: 12
12072    #[cfg(feature = "api-12")]
12073    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12074    pub fn OH_ArkUI_NodeAdapterEvent_GetUserData(
12075        event: *mut ArkUI_NodeAdapterEvent,
12076    ) -> *mut ::core::ffi::c_void;
12077    /// Obtains the event type.
12078    ///
12079    /// # Arguments
12080    ///
12081    /// * `event` - Indicates the target adapter event.
12082    ///
12083    /// # Returns
12084    ///
12085    /// * Returns the event type.
12086    ///
12087    /// Available since API-level: 12
12088    #[cfg(feature = "api-12")]
12089    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12090    pub fn OH_ArkUI_NodeAdapterEvent_GetType(
12091        event: *mut ArkUI_NodeAdapterEvent,
12092    ) -> ArkUI_NodeAdapterEventType;
12093    /// Obtains the element to be removed for the event to be destroyed.
12094    ///
12095    /// # Arguments
12096    ///
12097    /// * `event` - Indicates the target adapter event.
12098    ///
12099    /// # Returns
12100    ///
12101    /// * Returns the element to be removed.
12102    ///
12103    /// Available since API-level: 12
12104    #[cfg(feature = "api-12")]
12105    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12106    pub fn OH_ArkUI_NodeAdapterEvent_GetRemovedNode(
12107        event: *mut ArkUI_NodeAdapterEvent,
12108    ) -> ArkUI_NodeHandle;
12109    /// Obtains the index of the element to be operated for the specified adapter event.
12110    ///
12111    /// # Arguments
12112    ///
12113    /// * `event` - Indicates the target adapter event.
12114    ///
12115    /// # Returns
12116    ///
12117    /// * Returns the index of the element.
12118    ///
12119    /// Available since API-level: 12
12120    #[cfg(feature = "api-12")]
12121    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12122    pub fn OH_ArkUI_NodeAdapterEvent_GetItemIndex(event: *mut ArkUI_NodeAdapterEvent) -> u32;
12123    /// Obtains the scrollable container node that uses the specified adapter.
12124    ///
12125    /// # Arguments
12126    ///
12127    /// * `event` - Indicates the target adapter event.
12128    ///
12129    /// # Returns
12130    ///
12131    /// * Returns the scrollable container node that uses the specified adapter.
12132    ///
12133    /// Available since API-level: 12
12134    #[cfg(feature = "api-12")]
12135    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12136    pub fn OH_ArkUI_NodeAdapterEvent_GetHostNode(
12137        event: *mut ArkUI_NodeAdapterEvent,
12138    ) -> ArkUI_NodeHandle;
12139    /// Sets the component to be added to the specified adapter.
12140    ///
12141    /// # Arguments
12142    ///
12143    /// * `event` - Indicates the target adapter event.
12144    ///
12145    /// * `node` - Indicates the component to be added.
12146    ///
12147    /// # Returns
12148    ///
12149    /// * Returns the error code.
12150    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12151    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12152    ///
12153    /// Available since API-level: 12
12154    #[cfg(feature = "api-12")]
12155    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12156    pub fn OH_ArkUI_NodeAdapterEvent_SetItem(
12157        event: *mut ArkUI_NodeAdapterEvent,
12158        node: ArkUI_NodeHandle,
12159    ) -> i32;
12160    /// Sets the component ID to be generated.
12161    ///
12162    /// # Arguments
12163    ///
12164    /// * `event` - Indicates the target adapter event.
12165    ///
12166    /// * `id` - Indicates the component ID to set.
12167    ///
12168    /// # Returns
12169    ///
12170    /// * Returns the error code.
12171    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12172    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12173    ///
12174    /// Available since API-level: 12
12175    #[cfg(feature = "api-12")]
12176    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12177    pub fn OH_ArkUI_NodeAdapterEvent_SetNodeId(event: *mut ArkUI_NodeAdapterEvent, id: i32) -> i32;
12178    /// Obtains the size constraint for measurement through a custom component event.
12179    ///
12180    /// # Arguments
12181    ///
12182    /// * `event` - Indicates the pointer to the custom component event.
12183    ///
12184    /// # Returns
12185    ///
12186    /// * Returns the pointer to the size constraint.
12187    ///
12188    /// Available since API-level: 12
12189    #[cfg(feature = "api-12")]
12190    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12191    pub fn OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(
12192        event: *mut ArkUI_NodeCustomEvent,
12193    ) -> *mut ArkUI_LayoutConstraint;
12194    /// Obtains the expected position of a component relative to its parent component in the layout phase through a
12195    /// custom component event.
12196    ///
12197    /// # Arguments
12198    ///
12199    /// * `event` - Indicates the pointer to the custom component event.
12200    ///
12201    /// # Returns
12202    ///
12203    /// * Returns the expected position relative to the parent component.
12204    ///
12205    /// Available since API-level: 12
12206    #[cfg(feature = "api-12")]
12207    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12208    pub fn OH_ArkUI_NodeCustomEvent_GetPositionInLayout(
12209        event: *mut ArkUI_NodeCustomEvent,
12210    ) -> ArkUI_IntOffset;
12211    /// Obtains the drawing context through a custom component event.
12212    ///
12213    /// # Arguments
12214    ///
12215    /// * `event` - Indicates the pointer to the custom component event.
12216    ///
12217    /// # Returns
12218    ///
12219    /// * Returns the drawing context.
12220    ///
12221    /// Available since API-level: 12
12222    #[cfg(feature = "api-12")]
12223    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12224    pub fn OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(
12225        event: *mut ArkUI_NodeCustomEvent,
12226    ) -> *mut ArkUI_DrawContext;
12227    /// Obtains the ID of a custom component event.
12228    ///
12229    /// # Arguments
12230    ///
12231    /// * `event` - Indicates the pointer to the custom component event.
12232    ///
12233    /// # Returns
12234    ///
12235    /// * Returns the ID of the custom component event.
12236    ///
12237    /// Available since API-level: 12
12238    #[cfg(feature = "api-12")]
12239    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12240    pub fn OH_ArkUI_NodeCustomEvent_GetEventTargetId(event: *mut ArkUI_NodeCustomEvent) -> i32;
12241    /// Obtains custom event parameters through a custom component event.
12242    ///
12243    /// # Arguments
12244    ///
12245    /// * `event` - Indicates the pointer to the custom component event.
12246    ///
12247    /// # Returns
12248    ///
12249    /// * Returns the custom event parameters.
12250    ///
12251    /// Available since API-level: 12
12252    #[cfg(feature = "api-12")]
12253    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12254    pub fn OH_ArkUI_NodeCustomEvent_GetUserData(
12255        event: *mut ArkUI_NodeCustomEvent,
12256    ) -> *mut ::core::ffi::c_void;
12257    /// Obtains a component object through a custom component event.
12258    ///
12259    /// # Arguments
12260    ///
12261    /// * `event` - Indicates the pointer to the custom component event.
12262    ///
12263    /// # Returns
12264    ///
12265    /// * Returns the component object.
12266    ///
12267    /// Available since API-level: 12
12268    #[cfg(feature = "api-12")]
12269    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12270    pub fn OH_ArkUI_NodeCustomEvent_GetNodeHandle(
12271        event: *mut ArkUI_NodeCustomEvent,
12272    ) -> ArkUI_NodeHandle;
12273    /// Obtains the event type through a custom component event.
12274    ///
12275    /// # Arguments
12276    ///
12277    /// * `event` - Indicates the pointer to the custom component event.
12278    ///
12279    /// # Returns
12280    ///
12281    /// * Returns the type of the custom component event.
12282    ///
12283    /// Available since API-level: 12
12284    #[cfg(feature = "api-12")]
12285    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12286    pub fn OH_ArkUI_NodeCustomEvent_GetEventType(
12287        event: *mut ArkUI_NodeCustomEvent,
12288    ) -> ArkUI_NodeCustomEventType;
12289    /// Obtains the measurement information of a custom span through a custom component event.
12290    ///
12291    /// # Arguments
12292    ///
12293    /// * `event` - Indicates the pointer to the custom component event.
12294    ///
12295    /// * `info` - Indicates the measurement information to be obtained.
12296    ///
12297    /// # Returns
12298    ///
12299    /// * Returns the result code.
12300    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12301    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12302    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12303    ///
12304    /// Available since API-level: 12
12305    #[cfg(feature = "api-12")]
12306    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12307    pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(
12308        event: *mut ArkUI_NodeCustomEvent,
12309        info: *mut ArkUI_CustomSpanMeasureInfo,
12310    ) -> i32;
12311    /// Sets the measurement metrics of a custom span through a custom component event.
12312    ///
12313    /// # Arguments
12314    ///
12315    /// * `event` - Indicates the pointer to the custom component event.
12316    ///
12317    /// * `metrics` - Indicates the measurement metrics to set.
12318    ///
12319    /// # Returns
12320    ///
12321    /// * Returns the result code.
12322    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12323    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12324    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12325    ///
12326    /// Available since API-level: 12
12327    #[cfg(feature = "api-12")]
12328    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12329    pub fn OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(
12330        event: *mut ArkUI_NodeCustomEvent,
12331        metrics: *mut ArkUI_CustomSpanMetrics,
12332    ) -> i32;
12333    /// Obtains the drawing information of a custom span through a custom component event.
12334    ///
12335    /// # Arguments
12336    ///
12337    /// * `event` - Indicates the pointer to the custom component event.
12338    ///
12339    /// * `info` - Indicates the drawing information to obtain.
12340    ///
12341    /// # Returns
12342    ///
12343    /// * Returns the result code.
12344    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12345    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12346    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12347    ///
12348    /// Available since API-level: 12
12349    #[cfg(feature = "api-12")]
12350    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12351    pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(
12352        event: *mut ArkUI_NodeCustomEvent,
12353        info: *mut ArkUI_CustomSpanDrawInfo,
12354    ) -> i32;
12355    /// register a callback function to a node content.
12356    ///
12357    /// # Arguments
12358    ///
12359    /// * `content` - Indicates the pointer to the node content instance.
12360    ///
12361    /// * `callback` - Indicates the callback function.
12362    ///
12363    /// # Returns
12364    ///
12365    /// * Returns the error code.
12366    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12367    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12368    ///
12369    /// Available since API-level: 12
12370    #[cfg(feature = "api-12")]
12371    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12372    pub fn OH_ArkUI_NodeContent_RegisterCallback(
12373        content: ArkUI_NodeContentHandle,
12374        callback: ArkUI_NodeContentCallback,
12375    ) -> i32;
12376    /// Obtains the type of a node content event.
12377    ///
12378    /// # Arguments
12379    ///
12380    /// * `event` - Indicates the pointer to the node content event.
12381    ///
12382    /// # Returns
12383    ///
12384    /// * Returns the type of the node content event.
12385    ///
12386    /// Available since API-level: 12
12387    #[cfg(feature = "api-12")]
12388    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12389    pub fn OH_ArkUI_NodeContentEvent_GetEventType(
12390        event: *mut ArkUI_NodeContentEvent,
12391    ) -> ArkUI_NodeContentEventType;
12392    /// Obtains the node content object that triggers a node content event.
12393    ///
12394    /// # Arguments
12395    ///
12396    /// * `event` - Indicates the pointer to the node content event.
12397    ///
12398    /// # Returns
12399    ///
12400    /// * Returns the node content object that triggers the node content event.
12401    ///
12402    /// Available since API-level: 12
12403    #[cfg(feature = "api-12")]
12404    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12405    pub fn OH_ArkUI_NodeContentEvent_GetNodeContentHandle(
12406        event: *mut ArkUI_NodeContentEvent,
12407    ) -> ArkUI_NodeContentHandle;
12408    /// Saves custom data on the specified node content.
12409    ///
12410    /// # Arguments
12411    ///
12412    /// * `content` - Indicates the node content on which the custom data will be saved.
12413    ///
12414    /// * `userData` - Indicates the custom data to be saved.
12415    ///
12416    /// # Returns
12417    ///
12418    /// * Returns the error code.
12419    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12420    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12421    ///
12422    /// Available since API-level: 12
12423    #[cfg(feature = "api-12")]
12424    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12425    pub fn OH_ArkUI_NodeContent_SetUserData(
12426        content: ArkUI_NodeContentHandle,
12427        userData: *mut ::core::ffi::c_void,
12428    ) -> i32;
12429    /// Obtains the custom data saved on the specified node content.
12430    ///
12431    /// # Arguments
12432    ///
12433    /// * `content` - Indicates the target node content.
12434    ///
12435    /// # Returns
12436    ///
12437    /// * Returns the custom data.
12438    ///
12439    /// Available since API-level: 12
12440    #[cfg(feature = "api-12")]
12441    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12442    pub fn OH_ArkUI_NodeContent_GetUserData(
12443        content: ArkUI_NodeContentHandle,
12444    ) -> *mut ::core::ffi::c_void;
12445    /// Add a node to a node content.
12446    ///
12447    /// # Arguments
12448    ///
12449    /// * `content` - Indicates the pointer to the node content instance.
12450    ///
12451    /// * `node` - Indicates the pointer to the node
12452    ///
12453    /// # Returns
12454    ///
12455    /// * Returns the error code.
12456    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12457    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12458    ///
12459    /// Available since API-level: 12
12460    #[cfg(feature = "api-12")]
12461    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12462    pub fn OH_ArkUI_NodeContent_AddNode(
12463        content: ArkUI_NodeContentHandle,
12464        node: ArkUI_NodeHandle,
12465    ) -> i32;
12466    /// remove a node from a node content.
12467    ///
12468    /// # Arguments
12469    ///
12470    /// * `content` - Indicates the pointer to the node content instance.
12471    ///
12472    /// * `node` - Indicates the pointer to the node
12473    ///
12474    /// # Returns
12475    ///
12476    /// * Returns the error code.
12477    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12478    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12479    ///
12480    /// Available since API-level: 12
12481    #[cfg(feature = "api-12")]
12482    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12483    pub fn OH_ArkUI_NodeContent_RemoveNode(
12484        content: ArkUI_NodeContentHandle,
12485        node: ArkUI_NodeHandle,
12486    ) -> i32;
12487    /// insert a node into a node content at a given position.
12488    ///
12489    /// # Arguments
12490    ///
12491    /// * `content` - Indicates the pointer to the node content instance.
12492    ///
12493    /// * `node` - Indicates the pointer to the node
12494    ///
12495    /// * `position` - Indicates the position for inserting the node
12496    ///
12497    /// # Returns
12498    ///
12499    /// * Returns the error code.
12500    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12501    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12502    ///
12503    /// Available since API-level: 12
12504    #[cfg(feature = "api-12")]
12505    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12506    pub fn OH_ArkUI_NodeContent_InsertNode(
12507        content: ArkUI_NodeContentHandle,
12508        node: ArkUI_NodeHandle,
12509        position: i32,
12510    ) -> i32;
12511    /// Get the size of the component layout area.
12512    /// The layout area size does not include graphic variation attributes such as scaling.
12513    ///
12514    /// # Arguments
12515    ///
12516    /// * `node` - ArkUI_NodeHandle pointer.
12517    ///
12518    /// * `size` - The drawing area size of the component handle, in px.
12519    ///
12520    /// # Returns
12521    ///
12522    /// * Returns the error code.
12523    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12524    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12525    ///
12526    /// Available since API-level: 12
12527    #[cfg(feature = "api-12")]
12528    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12529    pub fn OH_ArkUI_NodeUtils_GetLayoutSize(
12530        node: ArkUI_NodeHandle,
12531        size: *mut ArkUI_IntSize,
12532    ) -> i32;
12533    /// Obtain the position of the component layout area relative to the parent component.
12534    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12535    ///
12536    /// # Arguments
12537    ///
12538    /// * `node` - ArkUI_NodeHandle pointer.
12539    ///
12540    /// * `localOffset` - The offset value of the component handle relative to the parent component, in px.
12541    ///
12542    /// # Returns
12543    ///
12544    /// * Returns the error code.
12545    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12546    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12547    ///
12548    /// Available since API-level: 12
12549    #[cfg(feature = "api-12")]
12550    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12551    pub fn OH_ArkUI_NodeUtils_GetLayoutPosition(
12552        node: ArkUI_NodeHandle,
12553        localOffset: *mut ArkUI_IntOffset,
12554    ) -> i32;
12555    /// Obtain the position of the component layout area relative to the window.
12556    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12557    ///
12558    /// # Arguments
12559    ///
12560    /// * `node` - ArkUI_NodeHandle pointer.
12561    ///
12562    /// * `globalOffset` - The offset value of the component handle relative to the window, in px.
12563    ///
12564    /// # Returns
12565    ///
12566    /// * Returns the error code.
12567    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12568    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12569    ///
12570    /// Available since API-level: 12
12571    #[cfg(feature = "api-12")]
12572    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12573    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(
12574        node: ArkUI_NodeHandle,
12575        globalOffset: *mut ArkUI_IntOffset,
12576    ) -> i32;
12577    /// Obtain the position of the component layout area relative to the screen.
12578    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12579    ///
12580    /// # Arguments
12581    ///
12582    /// * `node` - ArkUI_NodeHandle pointer.
12583    ///
12584    /// * `screenOffset` - The offset value of the component handle relative to the screen, in px.
12585    ///
12586    /// # Returns
12587    ///
12588    /// * Returns the error code.
12589    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12590    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12591    ///
12592    /// Available since API-level: 12
12593    #[cfg(feature = "api-12")]
12594    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12595    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(
12596        node: ArkUI_NodeHandle,
12597        screenOffset: *mut ArkUI_IntOffset,
12598    ) -> i32;
12599    /// Obtains the offset of a component relative to the global display.
12600    /// The relative position does not count in transformation attributes, such as translate.
12601    ///
12602    /// # Arguments
12603    ///
12604    /// * `node` - Pointer to the <b>ArkUI_NodeHandle</b> representing the component.
12605    ///
12606    /// * `offset` - Offset of the component relative to the global display, in px.
12607    ///
12608    /// # Returns
12609    ///
12610    /// * Result code.
12611    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12612    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12613    ///
12614    /// Available since API-level: 20
12615    #[cfg(feature = "api-20")]
12616    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12617    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(
12618        node: ArkUI_NodeHandle,
12619        offset: *mut ArkUI_IntOffset,
12620    ) -> i32;
12621    /// Obtain the position of the component in the window, including the properties of graphic translation changes.
12622    ///
12623    /// # Arguments
12624    ///
12625    /// * `node` - ArkUI_NodeHandle pointer.
12626    ///
12627    /// * `translateOffset` - The cumulative offset value of the component handle itself,
12628    /// parent components, and ancestor nodes, in px.
12629    ///
12630    /// # Returns
12631    ///
12632    /// * Returns the error code.
12633    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12634    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12635    ///
12636    /// Available since API-level: 12
12637    #[cfg(feature = "api-12")]
12638    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12639    pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(
12640        node: ArkUI_NodeHandle,
12641        translateOffset: *mut ArkUI_IntOffset,
12642    ) -> i32;
12643    /// Obtain the position of the component on the screen, including the attributes of graphic translation changes.
12644    ///
12645    /// # Arguments
12646    ///
12647    /// * `node` - ArkUI_NodeHandle pointer.
12648    ///
12649    /// * `translateOffset` - The cumulative offset value of the component handle itself,
12650    /// parent components, and ancestor nodes, in px.
12651    ///
12652    /// # Returns
12653    ///
12654    /// * Returns the error code.
12655    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12656    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12657    ///
12658    /// Available since API-level: 12
12659    #[cfg(feature = "api-12")]
12660    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12661    pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(
12662        node: ArkUI_NodeHandle,
12663        translateOffset: *mut ArkUI_IntOffset,
12664    ) -> i32;
12665    /// Add the custom property of the component. This interface only works on the main thread.
12666    ///
12667    /// # Arguments
12668    ///
12669    /// * `node` - ArkUI_NodeHandle pointer.
12670    ///
12671    /// * `name` - The name of the custom property. Passing null pointers is not allowed.
12672    ///
12673    /// * `value` - The value of the custom property. Passing null pointers is not allowed.
12674    ///
12675    /// Available since API-level: 13
12676    #[cfg(feature = "api-13")]
12677    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
12678    pub fn OH_ArkUI_NodeUtils_AddCustomProperty(
12679        node: ArkUI_NodeHandle,
12680        name: *const ::core::ffi::c_char,
12681        value: *const ::core::ffi::c_char,
12682    );
12683    /// Remove the custom property of the component.
12684    ///
12685    /// # Arguments
12686    ///
12687    /// * `node` - ArkUI_NodeHandle pointer.
12688    ///
12689    /// * `name` - The name of the custom property.
12690    ///
12691    /// Available since API-level: 13
12692    #[cfg(feature = "api-13")]
12693    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
12694    pub fn OH_ArkUI_NodeUtils_RemoveCustomProperty(
12695        node: ArkUI_NodeHandle,
12696        name: *const ::core::ffi::c_char,
12697    );
12698    /// Get the value of the custom property of the component.
12699    ///
12700    /// # Arguments
12701    ///
12702    /// * `node` - ArkUI-NodeHandle pointer.
12703    ///
12704    /// * `name` - The name of the custom attribute.
12705    ///
12706    /// * `handle` - The structure of the custom attribute corresponding to the key parameter name obtained.
12707    ///
12708    /// # Returns
12709    ///
12710    /// * Error code.
12711    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12712    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12713    ///
12714    /// Available since API-level: 14
12715    #[cfg(feature = "api-14")]
12716    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12717    pub fn OH_ArkUI_NodeUtils_GetCustomProperty(
12718        node: ArkUI_NodeHandle,
12719        name: *const ::core::ffi::c_char,
12720        handle: *mut *mut ArkUI_CustomProperty,
12721    ) -> i32;
12722    /// Get the parent node to obtain the component nodes created by ArkTs.
12723    ///
12724    /// # Arguments
12725    ///
12726    /// * `node` - Target node object.
12727    ///
12728    /// # Returns
12729    ///
12730    /// * Return the pointer of the component.
12731    ///
12732    /// Available since API-level: 14
12733    #[cfg(feature = "api-14")]
12734    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12735    pub fn OH_ArkUI_NodeUtils_GetParentInPageTree(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
12736    /// Retrieve all active child nodes of a node. Span will not be counted in the children.
12737    ///
12738    /// # Arguments
12739    ///
12740    /// * `head` - Pass in the node that needs to be obtained.
12741    ///
12742    /// * `handle` - The structure corresponding to the sub node information of the head node.
12743    ///
12744    /// # Returns
12745    ///
12746    /// * Error code.
12747    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12748    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12749    ///
12750    /// Available since API-level: 14
12751    #[cfg(feature = "api-14")]
12752    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12753    pub fn OH_ArkUI_NodeUtils_GetActiveChildrenInfo(
12754        head: ArkUI_NodeHandle,
12755        handle: *mut *mut ArkUI_ActiveChildrenInfo,
12756    ) -> i32;
12757    /// Retrieve the root node of the current page.
12758    ///
12759    /// # Arguments
12760    ///
12761    /// * `node` - Target node object.
12762    ///
12763    /// # Returns
12764    ///
12765    /// * Return the pointer of the component.
12766    ///
12767    /// Available since API-level: 14
12768    #[cfg(feature = "api-14")]
12769    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12770    pub fn OH_ArkUI_NodeUtils_GetCurrentPageRootNode(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
12771    /// Retrieve whether the component is labeled by C-API.
12772    ///
12773    /// # Arguments
12774    ///
12775    /// * `node` - Target node object.
12776    ///
12777    /// # Returns
12778    ///
12779    /// * Return whether the node is a Tag created by C-API,
12780    /// true represents created by C-API, false represents not created by C-API.
12781    ///
12782    /// Available since API-level: 14
12783    #[cfg(feature = "api-14")]
12784    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12785    pub fn OH_ArkUI_NodeUtils_IsCreatedByNDK(node: ArkUI_NodeHandle) -> bool;
12786    /// Get the type of node.
12787    ///
12788    /// # Arguments
12789    ///
12790    /// * `node` - Target node object.
12791    ///
12792    /// # Returns
12793    ///
12794    /// * Return the type of the node.
12795    /// For specific open types, refer to [`ArkUI_NodeType`]. For unopened nodes, return -1.
12796    ///
12797    /// Available since API-level: 14
12798    #[cfg(feature = "api-14")]
12799    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12800    pub fn OH_ArkUI_NodeUtils_GetNodeType(node: ArkUI_NodeHandle) -> i32;
12801    /// Get info of the window to which the node belongs.
12802    ///
12803    /// # Arguments
12804    ///
12805    /// * `node` - Target node object.
12806    ///
12807    /// * `info` - Window info. Use [`OH_ArkUI_HostWindowInfo_Destroy`] to release memory.
12808    ///
12809    /// # Returns
12810    ///
12811    /// * Error code.
12812    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12813    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12814    /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The node is not mounted.
12815    ///
12816    /// Available since API-level: 15
12817    #[cfg(feature = "api-15")]
12818    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12819    pub fn OH_ArkUI_NodeUtils_GetWindowInfo(
12820        node: ArkUI_NodeHandle,
12821        info: *mut *mut ArkUI_HostWindowInfo,
12822    ) -> i32;
12823    /// Obtains the index of the current FrameNode's first child node which is on the tree.
12824    ///
12825    /// # Arguments
12826    ///
12827    /// * `node` - Indicates the target node.
12828    ///
12829    /// * `index` - The index of the subnode.
12830    ///
12831    /// # Returns
12832    ///
12833    /// * Error code.
12834    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12835    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12836    ///
12837    /// Available since API-level: 15
12838    #[cfg(feature = "api-15")]
12839    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12840    pub fn OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(
12841        node: ArkUI_NodeHandle,
12842        index: *mut u32,
12843    ) -> i32;
12844    /// Obtains the index of the current FrameNode's last child node which is on the tree.
12845    ///
12846    /// # Arguments
12847    ///
12848    /// * `node` - Indicates the target node.
12849    ///
12850    /// * `index` - the index of the subnode.
12851    ///
12852    /// # Returns
12853    ///
12854    /// * Error code.
12855    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12856    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12857    ///
12858    /// Available since API-level: 15
12859    #[cfg(feature = "api-15")]
12860    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12861    pub fn OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(
12862        node: ArkUI_NodeHandle,
12863        index: *mut u32,
12864    ) -> i32;
12865    /// Obtains a subnode by position with the expand mode.
12866    ///
12867    /// # Arguments
12868    ///
12869    /// * `node` - Indicates the target node.
12870    ///
12871    /// * `position` - Indicates the position of the subnode.
12872    ///
12873    /// * `subnode` - The pointer to the subnode.
12874    ///
12875    /// * `expandMode` - Indicates the expand mode. [`ArkUI_ExpandMode`].
12876    ///
12877    /// # Returns
12878    ///
12879    /// * Error code.
12880    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12881    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12882    ///
12883    /// Available since API-level: 15
12884    #[cfg(feature = "api-15")]
12885    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12886    pub fn OH_ArkUI_NodeUtils_GetChildWithExpandMode(
12887        node: ArkUI_NodeHandle,
12888        position: i32,
12889        subnode: *mut ArkUI_NodeHandle,
12890        expandMode: u32,
12891    ) -> i32;
12892    /// Collapse the ListItem in its expanded state.
12893    ///
12894    /// # Arguments
12895    ///
12896    /// * `node` - Node objects that need to be registered for events.
12897    ///
12898    /// * `userData` - Custom event parameters are carried back in the callback parameter when the event is triggered.
12899    ///
12900    /// * `onFinish` - The callback triggered after the completion of the folding animation.
12901    ///
12902    /// # Returns
12903    ///
12904    /// * Error code.
12905    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12906    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12907    /// [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] The component does not support this event.
12908    ///
12909    /// Available since API-level: 12
12910    #[cfg(feature = "api-12")]
12911    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12912    pub fn OH_ArkUI_List_CloseAllSwipeActions(
12913        node: ArkUI_NodeHandle,
12914        userData: *mut ::core::ffi::c_void,
12915        onFinish: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
12916    ) -> i32;
12917    /// Obtain the UIContext pointer to the page where the node is located.
12918    ///
12919    /// # Arguments
12920    ///
12921    /// * `node` - The node.
12922    ///
12923    /// # Returns
12924    ///
12925    /// * The UIContext pointer.
12926    /// If a null pointer is returned, it may be because the node is empty.
12927    ///
12928    /// Available since API-level: 12
12929    #[cfg(feature = "api-12")]
12930    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12931    pub fn OH_ArkUI_GetContextByNode(node: ArkUI_NodeHandle) -> ArkUI_ContextHandle;
12932    /// The event called when the system color mode changes.
12933    /// Only one system color change callback can be registered for the same component.
12934    ///
12935    /// # Arguments
12936    ///
12937    /// * `node` - Indicates the target node.
12938    ///
12939    /// * `userData` - Indicates the custom data to be saved.
12940    ///
12941    /// * `onColorModeChange` - Callback Events.
12942    ///
12943    /// # Returns
12944    ///
12945    /// * Error code.
12946    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12947    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12948    ///
12949    /// Available since API-level: 12
12950    #[cfg(feature = "api-12")]
12951    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12952    pub fn OH_ArkUI_RegisterSystemColorModeChangeEvent(
12953        node: ArkUI_NodeHandle,
12954        userData: *mut ::core::ffi::c_void,
12955        onColorModeChange: ::core::option::Option<
12956            unsafe extern "C" fn(
12957                colorMode: ArkUI_SystemColorMode,
12958                userData: *mut ::core::ffi::c_void,
12959            ),
12960        >,
12961    ) -> i32;
12962    /// Unregister the event callback when the system color mode changes.
12963    ///
12964    /// # Arguments
12965    ///
12966    /// * `node` - Indicates the target node.
12967    ///
12968    /// Available since API-level: 12
12969    #[cfg(feature = "api-12")]
12970    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12971    pub fn OH_ArkUI_UnregisterSystemColorModeChangeEvent(node: ArkUI_NodeHandle);
12972    /// The event called when the system font style changes.
12973    /// Only one system font change callback can be registered for the same component.
12974    ///
12975    /// # Arguments
12976    ///
12977    /// * `node` - Indicates the target node.
12978    ///
12979    /// * `userData` - Indicates the custom data to be saved.
12980    ///
12981    /// * `onFontStyleChange` - Callback Events.
12982    ///
12983    /// # Returns
12984    ///
12985    /// * Error code.
12986    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12987    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12988    ///
12989    /// Available since API-level: 12
12990    #[cfg(feature = "api-12")]
12991    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12992    pub fn OH_ArkUI_RegisterSystemFontStyleChangeEvent(
12993        node: ArkUI_NodeHandle,
12994        userData: *mut ::core::ffi::c_void,
12995        onFontStyleChange: ::core::option::Option<
12996            unsafe extern "C" fn(
12997                event: *mut ArkUI_SystemFontStyleEvent,
12998                userData: *mut ::core::ffi::c_void,
12999            ),
13000        >,
13001    ) -> i32;
13002    /// Unregister the event callback when the system font style changes.
13003    ///
13004    /// # Arguments
13005    ///
13006    /// * `node` - Indicates the target node.
13007    ///
13008    /// Available since API-level: 12
13009    #[cfg(feature = "api-12")]
13010    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13011    pub fn OH_ArkUI_UnregisterSystemFontStyleChangeEvent(node: ArkUI_NodeHandle);
13012    /// Retrieve the font size value for system font change events.
13013    ///
13014    /// # Arguments
13015    ///
13016    /// * `event` - Indicates a pointer to the current system font change event.
13017    ///
13018    /// # Returns
13019    ///
13020    /// * Updated system font size scaling factor. Default value: 1.0.
13021    ///
13022    /// Available since API-level: 12
13023    #[cfg(feature = "api-12")]
13024    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13025    pub fn OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(
13026        event: *const ArkUI_SystemFontStyleEvent,
13027    ) -> f32;
13028    /// Retrieve the font thickness values for system font change events.
13029    ///
13030    /// # Arguments
13031    ///
13032    /// * `event` - Indicates a pointer to the current system font change event.
13033    ///
13034    /// # Returns
13035    ///
13036    /// * The updated system font thickness scaling factor. Default value: 1.0.
13037    ///
13038    /// Available since API-level: 12
13039    #[cfg(feature = "api-12")]
13040    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13041    pub fn OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(
13042        event: *const ArkUI_SystemFontStyleEvent,
13043    ) -> f32;
13044    /// Move the node handle to target parent node as child.
13045    ///
13046    /// # Arguments
13047    ///
13048    /// * `node` - The node handle of the node to move.
13049    ///
13050    /// * `target_parent` - The node handle of target parent.
13051    ///
13052    /// * `index` - Indicates the index which the node is moved to. If the value is a nagative number of invalid, the
13053    /// node is moved to the end of the target parent node.
13054    ///
13055    /// # Returns
13056    ///
13057    /// * Error code.
13058    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13059    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13060    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13061    ///
13062    /// Available since API-level: 18
13063    #[cfg(feature = "api-18")]
13064    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
13065    pub fn OH_ArkUI_NodeUtils_MoveTo(
13066        node: ArkUI_NodeHandle,
13067        target_parent: ArkUI_NodeHandle,
13068        index: i32,
13069    ) -> i32;
13070    /// Triggers node updates in the current frame.
13071    /// When node attributes are modified after the current frame's build phase (i.e., after
13072    /// the unified processing of dirty nodes), the node updates will be deferred to the next
13073    /// frame. This function forces immediate node updates within the current frame to
13074    /// ensure rendering effects are applied synchronously.
13075    ///
13076    /// # Arguments
13077    ///
13078    /// * `node` - ArkUI_NodeHandle pointer.
13079    ///
13080    /// # Returns
13081    ///
13082    /// * Error code.
13083    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
13084    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13085    ///
13086    /// Available since API-level: 21
13087    #[cfg(feature = "api-21")]
13088    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13089    pub fn OH_ArkUI_NativeModule_InvalidateAttributes(node: ArkUI_NodeHandle) -> i32;
13090    /// Set the cross-language option of the target node handle.
13091    ///
13092    /// # Arguments
13093    ///
13094    /// * `node` - The target node handle.
13095    ///
13096    /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
13097    ///
13098    /// # Returns
13099    ///
13100    /// * Error code.
13101    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13102    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13103    ///
13104    /// Available since API-level: 15
13105    #[cfg(feature = "api-15")]
13106    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13107    pub fn OH_ArkUI_NodeUtils_SetCrossLanguageOption(
13108        node: ArkUI_NodeHandle,
13109        option: *mut ArkUI_CrossLanguageOption,
13110    ) -> i32;
13111    /// Get the cross-language option of the target node handle.
13112    ///
13113    /// # Arguments
13114    ///
13115    /// * `node` - The target node handle.
13116    ///
13117    /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
13118    ///
13119    /// # Returns
13120    ///
13121    /// * Error code.
13122    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13123    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13124    ///
13125    /// Available since API-level: 15
13126    #[cfg(feature = "api-15")]
13127    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13128    pub fn OH_ArkUI_NodeUtils_GetCrossLanguageOption(
13129        node: ArkUI_NodeHandle,
13130        option: *mut ArkUI_CrossLanguageOption,
13131    ) -> i32;
13132    /// Registers a callback for node when layout is completed.
13133    ///
13134    /// # Arguments
13135    ///
13136    /// * `node` - Indicates the target node.
13137    ///
13138    /// * `userData` - Indicates the custom data used in onLayoutCompleted callback function.
13139    ///
13140    /// * `onLayoutCompleted` - Indicates the function when layout completed is callback.
13141    ///
13142    /// # Returns
13143    ///
13144    /// * error code
13145    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13146    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13147    ///
13148    /// Available since API-level: 15
13149    #[cfg(feature = "api-15")]
13150    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13151    pub fn OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(
13152        node: ArkUI_NodeHandle,
13153        userData: *mut ::core::ffi::c_void,
13154        onLayoutCompleted: ::core::option::Option<
13155            unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
13156        >,
13157    ) -> i32;
13158    /// Registers a callback for node when draw is completed.
13159    ///
13160    /// # Arguments
13161    ///
13162    /// * `node` - Indicates the target node.
13163    ///
13164    /// * `userData` - Indicates the custom data used in onDrawCompleted callback function.
13165    ///
13166    /// * `onDrawCompleted` - Indicates the function when draw completed is callback.
13167    ///
13168    /// # Returns
13169    ///
13170    /// * error code
13171    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13172    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13173    ///
13174    /// Available since API-level: 15
13175    #[cfg(feature = "api-15")]
13176    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13177    pub fn OH_ArkUI_RegisterDrawCallbackOnNodeHandle(
13178        node: ArkUI_NodeHandle,
13179        userData: *mut ::core::ffi::c_void,
13180        onDrawCompleted: ::core::option::Option<
13181            unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
13182        >,
13183    ) -> i32;
13184    /// Unregisters the layout completed callback for node.
13185    ///
13186    /// # Arguments
13187    ///
13188    /// * `node` - Indicates the target node.
13189    ///
13190    /// # Returns
13191    ///
13192    /// * error code
13193    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13194    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13195    ///
13196    /// Available since API-level: 15
13197    #[cfg(feature = "api-15")]
13198    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13199    pub fn OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
13200    /// Unregisters the draw completed callback for node.
13201    ///
13202    /// # Arguments
13203    ///
13204    /// * `node` - Indicates the target node.
13205    ///
13206    /// # Returns
13207    ///
13208    /// * error code
13209    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13210    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13211    ///
13212    /// Available since API-level: 15
13213    #[cfg(feature = "api-15")]
13214    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13215    pub fn OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
13216    /// Get the node handle by id.
13217    ///
13218    /// # Arguments
13219    ///
13220    /// * `id` - The id of the target node handle.
13221    ///
13222    /// * `node` - The handle of target node handle.
13223    ///
13224    /// # Returns
13225    ///
13226    /// * Error code.
13227    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13228    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13229    ///
13230    /// Available since API-level: 15
13231    #[cfg(feature = "api-15")]
13232    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13233    pub fn OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(
13234        id: *const ::core::ffi::c_char,
13235        node: *mut ArkUI_NodeHandle,
13236    ) -> i32;
13237    /// Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the
13238    /// tree or is not rendered yet.
13239    /// Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more.
13240    ///
13241    /// # Arguments
13242    ///
13243    /// * `node` - Indicates the target node.
13244    ///
13245    /// * `snapshotOptions` - the given configuration for taking snapshot, can be null for using default.
13246    ///
13247    /// * `pixelmap` - Pixelmap pointer created by system, it's the out result.
13248    ///
13249    /// # Returns
13250    ///
13251    /// * Returns the result code.
13252    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13253    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13254    /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot taking failed will null pixelmap returned.
13255    /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot taking is timeout.
13256    ///
13257    /// Available since API-level: 15
13258    #[cfg(feature = "api-15")]
13259    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13260    pub fn OH_ArkUI_GetNodeSnapshot(
13261        node: ArkUI_NodeHandle,
13262        snapshotOptions: *mut ArkUI_SnapshotOptions,
13263        pixelmap: *mut *mut OH_PixelmapNative,
13264    ) -> i32;
13265    /// Obtains the offset of a specific node relative to its parent node.
13266    ///
13267    /// # Arguments
13268    ///
13269    /// * `node` - Target node.
13270    ///
13271    /// * `globalOffset` - Offset of the target node relative to its parent node, in px.
13272    ///
13273    /// # Returns
13274    ///
13275    /// * Returns the result code.
13276    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13277    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13278    ///
13279    /// Available since API-level: 15
13280    #[cfg(feature = "api-15")]
13281    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13282    pub fn OH_ArkUI_NodeUtils_GetPositionToParent(
13283        node: ArkUI_NodeHandle,
13284        globalOffset: *mut ArkUI_IntOffset,
13285    ) -> i32;
13286    /// Adds the UI state style supported by the component. To handle states change efficiently, need to specify the
13287    /// states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed.
13288    /// - You can adjust the UI style based on the current state within the callback. If this API is called multiple
13289    /// times on the same node, the last set of states and handler will take precedence.
13290    /// - Some component types have default system handling for certain states. For example, the <b>Button</b>
13291    /// component has a default style effect for the PRESSED state. When custom state handling is implemented on such
13292    /// components, the default style effect will be applied first, followed by the custom style changes, resulting in
13293    /// a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed
13294    /// by the system implementation.
13295    /// - And when this API is called, the provided handler function will be executed immediately.
13296    /// - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered,
13297    /// the system will automatically notify your application when the state changes back to NORMAL.
13298    ///
13299    /// # Arguments
13300    ///
13301    /// * `node` - Target node.
13302    ///
13303    /// * `uiStates` - Target UI states to be handled on the node.
13304    /// The combined result of all target UI states can be calculated using the <b>|</b> operator.
13305    /// Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>.
13306    ///
13307    /// * `statesChangeHandler` - Handler for UI state changes.
13308    /// It rturns the current UI status. The value is the result of combining all current state enum values using the
13309    /// <b>|</b> operator. You can determine the state using the <b>&</b> operator.
13310    /// Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b>.
13311    /// However, for checking the normal state, use the equality operator directly.
13312    /// Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>.
13313    ///
13314    /// * `excludeInner` - Whether to disable the default state styles.
13315    ///
13316    /// * `userData` - Custom data used in the <b>statesChangeHandler</b> callback.
13317    ///
13318    /// # Returns
13319    ///
13320    /// * Returns the result code.
13321    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13322    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13323    ///
13324    /// Available since API-level: 20
13325    #[cfg(feature = "api-20")]
13326    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13327    pub fn OH_ArkUI_AddSupportedUIStates(
13328        node: ArkUI_NodeHandle,
13329        uiStates: i32,
13330        statesChangeHandler: ::core::option::Option<
13331            unsafe extern "C" fn(currentStates: i32, userData: *mut ::core::ffi::c_void),
13332        >,
13333        excludeInner: bool,
13334        userData: *mut ::core::ffi::c_void,
13335    ) -> ArkUiResult;
13336    /// Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b>
13337    /// are removed, the registered <b>stateChangeHandler</b> will no longer be executed.
13338    ///
13339    /// # Arguments
13340    ///
13341    /// * `node` - Target node.
13342    ///
13343    /// * `uiStates` - Target UI states to be removed.
13344    ///
13345    /// # Returns
13346    ///
13347    /// * Returns the result code.
13348    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13349    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13350    ///
13351    /// Available since API-level: 20
13352    #[cfg(feature = "api-20")]
13353    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13354    pub fn OH_ArkUI_RemoveSupportedUIStates(node: ArkUI_NodeHandle, uiStates: i32) -> ArkUiResult;
13355    /// Run a custom function inside the UIContext scope.
13356    ///
13357    /// # Arguments
13358    ///
13359    /// * `uiContext` - ArkUI_ContextHandle.
13360    ///
13361    /// * `userData` - Indicates the pointer to the custom data.
13362    ///
13363    /// * `callback` - The custom function.
13364    ///
13365    /// # Returns
13366    ///
13367    /// * Returns the result code.
13368    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13369    /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13370    /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
13371    /// Returns [`ARKUI_ERROR_CODE_CALLBACK_INVALID`] if the callback function is invalid.
13372    ///
13373    /// Available since API-level: 20
13374    #[cfg(feature = "api-20")]
13375    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13376    pub fn OH_ArkUI_RunTaskInScope(
13377        uiContext: ArkUI_ContextHandle,
13378        userData: *mut ::core::ffi::c_void,
13379        callback: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
13380    ) -> i32;
13381    /// Get the node handle by uniqueId.
13382    ///
13383    /// # Arguments
13384    ///
13385    /// * `uniqueId` - The uniqueId of the target node handle.
13386    ///
13387    /// * `node` - The handle of target node handle.
13388    ///
13389    /// # Returns
13390    ///
13391    /// * Error code.
13392    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13393    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13394    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13395    ///
13396    /// Available since API-level: 20
13397    #[cfg(feature = "api-20")]
13398    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13399    pub fn OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(
13400        uniqueId: u32,
13401        node: *mut ArkUI_NodeHandle,
13402    ) -> i32;
13403    /// Get the uniqueId of the target node handle.
13404    ///
13405    /// # Arguments
13406    ///
13407    /// * `node` - The ArkUI-NodeHandle pointer.
13408    ///
13409    /// * `uniqueId` - The uniqueId of the target node handle, default value is -1.
13410    ///
13411    /// # Returns
13412    ///
13413    /// * Error code.
13414    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13415    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13416    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13417    ///
13418    /// Available since API-level: 20
13419    #[cfg(feature = "api-20")]
13420    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13421    pub fn OH_ArkUI_NodeUtils_GetNodeUniqueId(node: ArkUI_NodeHandle, uniqueId: *mut i32) -> i32;
13422    /// Sets the inverse color algorithm for components and instances.
13423    ///
13424    /// # Arguments
13425    ///
13426    /// * `uiContext` - Indicates the context in which the inverse color feature should take effect.
13427    /// If the value is null, the feature applies to the entire application process.
13428    ///
13429    /// * `forceDark` - Indicates whether the inverse color feature is enabled.
13430    ///
13431    /// * `nodeType` - Indicates the component type for which to enable the inverse color feature.
13432    /// If the value is ARKUI_NODE_UNDEFINED, enabling the feature for all components.
13433    ///
13434    /// * `colorInvertFunc` - Indicates the user-defined inverse color algorithm.
13435    ///
13436    /// # Returns
13437    ///
13438    /// * Returns the error code.
13439    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13440    /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if CAPI init error.
13441    /// Returns [`ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID`] if force dark config is invalid.
13442    ///
13443    /// Available since API-level: 20
13444    #[cfg(feature = "api-20")]
13445    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13446    pub fn OH_ArkUI_SetForceDarkConfig(
13447        uiContext: ArkUI_ContextHandle,
13448        forceDark: bool,
13449        nodeType: ArkUI_NodeType,
13450        colorInvertFunc: ::core::option::Option<unsafe extern "C" fn(color: u32) -> u32>,
13451    ) -> i32;
13452    /// Register common event callback of target node.
13453    ///
13454    /// # Arguments
13455    ///
13456    /// * `node` - The ArkUI-NodeHandle pointer.
13457    ///
13458    /// * `eventType` - Indicates the type of event to set.
13459    ///
13460    /// * `userData` - Indicates the pointer to the custom data.
13461    ///
13462    /// * `callback` - Indicates the event callback function.
13463    ///
13464    /// # Returns
13465    ///
13466    /// * Returns the result code.
13467    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13468    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13469    /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
13470    ///
13471    /// Available since API-level: 21
13472    #[cfg(feature = "api-21")]
13473    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13474    pub fn OH_ArkUI_NativeModule_RegisterCommonEvent(
13475        node: ArkUI_NodeHandle,
13476        eventType: ArkUI_NodeEventType,
13477        userData: *mut ::core::ffi::c_void,
13478        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13479    ) -> i32;
13480    /// Unregister common event callback of target node.
13481    ///
13482    /// # Arguments
13483    ///
13484    /// * `node` - The ArkUI-NodeHandle pointer.
13485    ///
13486    /// * `eventType` - Indicates the type of event to set.
13487    ///
13488    /// # Returns
13489    ///
13490    /// * Returns the result code.
13491    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13492    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13493    /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
13494    ///
13495    /// Available since API-level: 21
13496    #[cfg(feature = "api-21")]
13497    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13498    pub fn OH_ArkUI_NativeModule_UnregisterCommonEvent(
13499        node: ArkUI_NodeHandle,
13500        eventType: ArkUI_NodeEventType,
13501    ) -> i32;
13502    /// Register common visible area approximate change event callback of target node.
13503    ///
13504    /// # Arguments
13505    ///
13506    /// * `node` - The ArkUI-NodeHandle pointer.
13507    ///
13508    /// * `ratios` - Threshold array representing the visible area of the component.
13509    ///
13510    /// * `size` - The size of the ratios.
13511    ///
13512    /// * `expectedUpdateInterval` - The expected calculation interval for developers.
13513    ///
13514    /// * `userData` - Indicates the pointer to the custom data.
13515    ///
13516    /// * `callback` - Indicates the event callback function.
13517    ///
13518    /// # Returns
13519    ///
13520    /// * Returns the result code.
13521    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13522    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13523    ///
13524    /// Available since API-level: 21
13525    #[cfg(feature = "api-21")]
13526    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13527    pub fn OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(
13528        node: ArkUI_NodeHandle,
13529        ratios: *mut f32,
13530        size: i32,
13531        expectedUpdateInterval: f32,
13532        userData: *mut ::core::ffi::c_void,
13533        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13534    ) -> i32;
13535    /// Unregister common visible area approximate change event callback of target node.
13536    ///
13537    /// # Arguments
13538    ///
13539    /// * `node` - The ArkUI-NodeHandle pointer.
13540    ///
13541    /// # Returns
13542    ///
13543    /// * Returns the result code.
13544    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13545    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13546    ///
13547    /// Available since API-level: 21
13548    #[cfg(feature = "api-21")]
13549    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13550    pub fn OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(
13551        node: ArkUI_NodeHandle,
13552    ) -> i32;
13553}