Skip to main content

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::*;
7#[cfg(feature = "api-22")]
8use crate::ui_input_event::ArkUI_TouchTestInfo;
9use crate::ui_input_event::ArkUI_UIInputEvent;
10#[cfg(feature = "api-12")]
11use ohos_sys_opaque_types::ArkUI_ContextHandle;
12#[cfg(feature = "api-15")]
13use ohos_sys_opaque_types::OH_PixelmapNative;
14
15#[cfg(feature = "api-12")]
16#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
17impl ArkUI_NodeType {
18    /// Custom node.
19    pub const ARKUI_NODE_CUSTOM: ArkUI_NodeType = ArkUI_NodeType(0);
20    /// Text.
21    pub const ARKUI_NODE_TEXT: ArkUI_NodeType = ArkUI_NodeType(1);
22    /// Text span.
23    pub const ARKUI_NODE_SPAN: ArkUI_NodeType = ArkUI_NodeType(2);
24    /// Image span.
25    pub const ARKUI_NODE_IMAGE_SPAN: ArkUI_NodeType = ArkUI_NodeType(3);
26    /// Image.
27    pub const ARKUI_NODE_IMAGE: ArkUI_NodeType = ArkUI_NodeType(4);
28    /// Toggle.
29    pub const ARKUI_NODE_TOGGLE: ArkUI_NodeType = ArkUI_NodeType(5);
30    /// Loading icon.
31    pub const ARKUI_NODE_LOADING_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(6);
32    /// Single-line text input.
33    pub const ARKUI_NODE_TEXT_INPUT: ArkUI_NodeType = ArkUI_NodeType(7);
34    /// Multi-line text input.
35    pub const ARKUI_NODE_TEXT_AREA: ArkUI_NodeType = ArkUI_NodeType(8);
36    /// Button.
37    pub const ARKUI_NODE_BUTTON: ArkUI_NodeType = ArkUI_NodeType(9);
38    /// Progress indicator.
39    pub const ARKUI_NODE_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(10);
40    /// Check box.
41    pub const ARKUI_NODE_CHECKBOX: ArkUI_NodeType = ArkUI_NodeType(11);
42    /// XComponent.
43    pub const ARKUI_NODE_XCOMPONENT: ArkUI_NodeType = ArkUI_NodeType(12);
44    /// Date picker.
45    pub const ARKUI_NODE_DATE_PICKER: ArkUI_NodeType = ArkUI_NodeType(13);
46    /// Time picker.
47    pub const ARKUI_NODE_TIME_PICKER: ArkUI_NodeType = ArkUI_NodeType(14);
48    /// Text picker.
49    pub const ARKUI_NODE_TEXT_PICKER: ArkUI_NodeType = ArkUI_NodeType(15);
50    /// Calendar picker.
51    pub const ARKUI_NODE_CALENDAR_PICKER: ArkUI_NodeType = ArkUI_NodeType(16);
52    /// Slider.
53    pub const ARKUI_NODE_SLIDER: ArkUI_NodeType = ArkUI_NodeType(17);
54    /// Radio
55    pub const ARKUI_NODE_RADIO: ArkUI_NodeType = ArkUI_NodeType(18);
56    /// Image animator.
57    pub const ARKUI_NODE_IMAGE_ANIMATOR: ArkUI_NodeType = ArkUI_NodeType(19);
58    /// XComponent of type TEXTURE.
59    ///
60    /// Available since API-level: 18
61    #[cfg(feature = "api-18")]
62    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
63    pub const ARKUI_NODE_XCOMPONENT_TEXTURE: ArkUI_NodeType = ArkUI_NodeType(20);
64    /// Check box group.
65    ///
66    /// Available since API-level: 15
67    #[cfg(feature = "api-15")]
68    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
69    pub const ARKUI_NODE_CHECKBOX_GROUP: ArkUI_NodeType = ArkUI_NodeType(21);
70    /// Stack container.
71    pub const ARKUI_NODE_STACK: ArkUI_NodeType = ArkUI_NodeType(1000);
72    /// Swiper.
73    pub const ARKUI_NODE_SWIPER: ArkUI_NodeType = ArkUI_NodeType(1001);
74    /// Scrolling container.
75    pub const ARKUI_NODE_SCROLL: ArkUI_NodeType = ArkUI_NodeType(1002);
76    /// List.
77    pub const ARKUI_NODE_LIST: ArkUI_NodeType = ArkUI_NodeType(1003);
78    /// List item.
79    pub const ARKUI_NODE_LIST_ITEM: ArkUI_NodeType = ArkUI_NodeType(1004);
80    /// List item group.
81    pub const ARKUI_NODE_LIST_ITEM_GROUP: ArkUI_NodeType = ArkUI_NodeType(1005);
82    /// Column container.
83    pub const ARKUI_NODE_COLUMN: ArkUI_NodeType = ArkUI_NodeType(1006);
84    /// Row container.
85    pub const ARKUI_NODE_ROW: ArkUI_NodeType = ArkUI_NodeType(1007);
86    /// Flex container.
87    pub const ARKUI_NODE_FLEX: ArkUI_NodeType = ArkUI_NodeType(1008);
88    /// Refresh component.
89    pub const ARKUI_NODE_REFRESH: ArkUI_NodeType = ArkUI_NodeType(1009);
90    /// Water flow container.
91    pub const ARKUI_NODE_WATER_FLOW: ArkUI_NodeType = ArkUI_NodeType(1010);
92    /// Water flow item.
93    pub const ARKUI_NODE_FLOW_ITEM: ArkUI_NodeType = ArkUI_NodeType(1011);
94    /// Relative layout component.
95    pub const ARKUI_NODE_RELATIVE_CONTAINER: ArkUI_NodeType = ArkUI_NodeType(1012);
96    /// Grid.
97    pub const ARKUI_NODE_GRID: ArkUI_NodeType = ArkUI_NodeType(1013);
98    /// Grid item.
99    pub const ARKUI_NODE_GRID_ITEM: ArkUI_NodeType = ArkUI_NodeType(1014);
100    /// Custom span.
101    pub const ARKUI_NODE_CUSTOM_SPAN: ArkUI_NodeType = ArkUI_NodeType(1015);
102    /// EmbeddedComponent.
103    ///
104    /// Available since API-level: 20
105    #[cfg(feature = "api-20")]
106    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
107    pub const ARKUI_NODE_EMBEDDED_COMPONENT: ArkUI_NodeType = ArkUI_NodeType(1016);
108    /// Undefined.
109    ///
110    /// Available since API-level: 20
111    #[cfg(feature = "api-20")]
112    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
113    pub const ARKUI_NODE_UNDEFINED: ArkUI_NodeType = ArkUI_NodeType(1017);
114    /// Picker container.
115    ///
116    /// Available since API-level: 23
117    #[cfg(feature = "api-23")]
118    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
119    pub const ARKUI_NODE_PICKER: ArkUI_NodeType = ArkUI_NodeType(1018);
120}
121#[repr(transparent)]
122/// Enumerates ArkUI component types that can be created on the native side.
123///
124///
125/// Available since API-level: 12
126#[cfg(feature = "api-12")]
127#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
128#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
129pub struct ArkUI_NodeType(pub ::core::ffi::c_uint);
130/// Defines the general input parameter structure of the [`setAttribute`] function. The property
131/// setting interfaces can utilize the member variables within it to store data of specific parameter types.
132///
133///
134/// Available since API-level: 12
135#[cfg(feature = "api-12")]
136#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
137#[repr(C)]
138#[derive(Debug, Copy, Clone)]
139pub struct ArkUI_AttributeItem {
140    /// A number array, used to store parameters of the number array type.
141    pub value: *const ArkUI_NumberValue,
142    /// The size of the number array, used together with the variable value, indicating the length of the value array.
143    pub size: i32,
144    /// String type, used to store parameters of the string type.
145    pub string: *const ::core::ffi::c_char,
146    /// Object type, used to store parameters of the object type.
147    pub object: *mut ::core::ffi::c_void,
148}
149#[cfg(feature = "api-12")]
150#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
151impl ArkUI_NodeAttributeType {
152    /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
153    ///
154    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
155    ///
156    /// .value[0].f32: width, in vp.
157    ///
158    ///
159    ///
160    /// Format of the return value [`ArkUI_AttributeItem`]:
161    ///
162    /// .value[0].f32: width, in vp.
163    pub const NODE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(0);
164    /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
165    ///
166    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
167    ///
168    /// .value[0].f32: height, in vp.
169    ///
170    ///
171    ///
172    /// Format of the return value [`ArkUI_AttributeItem`]:
173    ///
174    /// .value[0].f32: height, in vp.
175    pub const NODE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1);
176    /// Defines the background color attribute, which can be set, reset, and obtained as required through APIs.
177    ///
178    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
179    ///
180    /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
181    ///
182    ///
183    ///
184    /// Format of the return value [`ArkUI_AttributeItem`]:
185    ///
186    /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
187    pub const NODE_BACKGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2);
188    /// Defines the background image attribute, which can be set, reset, and obtained as required through APIs.
189    ///
190    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
191    ///
192    /// .string: image address;
193    ///
194    /// .value[0]?.i32: whether to repeat the image. Optional. The parameter type is [`ArkUI_ImageRepeat`].
195    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
196    ///
197    /// The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.
198    ///
199    ///
200    ///
201    /// Format of the return value [`ArkUI_AttributeItem`]:
202    ///
203    /// .string: image address;
204    ///
205    /// .value[0].i32: whether to repeat the image. The parameter type is [`ArkUI_ImageRepeat`].
206    ///
207    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
208    pub const NODE_BACKGROUND_IMAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3);
209    /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
210    ///
211    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
212    ///
213    /// 1: Specify the same padding for the four directions.
214    ///
215    /// .value[0].f32: padding, in vp.
216    ///
217    /// 2: Specify different paddings for different directions.
218    ///
219    /// .value[0].f32: top padding, in vp.
220    ///
221    /// .value[1].f32: right padding, in vp.
222    ///
223    /// .value[2].f32: bottom padding, in vp.
224    ///
225    /// .value[3].f32: left padding, in vp.
226    ///
227    ///
228    ///
229    /// Format of the return value [`ArkUI_AttributeItem`]:
230    ///
231    /// .value[0].f32: top padding, in vp.
232    ///
233    /// .value[1].f32: right padding, in vp.
234    ///
235    /// .value[2].f32: bottom padding, in vp.
236    ///
237    /// .value[3].f32: left padding, in vp.
238    pub const NODE_PADDING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4);
239    /// Defines the component ID attribute, which can be set, reset, and obtained as required through APIs.
240    ///
241    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
242    ///
243    /// .string: component ID.
244    ///
245    ///
246    ///
247    /// Format of the return value [`ArkUI_AttributeItem`]:
248    ///
249    /// .string: component ID.
250    pub const NODE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5);
251    /// Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs.
252    ///
253    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
254    ///
255    /// .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.
256    ///
257    ///
258    ///
259    /// Format of the return value [`ArkUI_AttributeItem`]:
260    ///
261    /// .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite.
262    pub const NODE_ENABLED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6);
263    /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
264    ///
265    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
266    ///
267    /// 1: Specify the same margin for the four directions.
268    ///
269    /// .value[0].f32: margin, in vp.
270    ///
271    /// 2: Specify different margins for different directions.
272    ///
273    /// .value[0].f32: top margin, in vp.
274    ///
275    /// .value[1].f32: right margin, in vp.
276    ///
277    /// .value[2].f32: bottom margin, in vp.
278    ///
279    /// .value[3].f32: left margin, in vp.
280    ///
281    ///
282    ///
283    /// Format of the return value [`ArkUI_AttributeItem`]:
284    ///
285    /// .value[0].f32: top margin, in vp.
286    ///
287    /// .value[1].f32: right margin, in vp.
288    ///
289    /// .value[2].f32: bottom margin, in vp.
290    ///
291    /// .value[3].f32: left margin, in vp.
292    pub const NODE_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7);
293    /// Defines the translate attribute, which can be set, reset, and obtained as required through APIs.
294    ///
295    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
296    ///
297    /// .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.
298    ///
299    /// .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.
300    ///
301    /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
302    ///
303    ///
304    ///
305    /// Format of the return value [`ArkUI_AttributeItem`]:
306    ///
307    /// .value[0].f32: distance to translate along the x-axis, in vp.
308    ///
309    /// .value[1].f32: distance to translate along the y-axis, in vp.
310    ///
311    /// .value[2].f32: distance to translate along the z-axis, in vp.
312    pub const NODE_TRANSLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8);
313    /// Defines the scale attribute, which can be set, reset, and obtained as required through APIs.
314    ///
315    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
316    ///
317    /// .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.
318    ///
319    /// .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>.
320    ///
321    ///
322    ///
323    /// Format of the return value [`ArkUI_AttributeItem`]:
324    ///
325    /// .value[0].f32: scale factor along the x-axis.
326    ///
327    /// .value[1].f32: scale factor along the y-axis.
328    pub const NODE_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9);
329    /// Defines the rotate attribute, which can be set, reset, and obtained as required through APIs.
330    ///
331    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
332    ///
333    /// .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.
334    ///
335    /// .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.
336    ///
337    /// .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.
338    ///
339    /// .value[3].f32: rotation angle. The default value is <b>0</b>.
340    ///
341    /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
342    /// The default value is <b>0</b>.
343    ///
344    ///
345    ///
346    /// Format of the return value [`ArkUI_AttributeItem`]:
347    ///
348    /// .value[0].f32: X coordinate of the rotation axis vector.
349    ///
350    /// .value[1].f32: Y coordinate of the rotation axis vector.
351    ///
352    /// .value[2].f32: Z coordinate of the rotation axis vector.
353    ///
354    /// .value[3].f32: rotation angle.
355    ///
356    /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
357    pub const NODE_ROTATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10);
358    /// Sets the brightness attribute, which can be set, reset, and obtained as required through APIs.
359    ///
360    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
361    ///
362    /// .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2].
363    ///
364    ///
365    ///
366    /// Format of the return value [`ArkUI_AttributeItem`]:
367    ///
368    /// .value[0].f32: brightness value.
369    pub const NODE_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11);
370    /// Sets the saturation attribute, which can be set, reset, and obtained as required through APIs.
371    ///
372    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
373    ///
374    /// .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50).
375    ///
376    ///
377    ///
378    /// Format of the return value [`ArkUI_AttributeItem`]:
379    ///
380    /// .value[0].f32: saturation value.
381    pub const NODE_SATURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12);
382    /// Sets the blur attribute, which can be set, reset, and obtained as required through APIs.
383    ///
384    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
385    ///
386    /// .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>,
387    /// the component is not blurred. The unit is vp. The default value is <b>0.0</b>.
388    ///
389    ///
390    ///
391    /// Format of the return value [`ArkUI_AttributeItem`]:
392    ///
393    /// .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>,
394    /// the image is not blurred. The unit is vp.
395    pub const NODE_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13);
396    /// Sets the gradient attribute, which can be set, reset, and obtained as required through APIs.
397    ///
398    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
399    ///
400    /// .value[0].f32: start angle of the linear gradient. This attribute takes effect only when
401    /// [`ArkUI_LinearGradientDirection`] is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
402    /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
403    ///
404    /// .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect.
405    /// The parameter type is [`ArkUI_LinearGradientDirection`]:
406    ///
407    /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
408    ///
409    /// .object: array of color stops, each of which consists of a color and its stop position.
410    /// Invalid colors are automatically skipped.
411    ///
412    /// colors: colors of the color stops.
413    ///
414    /// stops: stop positions of the color stops.
415    ///
416    /// size: number of colors.
417    ///
418    ///
419    ///
420    /// Format of the return value [`ArkUI_AttributeItem`]:
421    ///
422    /// .value[0].f32: start angle of the linear gradient.
423    ///
424    /// .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set.
425    ///
426    /// .value[2].i32: whether the colors are repeated.
427    ///
428    /// .object: array of color stops, each of which consists of a color and its stop position.
429    /// Invalid colors are automatically skipped.
430    ///
431    /// colors: colors of the color stops.
432    ///
433    /// stops: stop positions of the color stops.
434    ///
435    /// size: number of colors.
436    pub const NODE_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14);
437    /// Sets the alignment attribute, which can be set, reset, and obtained as required through APIs.
438    ///
439    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
440    ///
441    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
442    /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
443    ///
444    ///
445    ///
446    /// Format of the return value [`ArkUI_AttributeItem`]:
447    ///
448    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
449    pub const NODE_ALIGNMENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15);
450    /// Defines the opacity attribute, which can be set, reset, and obtained as required through APIs.
451    ///
452    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
453    ///
454    /// .value[0].f32: opacity value. The value ranges from 0 to 1.
455    ///
456    ///
457    ///
458    /// Format of the return value [`ArkUI_AttributeItem`]:
459    ///
460    /// .value[0].f32: opacity value. The value ranges from 0 to 1.
461    pub const NODE_OPACITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16);
462    /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
463    ///
464    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
465    ///
466    /// 1: .value[0].f32: width of the four borders.
467    ///
468    /// 2: .value[0].f32: width of the top border.
469    ///
470    /// .value[1].f32: width of the right border.
471    ///
472    /// .value[2].f32: width of the bottom border.
473    ///
474    /// .value[3].f32: width of the left border.
475    ///
476    ///
477    ///
478    /// Format of the return value [`ArkUI_AttributeItem`]:
479    ///
480    /// .value[0].f32: width of the top border.
481    ///
482    /// .value[1].f32: width of the right border.
483    ///
484    /// .value[2].f32: width of the bottom border.
485    ///
486    /// .value[3].f32: width of the left border.
487    pub const NODE_BORDER_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17);
488    /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
489    ///
490    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
491    ///
492    /// 1: .value[0].f32: radius of the four corners.
493    ///
494    /// 2: .value[0].f32: radius of the upper left corner.
495    ///
496    /// .value[1].f32: radius of the upper right corner.
497    ///
498    /// .value[2].f32: radius of the lower left corner.
499    ///
500    /// .value[3].f32: radius of the lower right corner.
501    ///
502    ///
503    ///
504    /// Format of the return value [`ArkUI_AttributeItem`]:
505    ///
506    /// .value[0].f32: radius of the upper left corner.
507    ///
508    /// .value[1].f32: radius of the upper right corner.
509    ///
510    /// .value[2].f32: radius of the lower left corner.
511    ///
512    /// .value[3].f32: radius of the lower right corner.
513    pub const NODE_BORDER_RADIUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18);
514    /// Defines the border color attribute, which can be set, reset, and obtained as required through APIs.
515    ///
516    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
517    ///
518    /// 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
519    ///
520    /// 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
521    ///
522    /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
523    ///
524    /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
525    ///
526    /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
527    ///
528    ///
529    ///
530    /// Format of the return value [`ArkUI_AttributeItem`]:
531    ///
532    /// .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
533    ///
534    /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
535    ///
536    /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
537    ///
538    /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
539    pub const NODE_BORDER_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19);
540    /// Defines the border line style attribute, which can be set, reset, and obtained as required through APIs.
541    ///
542    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
543    ///
544    /// 1: .value[0].i32: line style of the four borders. The parameter type is [`ArkUI_BorderStyle`].
545    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
546    ///
547    /// 2: .value[0].i32: line style of the top border. The parameter type is [`ArkUI_BorderStyle`].
548    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
549    ///
550    /// .value[1].i32: line style of the right border. The parameter type is [`ArkUI_BorderStyle`].
551    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
552    ///
553    /// .value[2].i32: line style of the bottom border. The parameter type is [`ArkUI_BorderStyle`].
554    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
555    ///
556    /// .value[3].i32: line style of the left border. The parameter type is [`ArkUI_BorderStyle`].
557    /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
558    ///
559    ///
560    ///
561    /// Format of the return value [`ArkUI_AttributeItem`]:
562    ///
563    /// .value[0].i32: line style of the top border.
564    ///
565    /// .value[1].i32: line style of the right border.
566    ///
567    /// .value[2].i32: line style of the bottom border.
568    ///
569    /// .value[3].i32: line style of the left border.
570    pub const NODE_BORDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(20);
571    /// Defines the z-index attribute for the stack sequence.
572    /// This attribute can be set, reset, and obtained as required through APIs.
573    ///
574    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
575    ///
576    /// .value[0].i32: z-index value.
577    ///
578    ///
579    ///
580    /// Format of the return value [`ArkUI_AttributeItem`]:
581    ///
582    /// .value[0].i32: z-index value.
583    pub const NODE_Z_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21);
584    /// Defines the visibility attribute, which can be set, reset, and obtained as required through APIs.
585    ///
586    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
587    ///
588    /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
589    /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
590    ///
591    ///
592    ///
593    /// Format of the return value [`ArkUI_AttributeItem`]:
594    ///
595    /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
596    /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
597    pub const NODE_VISIBILITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(22);
598    /// Defines the clipping and masking attribute, which can be set, reset, and obtained as required through
599    /// APIs.
600    ///
601    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
602    ///
603    /// .value[0].i32: whether to clip the component based on the parent container bounds.
604    /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
605    ///
606    ///
607    ///
608    /// Format of the return value [`ArkUI_AttributeItem`]:
609    ///
610    /// .value[0].i32: whether to clip the component based on the parent container bounds.
611    /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
612    pub const NODE_CLIP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(23);
613    /// Defines the clipping region on the component.
614    /// This attribute can be set and obtained as required through APIs.
615    ///
616    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute,
617    /// which supports four types of shapes:
618    ///
619    /// 1. Rectangle:
620    ///
621    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
622    /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
623    ///
624    /// .value[1].f32: width of the rectangle.
625    ///
626    /// .value[2].f32: height of rectangle.
627    ///
628    /// .value[3].f32: width of the rounded corner of the rectangle.
629    ///
630    /// .value[4].f32: height of the rounded corner of the rectangle.
631    ///
632    /// .value[5]?.f32: radius of the top left corner of the rectangular shape.
633    ///
634    /// .value[6]?.f32: radius of the bottom left corner of the rectangular shape.
635    ///
636    /// .value[7]?.f32: radius of the top right corner of the rectangular shape.
637    ///
638    /// .value[8]?.f32: radius of the bottom right corner of the rectangular shape.
639    ///
640    /// ?.object: clipOption of the rectangle. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
641    /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is rectangle, and .size must be equal to 1.
642    /// 2. Circle:
643    ///
644    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
645    /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
646    ///
647    /// .value[1].f32: width of the circle.
648    ///
649    /// .value[2].f32: height of the circle.
650    ///
651    /// ?.object: clipOption of the circle. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
652    /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is circle, and .size must be equal to 1.
653    /// 3.Ellipse:
654    ///
655    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
656    /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
657    ///
658    /// .value[1].f32: width of the ellipse.
659    ///
660    /// .value[2].f32: height of the ellipse.
661    ///
662    /// ?.object: clipOption of the ellipse. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
663    /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is ellipse, and .size must be equal to 1.
664    /// 4. Path:
665    ///
666    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
667    /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
668    ///
669    /// .value[1].f32: width of the path.
670    ///
671    /// .value[2].f32: height of the path.
672    ///
673    /// .string: command for drawing the path.
674    ///
675    /// ?.object: clipOption of the path. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
676    /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is path, and .size must be equal to 1.
677    /// Format of the return value [`ArkUI_AttributeItem`], which supports four types of shapes:
678    ///
679    /// 1. Rectangle:
680    ///
681    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
682    /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
683    ///
684    /// .value[1].f32: width of the rectangle.
685    ///
686    /// .value[2].f32: height of rectangle.
687    ///
688    /// .value[3].f32: width of the rounded corner of the rectangle.
689    ///
690    /// .value[4].f32: height of the rounded corner of the rectangle.
691    ///
692    /// .value[5].f32: radius of the top left corner of the rectangular shape;
693    ///
694    /// .value[6].f32: radius of the bottom left corner of the rectangular shape;
695    ///
696    /// .value[7].f32: radius of the top right corner of the rectangular shape;
697    ///
698    /// .value[8].f32: radius of the bottom right corner of the rectangular shape;
699    ///
700    /// .value[9]?.f32: horizontal coordinate offset of the rectangle.
701    ///
702    /// .value[10]?.f32: vertical coordinate offset of the rectangle.
703    ///
704    /// 2. Circle:
705    ///
706    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
707    /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
708    ///
709    /// .value[1].f32: width of the circle.
710    ///
711    /// .value[2].f32: height of the circle.
712    ///
713    /// .value[3]?.f32: horizontal coordinate offset of the circle.
714    ///
715    /// .value[4]?.f32: vertical coordinate offset of the circle.
716    ///
717    /// 3.Ellipse:
718    ///
719    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
720    /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
721    ///
722    /// .value[1].f32: width of the ellipse.
723    ///
724    /// .value[2].f32: height of the ellipse.
725    ///
726    /// .value[3]?.f32: horizontal coordinate offset of the ellipse.
727    ///
728    /// .value[4]?.f32: vertical coordinate offset of the ellipse.
729    ///
730    /// 4. Path:
731    ///
732    /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
733    /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
734    ///
735    /// .value[1].f32: width of the path.
736    ///
737    /// .value[2].f32: height of the path.
738    ///
739    /// .string: command for drawing the path.
740    pub const NODE_CLIP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(24);
741    /// Defines the transform attribute, which can be used to translate, rotate, and scale images.
742    /// This attribute can be set, reset, and obtained as required through APIs.
743    ///
744    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
745    ///
746    /// .value[0...15].f32: 16 floating-point numbers.
747    ///
748    ///
749    ///
750    /// Format of the return value [`ArkUI_AttributeItem`]:
751    ///
752    /// .value[0...15].f32: 16 floating-point numbers.
753    pub const NODE_TRANSFORM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(25);
754    /// Defines the hit test behavior 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: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
759    /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
760    ///
761    ///
762    ///
763    /// Format of the return value [`ArkUI_AttributeItem`]:
764    ///
765    /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
766    /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
767    pub const NODE_HIT_TEST_BEHAVIOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(26);
768    /// Defines the offset attribute, which specifies the offset of the component's upper left corner relative
769    /// to the parent container's. This attribute can be set, reset, and obtained as required through APIs.
770    ///
771    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
772    ///
773    /// .value[0].f32: X coordinate.
774    ///
775    /// .value[1].f32: Y coordinate.
776    ///
777    ///
778    ///
779    /// Format of the return value [`ArkUI_AttributeItem`]:
780    ///
781    /// .value[0].f32: X coordinate.
782    ///
783    /// .value[1].f32: Y coordinate.
784    pub const NODE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(27);
785    /// Defines the shadow attribute, which can be set, reset, and obtained as required through APIs.
786    ///
787    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
788    ///
789    /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
790    ///
791    ///
792    ///
793    /// Format of the return value [`ArkUI_AttributeItem`]:
794    ///
795    /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
796    pub const NODE_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(28);
797    /// Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs.
798    ///
799    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
800    ///
801    /// .value[0]?.f32: blur radius of the shadow, in vp.
802    ///
803    /// .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring
804    /// strategy, and <b>0</b> (default value) means the opposite.
805    ///
806    /// .value[2]?.f32: offset of the shadow along the x-axis, in px.
807    ///
808    /// .value[3]?.f32: offset of the shadow along the y-axis, in px.
809    ///
810    /// .value[4]?.i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
811    ///
812    /// .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
813    ///
814    /// .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
815    /// means the opposite.
816    ///
817    ///
818    ///
819    ///
820    /// Format of the return value [`ArkUI_AttributeItem`]:
821    ///
822    /// .value[0].f32: blur radius of the shadow, in vp.
823    ///
824    /// .value[1].i32: whether to enable the coloring strategy.
825    ///
826    /// .value[2].f32: offset of the shadow along the x-axis, in px.
827    ///
828    /// .value[3].f32: offset of the shadow along the y-axis, in px.
829    ///
830    /// .value[4].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
831    ///
832    /// .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
833    ///
834    /// .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
835    /// means the opposite.
836    pub const NODE_CUSTOM_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(29);
837    /// Defines the background image width and height.
838    /// This attribute can be set, reset, and obtained as required through APIs.
839    ///
840    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
841    ///
842    /// .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp.
843    ///
844    /// .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp.
845    ///
846    ///
847    ///
848    /// Format of the return value [`ArkUI_AttributeItem`]:
849    ///
850    /// .value[0].f32: width of the image, in vp.
851    ///
852    /// .value[1].f32: height of the image, in vp.
853    pub const NODE_BACKGROUND_IMAGE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(30);
854    /// Defines the background image size.
855    /// This attribute can be set, reset, and obtained as required through APIs.
856    ///
857    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
858    ///
859    /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
860    ///
861    ///
862    ///
863    /// Format of the return value [`ArkUI_AttributeItem`]:
864    ///
865    /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
866    pub const NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE: ArkUI_NodeAttributeType =
867        ArkUI_NodeAttributeType(31);
868    /// Defines the background blur attribute, which can be set, reset, and obtained as required through APIs.
869    ///
870    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
871    ///
872    /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
873    ///
874    /// .value[1]?.i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
875    ///
876    /// .value[2]?.i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
877    ///
878    /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
879    ///
880    /// .value[4]?.f32: start boundary of grayscale blur.
881    ///
882    /// .value[5]?.f32: end boundary of grayscale blur.
883    ///
884    ///
885    ///
886    /// Format of the return value [`ArkUI_AttributeItem`]:
887    ///
888    /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
889    ///
890    /// .value[1].i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
891    ///
892    /// .value[2].i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
893    ///
894    /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
895    ///
896    /// .value[4].f32: start boundary of grayscale blur.
897    ///
898    /// .value[5].f32: end boundary of grayscale blur.
899    pub const NODE_BACKGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(32);
900    /// Defines the transform center attribute, which can be set, reset, and obtained as required through APIs.
901    ///
902    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
903    ///
904    /// .value[0]?.f32: X coordinate of the center point, in vp.
905    ///
906    /// .value[1]?.f32: Y coordinate of the center point, in vp.
907    ///
908    /// .value[2]?.f32: Z coordinate of the center point, in vp.
909    ///
910    /// .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage.
911    /// For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>.
912    ///
913    /// .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage.
914    /// For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>.
915    ///
916    /// .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage.
917    /// For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>.
918    ///
919    ///
920    ///
921    /// Format of the return value [`ArkUI_AttributeItem`]:
922    ///
923    /// .value[0].f32: X coordinate of the center point, in vp.
924    ///
925    /// .value[1].f32: Y coordinate of the center point, in vp.
926    ///
927    /// .value[2].f32: Z coordinate of the center point, in vp.
928    ///
929    /// Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API
930    /// returns the calculated value in vp.
931    pub const NODE_TRANSFORM_CENTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(33);
932    /// Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs.
933    ///
934    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
935    ///
936    /// .value[0].f32: opacity values of the start and end points.
937    ///
938    /// .value[1].i32: animation duration, in milliseconds.
939    ///
940    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
941    ///
942    /// .value[3]?.i32: animation delay duration, in milliseconds.
943    ///
944    /// .value[4]?.i32: number of times that the animation is played.
945    ///
946    /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
947    ///
948    /// .value[6]?.f32: animation playback speed.
949    ///
950    ///
951    ///
952    /// Format of the return value [`ArkUI_AttributeItem`]:
953    ///
954    /// .value[0].f32: opacity values of the start and end points.
955    ///
956    /// .value[1].i32: animation duration, in milliseconds.
957    ///
958    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
959    ///
960    /// .value[3].i32: animation delay duration, in milliseconds.
961    ///
962    /// .value[4].i32: number of times that the animation is played.
963    ///
964    /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
965    ///
966    /// .value[6].f32: animation playback speed.
967    pub const NODE_OPACITY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(34);
968    /// Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs.
969    ///
970    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
971    ///
972    /// .value[0].f32: X-component of the rotation vector.
973    ///
974    /// .value[1].f32: Y-component of the rotation vector.
975    ///
976    /// .value[2].f32: Z-component of the rotation vector
977    ///
978    /// .value[3].f32: angle.
979    ///
980    /// .value[4].f32: line of sight. The default value is <b>0.0f</b>.
981    ///
982    /// .value[5].i32: animation duration, in milliseconds.
983    ///
984    /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
985    ///
986    ///
987    /// .value[7]?.i32: animation delay duration, in milliseconds.
988    ///
989    /// .value[8]?.i32: number of times that the animation is played.
990    ///
991    /// .value[9]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
992    ///
993    /// .value[10]?.f32: animation playback speed.
994    ///
995    ///
996    ///
997    /// Format of the return value [`ArkUI_AttributeItem`]:
998    ///
999    /// .value[0].f32: X-component of the rotation vector.
1000    ///
1001    /// .value[1].f32: Y-component of the rotation vector.
1002    ///
1003    /// .value[2].f32: Z-component of the rotation vector
1004    ///
1005    /// .value[3].f32: angle.
1006    ///
1007    /// .value[4].f32: line of sight.
1008    ///
1009    /// .value[5].i32: animation duration, in milliseconds.
1010    ///
1011    /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1012    ///
1013    ///
1014    /// .value[7].i32: animation delay duration, in milliseconds.
1015    ///
1016    /// .value[8].i32: number of times that the animation is played.
1017    ///
1018    /// .value[9].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1019    ///
1020    /// .value[10].f32: animation playback speed.
1021    pub const NODE_ROTATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(35);
1022    /// Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs.
1023    ///
1024    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1025    ///
1026    /// .value[0].f32: scale factor along the x-axis.
1027    ///
1028    /// .value[1].f32: scale factor along the y-axis.
1029    ///
1030    /// .value[2].f32: scale factor along the z-axis.
1031    ///
1032    /// .value[3].i32: animation duration, in milliseconds.
1033    ///
1034    /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1035    ///
1036    ///
1037    /// .value[5]?.i32: animation delay duration, in milliseconds.
1038    ///
1039    /// .value[6]?.i32: number of times that the animation is played.
1040    ///
1041    /// .value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1042    ///
1043    /// .value[8]?.f32: animation playback speed.
1044    ///
1045    ///
1046    ///
1047    /// Format of the return value [`ArkUI_AttributeItem`]:
1048    ///
1049    /// .value[0].f32: scale factor along the x-axis.
1050    ///
1051    /// .value[1].f32: scale factor along the y-axis.
1052    ///
1053    /// .value[2].f32: scale factor along the z-axis.
1054    ///
1055    /// .value[3].i32: animation duration, in milliseconds.
1056    ///
1057    /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1058    ///
1059    ///
1060    /// .value[5].i32: animation delay duration, in milliseconds.
1061    ///
1062    /// .value[6].i32: number of times that the animation is played.
1063    ///
1064    /// .value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1065    ///
1066    /// .value[8].f32: animation playback speed.
1067    pub const NODE_SCALE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(36);
1068    /// Defines the transition translation attribute.
1069    /// This attribute can be set, reset, and obtained as required through APIs.
1070    ///
1071    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1072    ///
1073    /// value[0].f32: translation distance along the x-axis, in vp.
1074    ///
1075    /// value[1].f32: translation distance along the y-axis, in vp.
1076    ///
1077    /// value[2].f32: translation distance along the z-axis, in vp.
1078    ///
1079    /// value[3].i32: animation duration, in milliseconds.
1080    ///
1081    /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1082    ///
1083    ///
1084    /// value[5]?.i32: animation delay duration, in milliseconds.
1085    ///
1086    /// value[6]?.i32: number of times that the animation is played.
1087    ///
1088    /// value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1089    ///
1090    /// value[8]?.f32: animation playback speed.
1091    ///
1092    ///
1093    ///
1094    /// Format of the return value [`ArkUI_AttributeItem`]:
1095    ///
1096    /// value[0].f32: translation distance along the x-axis, in vp.
1097    ///
1098    /// value[1].f32: translation distance along the y-axis, in vp.
1099    ///
1100    /// value[2].f32: translation distance along the z-axis, in vp.
1101    ///
1102    /// value[3].i32: animation duration, in milliseconds.
1103    ///
1104    /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1105    ///
1106    ///
1107    /// value[5].i32: animation delay duration, in milliseconds.
1108    ///
1109    /// value[6].i32: number of times that the animation is played.
1110    ///
1111    /// value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1112    ///
1113    /// value[8].f32: animation playback speed.
1114    pub const NODE_TRANSLATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(37);
1115    /// Defines the slide-in and slide-out of the component from the screen edge during transition.
1116    /// This attribute can be set, reset, and obtained as required through APIs.
1117    ///
1118    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1119    ///
1120    /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1121    ///
1122    /// .value[1].i32: animation duration, in milliseconds.
1123    ///
1124    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1125    ///
1126    /// .value[3]?.i32: animation delay duration, in milliseconds.
1127    ///
1128    /// .value[4]?.i32: number of times that the animation is played.
1129    ///
1130    /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1131    ///
1132    /// .value[6]?.f32: animation playback speed.
1133    ///
1134    ///
1135    ///
1136    /// Format of the return value [`ArkUI_AttributeItem`]:
1137    ///
1138    /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1139    ///
1140    /// .value[1].i32: animation duration, in milliseconds.
1141    ///
1142    /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1143    ///
1144    /// .value[3].i32: animation delay duration, in milliseconds.
1145    ///
1146    /// .value[4].i32: number of times that the animation is played.
1147    ///
1148    /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1149    ///
1150    /// .value[6].f32: animation playback speed.
1151    pub const NODE_MOVE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(38);
1152    /// Defines the focus attribute, which can be set, reset, and obtained as required through APIs.
1153    ///
1154    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1155    ///
1156    /// .value[0].i32: The parameter type is 1 or 0.
1157    ///
1158    ///
1159    /// Format of the return value [`ArkUI_AttributeItem`]:
1160    ///
1161    /// .value[0].i32: The parameter type is 1 or 0.
1162    pub const NODE_FOCUSABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(39);
1163    /// Defines the default focus attribute, which can be set, reset, and obtained as required through APIs.
1164    ///
1165    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1166    ///
1167    /// value[0].i32: The parameter type is 1 or 0.
1168    ///
1169    ///
1170    /// Format of the return value [`ArkUI_AttributeItem`]:
1171    ///
1172    /// value[0].i32: The parameter type is 1 or 0.
1173    pub const NODE_DEFAULT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(40);
1174    /// Defines the touch target attribute, which can be set, reset, and obtained as required through APIs.
1175    ///
1176    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1177    ///
1178    /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1179    ///
1180    /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1181    ///
1182    /// .data[2].f32: width of the touch target, in %.
1183    ///
1184    /// .data[3].f32: height of the touch target, in %.
1185    ///
1186    /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1187    ///
1188    ///
1189    /// Format of the return value [`ArkUI_AttributeItem`]:
1190    ///
1191    /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1192    ///
1193    /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1194    ///
1195    /// .data[2].f32: width of the touch target, in %.
1196    ///
1197    /// .data[3].f32: height of the touch target, in %.
1198    ///
1199    /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1200    pub const NODE_RESPONSE_REGION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(41);
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    /// You can set the overlay content through .string or .object as follow, and .string has higher priority.
1206    /// .string: mask text.
1207    ///
1208    /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1209    /// The parameter type is [`ArkUI_Alignment`].
1210    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1211    ///
1212    /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1213    ///
1214    /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1215    ///
1216    ///
1217    /// .value[3]?.i32: the layout direction.
1218    /// The parameter type is [`ArkUI_Direction`], supported since API 21.
1219    /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1220    ///
1221    /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1222    /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1223    /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1224    ///
1225    ///
1226    /// .object: the node tree used as the overlay.
1227    /// The parameter type is [`ArkUI_NodeHandle`].
1228    /// The default value is <b>nullptr.</b>
1229    ///
1230    /// this parameter is conflict with .string, and it has lower priority than .string.
1231    ///
1232    ///
1233    /// Format of the return value [`ArkUI_AttributeItem`]:
1234    ///
1235    /// .string: mask text.
1236    ///
1237    /// .value[0].i32: position of the overlay relative to the component.
1238    /// The parameter type is [`ArkUI_Alignment`].
1239    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1240    ///
1241    /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1242    ///
1243    /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1244    /// .value[3].i32: the layout direction.
1245    /// The parameter type is [`ArkUI_Direction`], supported since API 21.
1246    /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1247    ///
1248    /// .object: the overlay node handle.
1249    pub const NODE_OVERLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(42);
1250    /// Defines the sweep gradient effect.
1251    /// This attribute can be set, reset, and obtained as required through APIs.
1252    ///
1253    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1254    ///
1255    /// .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1256    ///
1257    /// .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1258    ///
1259    /// .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>.
1260    ///
1261    /// .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>.
1262    ///
1263    /// .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1264    ///
1265    /// .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1266    /// and <b>0</b> means the opposite.
1267    ///
1268    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1269    /// automatically skipped.
1270    ///
1271    /// colors: colors of the color stops.
1272    ///
1273    /// stops: stop positions of the color stops.
1274    ///
1275    /// size: number of colors.
1276    ///
1277    ///
1278    ///
1279    /// Format of the return value [`ArkUI_AttributeItem`]:
1280    ///
1281    /// .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1282    ///
1283    /// .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1284    ///
1285    /// .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>.
1286    ///
1287    /// .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>.
1288    ///
1289    /// .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1290    ///
1291    /// .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1292    /// and <b>0</b> means the opposite.
1293    ///
1294    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1295    /// automatically skipped.
1296    ///
1297    /// colors: colors of the color stops.
1298    ///
1299    /// stops: stop positions of the color stops.
1300    ///
1301    /// size: number of colors.
1302    pub const NODE_SWEEP_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(43);
1303    /// Defines the radial gradient effect.
1304    /// This attribute can be set, reset, and obtained as required through APIs.
1305    ///
1306    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1307    ///
1308    /// .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1309    ///
1310    /// .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1311    ///
1312    /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
1313    ///
1314    /// .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1315    /// and <b>0</b> means the opposite.
1316    ///
1317    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1318    /// automatically skipped.
1319    ///
1320    /// colors: colors of the color stops.
1321    ///
1322    /// stops: stop positions of the color stops.
1323    ///
1324    /// size: number of colors.
1325    ///
1326    ///
1327    ///
1328    /// Format of the return value [`ArkUI_AttributeItem`]:
1329    ///
1330    /// .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1331    ///
1332    /// .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1333    ///
1334    /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
1335    ///
1336    /// .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1337    /// and <b>0</b> means the opposite.
1338    ///
1339    /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1340    /// automatically skipped.
1341    ///
1342    /// colors: colors of the color stops.
1343    ///
1344    /// stops: stop positions of the color stops.
1345    ///
1346    /// size: number of colors.
1347    pub const NODE_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(44);
1348    /// Adds a mask of the specified shape to the component.
1349    /// This attribute can be set, reset, and obtained as required through APIs.
1350    ///
1351    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute, which supports five types of
1352    /// shapes:
1353    ///
1354    /// 1. Rectangle:
1355    ///
1356    /// .value[0].u32 fill color, in 0xARGB format.
1357    ///
1358    /// .value[1].u32: stroke color, in 0xARGB format.
1359    ///
1360    /// .value[2].f32: stroke width, in vp.
1361    ///
1362    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1363    /// The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.
1364    ///
1365    /// .value[4].f32: width of the rectangle.
1366    ///
1367    /// .value[5].f32: height of the rectangle.
1368    ///
1369    /// .value[6].f32: width of the rounded corner of the rectangle.
1370    ///
1371    /// .value[7].f32: height of the rounded corner of the rectangle.
1372    ///
1373    /// .value[8]?.f32: radius of the top left corner of the rectangular shape.
1374    ///
1375    /// .value[9]?.f32: radius of the bottom left corner of the rectangular shape.
1376    ///
1377    /// .value[10]?.f32: radius of the top right corner of the rectangular shape.
1378    ///
1379    /// .value[11]?.f32: radius of the bottom right corner of the rectangular shape.
1380    ///
1381    /// 2. Circle:
1382    ///
1383    /// .value[0].u32 fill color, in 0xARGB format.
1384    ///
1385    /// .value[1].u32: stroke color, in 0xARGB format.
1386    ///
1387    /// .value[2].f32: stroke width, in vp.
1388    ///
1389    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1390    /// The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.
1391    ///
1392    /// .value[4].f32: width of the circle.
1393    ///
1394    /// .value[5].f32: height of the circle.
1395    ///
1396    /// 3. Ellipse:
1397    ///
1398    /// .value[0].u32 fill color, in 0xARGB format.
1399    ///
1400    /// .value[1].u32: stroke color, in 0xARGB format.
1401    ///
1402    /// .value[2].f32: stroke width, in vp.
1403    ///
1404    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1405    /// The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.
1406    ///
1407    /// .value[4].f32: width of the ellipse.
1408    ///
1409    /// .value[5].f32: height of the ellipse.
1410    ///
1411    /// 4. Path:
1412    ///
1413    /// .value[0].u32 fill color, in 0xARGB format.
1414    ///
1415    /// .value[1].u32: stroke color, in 0xARGB format.
1416    ///
1417    /// .value[2].f32: stroke width, in vp.
1418    ///
1419    /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1420    /// The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.
1421    ///
1422    /// .value[4].f32: width of the path.
1423    ///
1424    /// .value[5].f32: height of the path.
1425    ///
1426    /// .string: command for drawing the path.
1427    ///
1428    /// 5. Progress:
1429    ///
1430    /// .value[0].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1431    /// The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.
1432    ///
1433    /// .value[1].f32: current value of the progress indicator.
1434    ///
1435    /// .value[2].f32: maximum value of the progress indicator.
1436    ///
1437    /// .value[3].u32: color of the progress indicator, in 0xARGB format.
1438    ///
1439    ///
1440    ///
1441    /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
1442    ///
1443    /// 1. Rectangle:
1444    ///
1445    /// .value[0].u32 fill color, in 0xARGB format.
1446    ///
1447    /// .value[1].u32: stroke color, in 0xARGB format.
1448    ///
1449    /// .value[2].f32: stroke width, in vp.
1450    ///
1451    /// .value[3].i32: mask type.
1452    ///
1453    /// .value[4].f32: width of the rectangle.
1454    ///
1455    /// .value[5].f32: height of the rectangle.
1456    ///
1457    /// .value[6].f32: width of the rounded corner of the rectangle.
1458    ///
1459    /// .value[7].f32: height of the rounded corner of the rectangle.
1460    ///
1461    /// .value[8].f32: radius of the top left corner of the rectangular shape.
1462    ///
1463    /// .value[9].f32: radius of the bottom left corner of the rectangular shape.
1464    ///
1465    /// .value[10].f32: radius of the top right corner of the rectangular shape.
1466    ///
1467    /// .value[11].f32: radius of the bottom right corner of the rectangular shape.
1468    ///
1469    /// 2. Circle:
1470    ///
1471    /// .value[0].u32 fill color, in 0xARGB format.
1472    ///
1473    /// .value[1].u32: stroke color, in 0xARGB format.
1474    ///
1475    /// .value[2].f32: stroke width, in vp.
1476    ///
1477    /// .value[3].i32: mask type.
1478    ///
1479    /// .value[4].f32: width of the circle.
1480    ///
1481    /// .value[5].f32: height of the circle.
1482    ///
1483    /// 3. Ellipse:
1484    ///
1485    /// .value[0].u32 fill color, in 0xARGB format.
1486    ///
1487    /// .value[1].u32: stroke color, in 0xARGB format.
1488    ///
1489    /// .value[2].f32: stroke width, in vp.
1490    ///
1491    /// .value[3].i32: mask type.
1492    ///
1493    /// .value[4].f32: width of the ellipse.
1494    ///
1495    /// .value[5].f32: height of the ellipse.
1496    ///
1497    /// 4. Path:
1498    ///
1499    /// .value[0].u32 fill color, in 0xARGB format.
1500    ///
1501    /// .value[1].u32: stroke color, in 0xARGB format.
1502    ///
1503    /// .value[2].f32: stroke width, in vp.
1504    ///
1505    /// .value[3].i32: mask type.
1506    ///
1507    /// .value[4].f32: width of the path.
1508    ///
1509    /// .value[5].f32: height of the path.
1510    ///
1511    /// .string: command for drawing the path.
1512    ///
1513    /// 5. Progress:
1514    ///
1515    /// .value[0].i32: mask type.
1516    ///
1517    /// .value[1].f32: current value of the progress indicator.
1518    ///
1519    /// .value[2].f32: maximum value of the progress indicator.
1520    ///
1521    /// .value[3].u32: color of the progress indicator.
1522    pub const NODE_MASK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(45);
1523    /// Blends the component's background with the content of the component's child node.
1524    /// This attribute can be set, reset, and obtained as required through APIs.
1525    ///
1526    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1527    ///
1528    /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1529    /// <b>ARKUI_BLEND_MODE_NONE</b>.
1530    ///
1531    /// .value[1].?i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1532    /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1533    ///
1534    ///
1535    ///
1536    /// Format of the return value [`ArkUI_AttributeItem`]:
1537    ///
1538    /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1539    /// <b>ARKUI_BLEND_MODE_NONE</b>.
1540    ///
1541    /// .value[1].i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1542    /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1543    pub const NODE_BLEND_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(46);
1544    /// Sets the direction of the main axis.
1545    /// This attribute can be set, reset, and obtained as required through APIs.
1546    ///
1547    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1548    ///
1549    /// .value[0].i32: direction of the main axis.
1550    ///
1551    /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1552    ///
1553    ///
1554    ///
1555    /// Format of the return value [`ArkUI_AttributeItem`]:
1556    ///
1557    /// .value[0].i32: direction of the main axis.
1558    ///
1559    /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1560    pub const NODE_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(47);
1561    /// Defines the size constraints.
1562    /// This attribute can be set, reset, and obtained as required through APIs.
1563    ///
1564    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1565    ///
1566    /// .value[0].f32: minimum width, in vp.
1567    ///
1568    /// .value[1].f32: maximum width, in vp.
1569    ///
1570    /// .value[2].f32: minimum height, in vp.
1571    ///
1572    /// .value[3].f32: maximum height, in vp.
1573    ///
1574    ///
1575    ///
1576    /// Format of the return value [`ArkUI_AttributeItem`]:
1577    ///
1578    /// .value[0].f32: minimum width, in vp.
1579    ///
1580    /// .value[1].f32: maximum width, in vp.
1581    ///
1582    /// .value[2].f32: minimum height, in vp.
1583    ///
1584    /// .value[3].f32: maximum height, in vp.
1585    pub const NODE_CONSTRAINT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(48);
1586    /// Defines the grayscale effect.
1587    /// This attribute can be set, reset, and obtained as required through APIs.
1588    ///
1589    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1590    ///
1591    /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1592    /// For example, 0.5 indicates a 50% grayscale conversion ratio.
1593    ///
1594    ///
1595    ///
1596    /// Format of the return value [`ArkUI_AttributeItem`]:
1597    ///
1598    /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1599    pub const NODE_GRAY_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(49);
1600    /// Inverts the image.
1601    /// This attribute can be set, reset, and obtained as required through APIs.
1602    ///
1603    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1604    ///
1605    /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1606    /// For example, 0.5 indicates a 50% image inversion ratio.
1607    ///
1608    ///
1609    ///
1610    /// Format of the return value [`ArkUI_AttributeItem`]:
1611    ///
1612    /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1613    pub const NODE_INVERT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(50);
1614    /// Defines the sepia conversion ratio.
1615    /// This attribute can be set, reset, and obtained as required through APIs.
1616    ///
1617    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1618    ///
1619    /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1620    /// For example, 0.5 indicates that a 50% sepia conversion ratio.
1621    ///
1622    ///
1623    ///
1624    /// Format of the return value [`ArkUI_AttributeItem`]:
1625    ///
1626    /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1627    pub const NODE_SEPIA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(51);
1628    /// Defines the contrast attribute, which can be set, reset, and obtained as required through APIs.
1629    ///
1630    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1631    ///
1632    /// .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed.
1633    /// A larger value indicates a higher contrast. Value range: [0, 10).
1634    ///
1635    ///
1636    ///
1637    /// Format of the return value [`ArkUI_AttributeItem`]:
1638    ///
1639    /// .value[0].f32: contrast. Value range: [0, 10).
1640    pub const NODE_CONTRAST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(52);
1641    /// Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs.
1642    ///
1643    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1644    ///
1645    /// 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
1646    ///
1647    /// 2: .value[0].i32: color enum [`ArkUI_ColoringStrategy`].
1648    ///
1649    ///
1650    ///
1651    /// Format of the return value [`ArkUI_AttributeItem`]:
1652    ///
1653    /// .value[0].u32: color value, in 0xARGB format.
1654    pub const NODE_FOREGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(53);
1655    /// Defines the offset of the component's child relative to the component.
1656    /// This attribute can be set, reset, and obtained as required through APIs.
1657    ///
1658    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1659    ///
1660    /// .value[0].f32 : offset along the x-axis, in vp.
1661    ///
1662    /// .value[1].f32 : offset along the y-axis, in vp.
1663    ///
1664    ///
1665    ///
1666    /// Format of the return value [`ArkUI_AttributeItem`]:
1667    ///
1668    /// .value[0].f32 : offset along the x-axis, in vp.
1669    ///
1670    /// .value[1].f32 : offset along the y-axis, in vp.
1671    pub const NODE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(54);
1672    /// Sets the anchor for locating the component's child.
1673    /// This attribute can be set, reset, and obtained as required through APIs.
1674    ///
1675    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1676    ///
1677    /// .value[0].f32: X coordinate of the anchor, in vp.
1678    ///
1679    /// .value[1].f32: Y coordinate of the anchor, in vp.
1680    ///
1681    ///
1682    ///
1683    /// Format of the return value [`ArkUI_AttributeItem`]:
1684    ///
1685    /// .value[0].f32: X coordinate of the anchor, in vp.
1686    ///
1687    /// .value[1].f32: Y coordinate of the anchor, in vp.
1688    pub const NODE_MARK_ANCHOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(55);
1689    /// Defines the position of the background image in the component, that is, the coordinates relative to
1690    /// the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs.
1691    ///
1692    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1693    ///
1694    /// .value[0].f32: position along the x-axis, in px.
1695    ///
1696    /// .value[1].f32: position along the y-axis, in px.
1697    ///
1698    /// .value[2].?i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1699    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1700    ///
1701    /// .value[3].?i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1702    /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1703    ///
1704    /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1705    /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1706    /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1707    /// Format of the return value [`ArkUI_AttributeItem`]:
1708    ///
1709    /// .value[0].f32: position along the x-axis, in px.
1710    ///
1711    /// .value[1].f32: position along the y-axis, in px.
1712    ///
1713    /// .value[2].i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1714    /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1715    ///
1716    /// .value[3].i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1717    /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1718    pub const NODE_BACKGROUND_IMAGE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(56);
1719    /// Sets the alignment rules in the relative container.
1720    /// This attribute can be set, reset, and obtained as required through APIs.
1721    ///
1722    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1723    ///
1724    /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1725    ///
1726    ///
1727    ///
1728    /// Format of the return value [`ArkUI_AttributeItem`]:
1729    ///
1730    /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1731    pub const NODE_ALIGN_RULES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(57);
1732    /// Sets the alignment mode of the child components along the cross axis of the parent container.
1733    /// This attribute can be set, reset, and obtained as required through APIs.
1734    ///
1735    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1736    ///
1737    /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1738    ///
1739    /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1740    ///
1741    ///
1742    ///
1743    /// Format of the return value [`ArkUI_AttributeItem`]:
1744    ///
1745    /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1746    ///
1747    /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1748    pub const NODE_ALIGN_SELF: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(58);
1749    /// Sets the percentage of the parent container's remaining space that is allocated to the component.
1750    /// This attribute can be set, reset, and obtained as required through APIs.
1751    ///
1752    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1753    ///
1754    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1755    ///
1756    ///
1757    ///
1758    /// Format of the return value [`ArkUI_AttributeItem`]:
1759    ///
1760    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1761    pub const NODE_FLEX_GROW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(59);
1762    /// Sets the percentage of the parent container's shrink size that is allocated to the component.
1763    /// This attribute can be set, reset, and obtained as required through APIs.
1764    ///
1765    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1766    ///
1767    /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1768    ///
1769    ///
1770    ///
1771    /// Format of the return value [`ArkUI_AttributeItem`]:
1772    ///
1773    /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1774    pub const NODE_FLEX_SHRINK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(60);
1775    /// Sets the base size of the component.
1776    /// This attribute can be set, reset, and obtained as required through APIs.
1777    ///
1778    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1779    ///
1780    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1781    ///
1782    ///
1783    ///
1784    /// Format of the return value [`ArkUI_AttributeItem`]:
1785    ///
1786    /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1787    pub const NODE_FLEX_BASIS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(61);
1788    /// Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs.
1789    ///
1790    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1791    ///
1792    /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1793    /// form an entire selectable component.
1794    /// In this case, the accessibility service will no longer be available for the content of its child components.
1795    /// The value is <b>1</b> or <b>0</b>.
1796    ///
1797    ///
1798    /// Format of the return value [`ArkUI_AttributeItem`]:
1799    ///
1800    /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1801    /// form an entire selectable component.
1802    /// In this case, the accessibility service will no longer be available for the content of its child components.
1803    /// The value is <b>1</b> or <b>0</b>.
1804    pub const NODE_ACCESSIBILITY_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(62);
1805    /// Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs.
1806    ///
1807    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1808    ///
1809    /// .string: accessibility text.
1810    ///
1811    ///
1812    /// Format of the return value [`ArkUI_AttributeItem`]:
1813    ///
1814    /// .string: accessibility text.
1815    pub const NODE_ACCESSIBILITY_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(63);
1816    /// Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs.
1817    ///
1818    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1819    ///
1820    /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1821    ///
1822    ///
1823    /// Format of the return value [`ArkUI_AttributeItem`]:
1824    ///
1825    /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1826    pub const NODE_ACCESSIBILITY_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(64);
1827    /// Sets the accessibility description.
1828    /// This attribute can be set, reset, and obtained as required through APIs.
1829    ///
1830    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1831    ///
1832    /// .string: accessibility description.
1833    ///
1834    ///
1835    /// Format of the return value [`ArkUI_AttributeItem`]:
1836    ///
1837    /// .string: accessibility description.
1838    pub const NODE_ACCESSIBILITY_DESCRIPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(65);
1839    /// Defines the focused state. This attribute can be set and obtained as required through APIs.
1840    ///
1841    /// **Note:** Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level
1842    /// of the page to the root container.
1843    ///
1844    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1845    ///
1846    /// .value[0].i32: The parameter type is 1 or 0.
1847    ///
1848    ///
1849    /// Format of the return value [`ArkUI_AttributeItem`]:
1850    ///
1851    /// .value[0].i32: The parameter type is 1 or 0.
1852    pub const NODE_FOCUS_STATUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(66);
1853    /// Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs.
1854    ///
1855    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1856    ///
1857    /// .value[0].f32: aspect ratio of the component, in width/height format.
1858    ///
1859    ///
1860    ///
1861    /// Format of the return value [`ArkUI_AttributeItem`]:
1862    ///
1863    /// .value[0].f32: aspect ratio of the component, in width/height format.
1864    pub const NODE_ASPECT_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(67);
1865    /// Defines the weight of the component within its row, column, or flex container for proportional
1866    /// distribution of available space within the container.
1867    /// This attribute can be set, reset, and obtained as required through APIs.
1868    ///
1869    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1870    ///
1871    /// .value[0].u32: weight of the component along the main axis.
1872    ///
1873    ///
1874    ///
1875    /// Format of the return value [`ArkUI_AttributeItem`]:
1876    ///
1877    /// .value[0].u32: weight of the component along the main axis.
1878    pub const NODE_LAYOUT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(68);
1879    /// Sets the display priority for the component in the row, column, or flex (single-line) container.
1880    /// This attribute can be set, reset, and obtained as required through APIs.
1881    ///
1882    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1883    ///
1884    /// .value[0].u32: display priority of the component in the container.
1885    ///
1886    ///
1887    ///
1888    /// Format of the return value [`ArkUI_AttributeItem`]:
1889    ///
1890    /// .value[0].u32: display priority of the component in the container.
1891    pub const NODE_DISPLAY_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(69);
1892    /// Sets the thickness of an element's outline.
1893    ///
1894    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1895    ///
1896    /// .value[0].f32: thickness of the left outline.
1897    ///
1898    /// .value[1].f32: thickness of the top outline.
1899    ///
1900    /// .value[2].f32: thickness of the right outline.
1901    ///
1902    /// .value[3].f32: thickness of the bottom outline.
1903    ///
1904    ///
1905    ///
1906    /// Format of the return value [`ArkUI_AttributeItem`]:
1907    ///
1908    /// .value[0].f32: thickness of the left outline.
1909    ///
1910    /// .value[1].f32: thickness of the top outline.
1911    ///
1912    /// .value[2].f32: thickness of the right outline.
1913    ///
1914    /// .value[3].f32: thickness of the bottom outline.
1915    pub const NODE_OUTLINE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(70);
1916    /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
1917    ///
1918    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1919    ///
1920    /// .value[0].f32: width, in percentage.
1921    ///
1922    ///
1923    ///
1924    /// Format of the return value [`ArkUI_AttributeItem`]:
1925    ///
1926    /// .value[0].f32: width, in percentage.
1927    pub const NODE_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(71);
1928    /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
1929    ///
1930    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1931    ///
1932    /// .value[0].f32: height, in percentage.
1933    ///
1934    ///
1935    ///
1936    /// Format of the return value [`ArkUI_AttributeItem`]:
1937    ///
1938    /// .value[0].f32: height, in percentage.
1939    pub const NODE_HEIGHT_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(72);
1940    /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
1941    ///
1942    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1943    ///
1944    /// 1: Specify the same padding for the four directions.
1945    ///
1946    /// .value[0].f32: padding, in percentage.
1947    ///
1948    /// 2: Specify different paddings for different directions.
1949    ///
1950    /// .value[0].f32: top padding, in percentage.
1951    ///
1952    /// .value[1].f32: right padding, in percentage.
1953    ///
1954    /// .value[2].f32: bottom padding, in percentage.
1955    ///
1956    /// .value[3].f32: left padding, in percentage.
1957    ///
1958    ///
1959    ///
1960    /// Format of the return value [`ArkUI_AttributeItem`]:
1961    ///
1962    /// .value[0].f32: top padding, in percentage.
1963    ///
1964    /// .value[1].f32: right padding, in percentage.
1965    ///
1966    /// .value[2].f32: bottom padding, in percentage.
1967    ///
1968    /// .value[3].f32: left padding, in percentage.
1969    pub const NODE_PADDING_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(73);
1970    /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
1971    ///
1972    /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1973    ///
1974    /// 1: Specify the same margin for the four directions.
1975    ///
1976    /// .value[0].f32: margin, in percentage.
1977    ///
1978    /// 2: Specify different margins for different directions.
1979    ///
1980    /// .value[0].f32: top margin, in percentage.
1981    ///
1982    /// .value[1].f32: right margin, in percentage.
1983    ///
1984    /// .value[2].f32: bottom margin, in percentage.
1985    ///
1986    /// .value[3].f32: left margin, in percentage.
1987    ///
1988    ///
1989    ///
1990    /// Format of the return value [`ArkUI_AttributeItem`]:
1991    ///
1992    /// .value[0].f32: top margin, in percentage.
1993    ///
1994    /// .value[1].f32: right margin, in percentage.
1995    ///
1996    /// .value[2].f32: bottom margin, in percentage.
1997    ///
1998    /// .value[3].f32: left margin, in percentage.
1999    pub const NODE_MARGIN_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(74);
2000    /// The implicit shared element transition within the component supports attribute setting,
2001    /// attribute reset, and attribute acquisition interfaces.
2002    ///
2003    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2004    ///
2005    /// .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings,
2006    /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2007    /// the default is false, and the original position will remain unchanged if not involved.
2008    ///
2009    /// .string is used to set the binding relationship. Set the id to "" to
2010    /// clear the binding relationship to avoid participating in sharing behavior.
2011    ///
2012    /// The id can be changed and the binding relationship re-established.
2013    /// The same ID can only be bound to two components and they are in/out roles of different types.
2014    /// Multiple components cannot be bound to the same id.
2015    ///
2016    ///
2017    ///
2018    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
2019    ///
2020    /// .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings,
2021    /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2022    /// the default is not false, if not involved, the original position will remain unchanged.
2023    ///
2024    /// .string is used to set the binding relationship. Set the id to "" to
2025    /// clear the binding relationship to avoid participating in sharing behavior.
2026    ///
2027    /// The id can be changed and the binding relationship re-established.
2028    /// The same ID can only be bound to two components and they are in/out roles of different types.
2029    /// Multiple components cannot be bound to the same id.
2030    pub const NODE_GEOMETRY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(75);
2031    /// specifies the parameters of the chain formed by this component as the chain head,
2032    /// and supports attribute setting, attribute reset and attribute acquisition interfaces.
2033    ///
2034    /// Only takes effect when the parent container is RelativeContainer
2035    ///
2036    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2037    ///
2038    /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2039    ///
2040    /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2041    ///
2042    ///
2043    ///
2044    /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2045    ///
2046    /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2047    pub const NODE_RELATIVE_LAYOUT_CHAIN_MODE: ArkUI_NodeAttributeType =
2048        ArkUI_NodeAttributeType(76);
2049    /// Set the component content filling method in the process of width and height animation,
2050    /// support property setting, property reset, property acquisition interface.
2051    ///
2052    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2053    ///
2054    /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2055    ///
2056    ///
2057    ///
2058    /// Format of the return value [`ArkUI_AttributeItem`]:
2059    ///
2060    /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2061    pub const NODE_RENDER_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(77);
2062    /// External stroke color properties, support property setting,
2063    /// property reset and property acquisition interface.
2064    ///
2065    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2066    ///
2067    /// 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF.
2068    ///
2069    /// 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2070    ///
2071    /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2072    ///
2073    /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2074    ///
2075    /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2076    ///
2077    ///
2078    ///
2079    /// Format of the return value [`ArkUI_AttributeItem`]:
2080    ///
2081    /// .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2082    ///
2083    /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2084    ///
2085    /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2086    ///
2087    /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2088    pub const NODE_OUTLINE_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(78);
2089    /// Set the height and width dimensions, support property setting,
2090    /// property reset and property acquisition interface.
2091    ///
2092    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2093    ///
2094    /// .value[0].f32: Width value, unit is vp;
2095    ///
2096    /// .value[1].f32: Height value, unit is vp;
2097    ///
2098    ///
2099    ///
2100    /// Format of the return value [`ArkUI_AttributeItem`]:
2101    ///
2102    /// .value[0].f32: Width value, unit is vp;
2103    ///
2104    /// .value[1].f32: Height value, unit is vp;
2105    pub const NODE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(79);
2106    /// Set whether the current component and child component are
2107    /// rendered off the screen first and then fused with the parent control,
2108    /// supporting property setting, property reset and property acquisition.
2109    ///
2110    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2111    ///
2112    /// .value[0].i32: The parameter type is 1 or 0.
2113    ///
2114    ///
2115    /// Format of the return value [`ArkUI_AttributeItem`]:
2116    ///
2117    /// .value[0].i32: The parameter type is 1 or 0.
2118    pub const NODE_RENDER_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(80);
2119    /// Add color overlay effect to components, support property setting,
2120    /// property reset and property acquisition interface.
2121    ///
2122    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2123    ///
2124    /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2125    ///
2126    ///
2127    ///
2128    /// Format of the return value [`ArkUI_AttributeItem`]:
2129    ///
2130    /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2131    pub const NODE_COLOR_BLEND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(81);
2132    /// Provide content ambiguity capability for the current component,
2133    /// support property setting, property reset, property acquisition interface.
2134    ///
2135    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2136    ///
2137    /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2138    ///
2139    /// .value[1]?.i32 Represents the dark and light mode used by the content blur effect,
2140    ///
2141    /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2142    ///
2143    /// .value[2]?.i32 The color extraction mode used to represent the content blur effect takes
2144    ///
2145    /// the [`ArkUI_AdaptiveColor`] enumeration value.
2146    ///
2147    /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
2148    ///
2149    /// .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2150    ///
2151    /// .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2152    ///
2153    ///
2154    ///
2155    /// Format of the return value [`ArkUI_AttributeItem`]:
2156    ///
2157    /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2158    ///
2159    /// .value[1].i32 Represents the dark and light mode used by the content blur effect,
2160    ///
2161    /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2162    ///
2163    /// .value[2].i32 The color extraction mode used to represent the content blur effect takes
2164    ///
2165    /// the [`ArkUI_AdaptiveColor`] enumeration value.
2166    ///
2167    /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
2168    ///
2169    /// .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2170    ///
2171    /// .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2172    pub const NODE_FOREGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(82);
2173    /// Defines the component size and position for layout.
2174    /// This attribute can be set, reset, and obtained as required through APIs.
2175    ///
2176    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2177    ///
2178    /// .value[0].i32: X coordinate of the component, in px.
2179    ///
2180    /// .value[1].i32: Y coordinate of the component, in px.
2181    ///
2182    /// .value[2].i32: width of the component, in px.
2183    ///
2184    /// .value[3].i32: height of the component, in px.
2185    ///
2186    ///
2187    ///
2188    /// Format of the return value [`ArkUI_AttributeItem`]:
2189    ///
2190    /// .value[0].i32: X coordinate of the component, in px.
2191    ///
2192    /// .value[1].i32: Y coordinate of the component, in px.
2193    ///
2194    /// .value[2].i32: width of the component, in px.
2195    ///
2196    /// .value[3].i32: height of the component, in px.
2197    pub const NODE_LAYOUT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(83);
2198    /// Whether the current component supports click-to-focus capability,
2199    /// which can be set, reset, and obtained as required through APIs.
2200    ///
2201    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2202    ///
2203    /// .value[0].i32: The parameter type is 1 or 0.
2204    ///
2205    ///
2206    /// Format of the return value [`ArkUI_AttributeItem`]:
2207    ///
2208    /// .value[0].i32: The parameter type is 1 or 0.
2209    pub const NODE_FOCUS_ON_TOUCH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(84);
2210    /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
2211    ///
2212    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2213    ///
2214    /// 1: .value[0].f32: width of the four borders, in percentage.
2215    ///
2216    /// 2: .value[0].f32: width of the top border, in percentage.
2217    ///
2218    /// .value[1].f32: width of the right border, in percentage.
2219    ///
2220    /// .value[2].f32: width of the bottom border, in percentage.
2221    ///
2222    /// .value[3].f32: width of the left border, in percentage.
2223    ///
2224    ///
2225    ///
2226    /// Format of the return value [`ArkUI_AttributeItem`]:
2227    ///
2228    /// .value[0].f32: width of the top border, in percentage.
2229    ///
2230    /// .value[1].f32: width of the right border, in percentage.
2231    ///
2232    /// .value[2].f32: width of the bottom border, in percentage.
2233    ///
2234    /// .value[3].f32: width of the left border, in percentage.
2235    pub const NODE_BORDER_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(85);
2236    /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
2237    ///
2238    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2239    ///
2240    /// 1: .value[0].f32: radius of the four corners, in percentage.
2241    ///
2242    /// 2: .value[0].f32: radius of the upper left corner, in percentage.
2243    ///
2244    /// .value[1].f32: radius of the upper right corner, in percentage.
2245    ///
2246    /// .value[2].f32: radius of the lower left corner, in percentage.
2247    ///
2248    /// .value[3].f32: radius of the lower right corner, in percentage.
2249    ///
2250    ///
2251    ///
2252    /// Format of the return value [`ArkUI_AttributeItem`]:
2253    ///
2254    /// .value[0].f32: radius of the upper left corner, in percentage.
2255    ///
2256    /// .value[1].f32: radius of the upper right corner, in percentage.
2257    ///
2258    /// .value[2].f32: radius of the lower left corner, in percentage.
2259    ///
2260    /// .value[3].f32: radius of the lower right corner, in percentage.
2261    pub const NODE_BORDER_RADIUS_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(86);
2262    /// Accessible ID, which can be obtained as required through APIs.
2263    ///
2264    /// Format of the return value [`ArkUI_AttributeItem`]:
2265    ///
2266    /// .value[0].i32:Accessible ID。
2267    pub const NODE_ACCESSIBILITY_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(87);
2268    /// Define accessible actions, which can be set, reset, and obtained as required through APIs.
2269    ///
2270    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2271    ///
2272    /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2273    ///
2274    ///
2275    ///
2276    /// Format of the return value [`ArkUI_AttributeItem`]:
2277    ///
2278    /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2279    pub const NODE_ACCESSIBILITY_ACTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(88);
2280    /// Define accessible role, which can be set, reset, and obtained as required through APIs.
2281    ///
2282    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2283    ///
2284    /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2285    ///
2286    ///
2287    ///
2288    /// Format of the return value [`ArkUI_AttributeItem`]:
2289    ///
2290    /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2291    pub const NODE_ACCESSIBILITY_ROLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(89);
2292    /// Define accessible state, which can be set, reset, and obtained as required through APIs.
2293    ///
2294    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2295    ///
2296    /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2297    ///
2298    ///
2299    ///
2300    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2301    ///
2302    /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2303    pub const NODE_ACCESSIBILITY_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(90);
2304    /// Define accessible value, which can be set, reset, and obtained as required through APIs.
2305    ///
2306    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2307    ///
2308    /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2309    ///
2310    ///
2311    ///
2312    /// Format of the return value [`ArkUI_AttributeItem`]:
2313    ///
2314    /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2315    pub const NODE_ACCESSIBILITY_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(91);
2316    /// defines control components to extend their security zones,
2317    /// supporting property setting, property reset, and property fetching.
2318    ///
2319    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2320    ///
2321    /// .value[0]? .u32: Set of extended security zone enumerated values [`ArkUI_SafeAreaType`],
2322    /// For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;
2323    ///
2324    /// .value[1]? .u32: set of directional enum values for extended security zones [`ArkUI_SafeAreaEdge`];
2325    ///
2326    /// For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;
2327    ///
2328    ///
2329    ///
2330    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2331    ///
2332    /// .value[0].u32: extends the security zone.
2333    /// .
2334    ///
2335    /// .value[1].u32: indicates the direction to extend the security zone.
2336    /// .
2337    pub const NODE_EXPAND_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(92);
2338    /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2339    /// visible area change event of the component.
2340    ///
2341    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2342    ///
2343    /// .value[...].f32: threshold array. The value range is 0 to 1.
2344    ///
2345    ///
2346    /// Format of the return value [`ArkUI_AttributeItem`]:
2347    ///
2348    /// .value[...].f32: threshold array.
2349    ///
2350    ///
2351    ///
2352    /// Available since API-level: 12
2353    ////**
2354    /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2355    /// visible area change event of the component, this enum extends the configuration capbility.
2356    ///
2357    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2358    ///
2359    /// .value[...].f32: threshold array. The value range is 0 to 1.
2360    /// .?object: pass in one [`ArkUI_VisibleAreaEventOptions`] objcet for configging the ratio or other options.
2361    /// Please note, when use this param, the ratios set through .value[...].f32 will be ignored, and the update
2362    /// interval from it is always ignored too.
2363    ///
2364    ///
2365    /// Format of the return value [`ArkUI_AttributeItem`]:
2366    ///
2367    /// .value[...].f32: threshold array.
2368    ///
2369    /// .object: the [`ArkUI_VisibleAreaEventOptions`] objcet.
2370    ///
2371    ///
2372    /// Available since API-level: 22
2373    #[cfg(feature = "api-12")]
2374    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2375    pub const NODE_VISIBLE_AREA_CHANGE_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(93);
2376    /// Sets the transition effect when the component is inserted or deleted.
2377    /// This attribute can be set, and obtained as required through APIs.
2378    ///
2379    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2380    ///
2381    /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2382    ///
2383    ///
2384    ///
2385    /// Format of the return value [`ArkUI_AttributeItem`]:
2386    ///
2387    /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2388    pub const NODE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(94);
2389    /// Defines the component ID.
2390    /// This attribute can be obtained through APIs.
2391    ///
2392    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
2393    ///
2394    /// .value[0].i32: component ID.
2395    ///
2396    ///
2397    ///
2398    /// **Deprecated** since 20
2399    ///
2400    /// **Use instead:** OH_ArkUI_NodeUtils_GetNodeUniqueId
2401    #[deprecated(since = "20", note = "Use instead: OH_ArkUI_NodeUtils_GetNodeUniqueId")]
2402    pub const NODE_UNIQUE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(95);
2403    /// Set the current component system focus box style.
2404    ///
2405    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2406    ///
2407    /// .value[0].f32: The distance between the focus box and the edge of the component.
2408    ///
2409    /// Positive numbers represent the outer side, negative numbers represent the inner side.
2410    ///
2411    /// Percentage is not supported.
2412    ///
2413    /// .value[1].f32: Focus box width. Negative numbers and percentages are not supported.
2414    ///
2415    /// .value[2].u32: Focus box color.
2416    pub const NODE_FOCUS_BOX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(96);
2417    /// Defines the moving distance limit for the component-bound tap gesture.
2418    /// This attribute can be set as required through APIs.
2419    ///
2420    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2421    ///
2422    /// .value[0].f32: allowed moving distance of a finger, in vp.
2423    pub const NODE_CLICK_DISTANCE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(97);
2424    /// Sets whether the focus can be placed on this component.
2425    /// This attribute can be set, reset, and obtained as required through APIs.
2426    ///
2427    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2428    ///
2429    /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2430    ///
2431    ///
2432    /// Format of the return value [`ArkUI_AttributeItem`]:
2433    ///
2434    /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2435    ///
2436    ///
2437    /// Available since API-level: 14
2438    #[cfg(feature = "api-14")]
2439    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2440    pub const NODE_TAB_STOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(98);
2441    /// Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs.
2442    ///
2443    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2444    ///
2445    /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2446    ///
2447    /// .value[1]?.f32:grayscale blur settings that control the brightness of the black color.
2448    ///
2449    /// The value range is [0, 127].
2450    ///
2451    /// .value[2]?.f32:grayscale blur settings that control the darkness of the white color.
2452    ///
2453    /// The value range is [0, 127].
2454    ///
2455    ///
2456    ///
2457    /// Format of the return value [`ArkUI_AttributeItem`]:
2458    ///
2459    /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2460    ///
2461    /// .value[1].f32:grayscale blur settings that control the brightness of the black color.
2462    ///
2463    /// The value range is [0, 127].
2464    ///
2465    /// .value[2].f32:grayscale blur settings that control the darkness of the white color.
2466    ///
2467    /// The value range is [0, 127].
2468    ///
2469    ///
2470    ///
2471    /// Available since API-level: 15
2472    #[cfg(feature = "api-15")]
2473    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2474    pub const NODE_BACKDROP_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(99);
2475    /// Defines the background image resizable attribute, which can be set, reset,
2476    /// and obtained as required through APIs.
2477    ///
2478    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2479    ///
2480    /// .value[0].f32: width of the left edge. The unit is vp.
2481    ///
2482    /// .value[1].f32: width of the top edge. The unit is vp.
2483    ///
2484    /// .value[2].f32: width of the right edge. The unit is vp.
2485    ///
2486    /// .value[3].f32: width of the bottom edge. The unit is vp.
2487    ///
2488    ///
2489    ///
2490    /// Format of the return value [`ArkUI_AttributeItem`]:
2491    ///
2492    /// .value[0].f32: width of the left edge. The unit is vp.
2493    ///
2494    /// .value[1].f32: width of the top edge. The unit is vp.
2495    ///
2496    /// .value[2].f32: width of the right edge. The unit is vp.
2497    ///
2498    /// .value[3].f32: width of the bottom edge. The unit is vp.
2499    ///
2500    ///
2501    ///
2502    /// Available since API-level: 19
2503    #[cfg(feature = "api-19")]
2504    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
2505    pub const NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE: ArkUI_NodeAttributeType =
2506        ArkUI_NodeAttributeType(100);
2507    /// Sets the next focus node.
2508    ///
2509    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2510    ///
2511    /// .value[0].i32: focus movement direction, as defined in [`ArkUI_FocusMove`].
2512    /// .object: next focus node. The parameter type is [`ArkUI_NodeHandle`].
2513    ///
2514    ///
2515    ///
2516    ///
2517    ///
2518    /// Available since API-level: 18
2519    #[cfg(feature = "api-18")]
2520    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
2521    pub const NODE_NEXT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(101);
2522    /// Sets the parameters for visible area change events.
2523    ///
2524    ///
2525    /// **Note:** The visible area change callback is not a real-time callback. The actual callback interval may differ from
2526    /// the expected interval due to system load and other factors.
2527    /// The interval between two visible area change callbacks will not be less than the expected update interval. If the
2528    /// provided expected interval is too short, the actual callback interval will be determined by the system load.
2529    /// By default, the interval threshold of the visible area change callback includes 0. This means that,
2530    /// if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5].
2531    ///
2532    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2533    ///
2534    /// .object: parameters for visible area change events.
2535    /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2536    ///
2537    ///
2538    ///
2539    /// Format of the return value [`ArkUI_AttributeItem`]:
2540    ///
2541    /// .object: parameters for visible area change events.
2542    /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2543    ///
2544    ///
2545    ///
2546    /// Available since API-level: 17
2547    #[cfg(feature = "api-17")]
2548    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
2549    pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO: ArkUI_NodeAttributeType =
2550        ArkUI_NodeAttributeType(102);
2551    /// Defines the translate attribute, which supports for percentile translation input, and can be set, reset,
2552    /// and obtained as required through APIs.
2553    ///
2554    ///
2555    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2556    ///
2557    /// .value[0].f32: distance to translate along the x-axis. The default unit is percentage.
2558    /// The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.
2559    ///
2560    /// .value[1].f32: distance to translate along the y-axis. The default unit is percentage.
2561    /// The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.
2562    ///
2563    /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
2564    ///
2565    /// .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage.
2566    /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2567    /// For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction.
2568    /// The default value is <b>1</b>.
2569    ///
2570    /// .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage.
2571    /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2572    /// For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction.
2573    /// The default value is <b>1</b>.
2574    ///
2575    ///
2576    ///
2577    /// Format of the return value [`ArkUI_AttributeItem`]:
2578    ///
2579    /// .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].
2580    ///
2581    /// .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].
2582    ///
2583    /// .value[2].f32: distance to translate along the z-axis. The unit is vp.
2584    ///
2585    /// .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0,
2586    /// the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation
2587    /// distance is percentage;
2588    ///
2589    /// .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0,
2590    /// the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation
2591    /// distance is percentage;
2592    ///
2593    ///
2594    ///
2595    /// Available since API-level: 20
2596    #[cfg(feature = "api-20")]
2597    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2598    pub const NODE_TRANSLATE_WITH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(103);
2599    /// Sets component rotation with multi-axis angle control. This attribute can be set, reset,
2600    /// and obtained as required through APIs.
2601    ///
2602    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2603    ///
2604    /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2605    ///
2606    /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2607    ///
2608    /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2609    ///
2610    /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2611    ///
2612    ///
2613    ///
2614    /// Format of the return value [`ArkUI_AttributeItem`]:
2615    ///
2616    /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2617    /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2618    ///
2619    /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2620    ///
2621    /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2622    ///
2623    ///
2624    ///
2625    /// Available since API-level: 20
2626    #[cfg(feature = "api-20")]
2627    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2628    pub const NODE_ROTATE_ANGLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(104);
2629    /// Defines the width attribute with param type LayoutPolicy, which can be set, reset, and obtained
2630    /// as required through APIs.
2631    ///
2632    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2633    ///
2634    /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2635    ///
2636    /// The parameter type is [`ArkUI_LayoutPolicy`].
2637    ///
2638    ///
2639    ///
2640    /// Format of the return value [`ArkUI_AttributeItem`]:
2641    ///
2642    /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2643    ///
2644    /// The parameter type is [`ArkUI_LayoutPolicy`].
2645    ///
2646    ///
2647    ///
2648    /// Available since API-level: 21
2649    #[cfg(feature = "api-21")]
2650    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2651    pub const NODE_WIDTH_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(105);
2652    /// Defines the height attribute with param type LayoutPolicy, which can be set, reset, and obtained
2653    /// as required through APIs.
2654    ///
2655    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2656    ///
2657    /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2658    ///
2659    /// The parameter type is [`ArkUI_LayoutPolicy`].
2660    ///
2661    ///
2662    ///
2663    /// Format of the return value [`ArkUI_AttributeItem`]:
2664    ///
2665    /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2666    ///
2667    /// The parameter type is [`ArkUI_LayoutPolicy`].
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_HEIGHT_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(106);
2675    /// Defines the position attribute in param type Edges, which specifies the position of the component
2676    /// by the distance relative to the parent container's four edges. This attribute can be set, reset, and obtained as
2677    /// required through APIs.
2678    ///
2679    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2680    ///
2681    /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2682    ///
2683    ///
2684    ///
2685    /// Format of the return value [`ArkUI_AttributeItem`]:
2686    ///
2687    /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2688    ///
2689    ///
2690    ///
2691    /// Available since API-level: 21
2692    #[cfg(feature = "api-21")]
2693    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2694    pub const NODE_POSITION_EDGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(107);
2695    /// Set whether the component enables the ability to invert colors.
2696    /// This attribute can be set , and obtained as required through APIs.
2697    ///
2698    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2699    ///
2700    /// .value[0].i32: The parameter type is 1 or 0.
2701    ///
2702    ///
2703    ///
2704    /// Available since API-level: 21
2705    #[cfg(feature = "api-21")]
2706    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2707    pub const NODE_ALLOW_FORCE_DARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(108);
2708    /// Defines the pixelRound attribute, which can be set, reset, and obtained as required through APIs.
2709    ///
2710    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2711    ///
2712    /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2713    ///
2714    ///
2715    ///
2716    /// Format of the return value [`ArkUI_AttributeItem`]:
2717    ///
2718    /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2719    ///
2720    ///
2721    ///
2722    /// Available since API-level: 21
2723    #[cfg(feature = "api-21")]
2724    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2725    pub const NODE_PIXEL_ROUND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(109);
2726    /// Defines the motion path attribute, which can be set, reset, and obtained as required through APIs.
2727    ///
2728    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2729    ///
2730    /// .object indicates a pointer to the ArkUI_MotionPathOptions. The parameter type is
2731    /// [`ArkUI_MotionPathOptions`].
2732    ///
2733    ///
2734    ///
2735    /// Format of the return value [`ArkUI_AttributeItem`]:
2736    ///
2737    /// .object indicates a pointer to the ArkUI_MotionPathOptions. The parameter type is
2738    /// [`ArkUI_MotionPathOptions`].
2739    ///
2740    ///
2741    ///
2742    /// Available since API-level: 23
2743    #[cfg(feature = "api-23")]
2744    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2745    pub const NODE_MOTION_PATH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(111);
2746    /// Defines the hover effect applied when the component is hovered over. This attribute can be set, reset, and obtained as required through APIs.
2747    ///
2748    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2749    ///
2750    /// .value[0].i32: Hover effect applied when the component is hovered over.
2751    /// The parameter type is [`ArkUI_HoverEffect`]. The default value is <b>ARKUI_HOVER_EFFECT_AUTO</b>.
2752    ///
2753    ///
2754    ///
2755    /// Format of the return value [`ArkUI_AttributeItem`]:
2756    ///
2757    /// .value[0].i32: Hover effect applied when the component is hovered over.
2758    /// The parameter type is [`ArkUI_HoverEffect`].
2759    ///
2760    ///
2761    ///
2762    /// Available since API-level: 23
2763    #[cfg(feature = "api-23")]
2764    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2765    pub const NODE_HOVER_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(112);
2766    /// Configures the container as a focus group with the specified identifier. This attribute can be set, reset, and obtained as required through APIs.
2767    ///
2768    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2769    ///
2770    /// .string: focus scope identifier.
2771    ///
2772    /// .value[0]?.i32: whether the scope is a focus group. The default value is <b>0</b>. The value is <b>1</b> or <b>0</b>.
2773    ///
2774    /// .value[1]?.i32: whether arrow keys can move focus outside the focus group. This setting only takes effect when <b>isGroup</b> is <b>true</b>. The default value is <b>1</b>.
2775    /// The value is <b>1</b> or <b>0</b>.
2776    ///
2777    ///
2778    ///
2779    /// Format of the return value [`ArkUI_AttributeItem`]:
2780    ///
2781    /// .string: focus scope identifier.
2782    ///
2783    /// .value[0]?.i32: whether the scope is a focus group. The default value is <b>0</b>. The value is <b>1</b> or <b>0</b>.
2784    ///
2785    /// .value[1]?.i32: whether arrow keys can move focus outside the focus group. This setting only takes effect when <b>isGroup</b> is <b>true</b>. The default value is <b>1</b>.
2786    /// The value is <b>1</b> or <b>0</b>.
2787    ///
2788    ///
2789    ///
2790    /// Available since API-level: 23
2791    #[cfg(feature = "api-23")]
2792    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2793    pub const NODE_FOCUS_SCOPE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(113);
2794    /// Sets the component focus priority within a specific focus scope. This attribute can be set, reset, and obtained as required through APIs.
2795    ///
2796    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2797    ///
2798    /// .string: focus scope identifier.
2799    ///
2800    /// .value[0]?.i32: focus priority within the focus scope. The parameter type is [`ArkUI_FocusPriority`].
2801    /// The default value is <b>ARKUI_FOCUS_PRIORITY_AUTO</b>.
2802    ///
2803    ///
2804    ///
2805    /// Format of the return value [`ArkUI_AttributeItem`]:
2806    ///
2807    /// .string: focus scope identifier.
2808    ///
2809    /// .value[0]?.i32: focus priority within the focus scope. The parameter type is [`ArkUI_FocusPriority`].
2810    ///
2811    ///
2812    ///
2813    /// Available since API-level: 23
2814    #[cfg(feature = "api-23")]
2815    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2816    pub const NODE_FOCUS_SCOPE_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(114);
2817    /// Sets the distance threshold for click events. This attribute can be set, reset, and obtained as required through APIs.
2818    ///
2819    ///
2820    /// **Note:** If finger movement exceeds the preset distance limit, click event recognition will fail.
2821    ///
2822    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2823    ///
2824    /// .value[0].f32: distance threshold for click events.
2825    ///
2826    ///
2827    /// Format of the return value [`ArkUI_AttributeItem`]:
2828    ///
2829    /// .value[0].f32: distance threshold for click events.
2830    ///
2831    ///
2832    ///
2833    /// Available since API-level: 23
2834    #[cfg(feature = "api-23")]
2835    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2836    pub const NODE_ON_CLICK_EVENT_DISTANCE_THRESHOLD: ArkUI_NodeAttributeType =
2837        ArkUI_NodeAttributeType(115);
2838    /// Defines the component event response region. 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    /// .data[0].i32: input tool type for the response region, specified using the [`ArkUI_ResponseRegionSupportedTool`] enum. Default value: <b>ARKUI_RESPONSE_REGIN_SUPPORTED_TOOL_ALL</b>.
2843    /// .data[1].f32: x-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2844    ///
2845    /// .data[2].f32: y-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2846    ///
2847    /// .data[3].f32: width of the response region. The value is a percentage.
2848    ///
2849    /// .data[4].f32: height of the response region. The value is a percentage.
2850    ///
2851    /// .data[5...].f32: additional response regions in the same parameter order.
2852    ///
2853    ///
2854    ///
2855    /// Format of the return value [`ArkUI_AttributeItem`]:
2856    ///
2857    /// .data[0].i32: input tool type for the response region, specified using the [`ArkUI_ResponseRegionSupportedTool`] enum. Default value: <b>ARKUI_RESPONSE_REGIN_SUPPORTED_TOOL_ALL</b>.
2858    /// .data[1].f32: x-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2859    ///
2860    /// .data[2].f32: y-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2861    ///
2862    /// .data[3].f32: width of the response region. The value is a percentage.
2863    ///
2864    /// .data[4].f32: height of the response region. The value is a percentage.
2865    ///
2866    /// .data[5...].f32: additional response regions in the same parameter order.
2867    ///
2868    ///
2869    /// Available since API-level: 23
2870    #[cfg(feature = "api-23")]
2871    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2872    pub const NODE_RESPONSE_REGION_LIST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(116);
2873    /// Defines the event monopolization attribute. This attribute 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: Boolean value (1 or 0).
2878    ///
2879    ///
2880    /// Format of the return value [`ArkUI_AttributeItem`]:
2881    ///
2882    /// .value[0].i32: Boolean value (1 or 0).
2883    ///
2884    ///
2885    /// Available since API-level: 23
2886    #[cfg(feature = "api-23")]
2887    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2888    pub const NODE_MONOPOLIZE_EVENTS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(117);
2889    /// Sets the weight of the component in a chain, which is used to re-lay out components that form the chain.
2890    /// This attribute can be set, reset, and obtained as required through APIs.
2891    ///
2892    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2893    ///
2894    /// .value[0].f32: Horizontal ChainWeight.
2895    ///
2896    /// .value[1].f32: Vertical ChainWeight.
2897    ///
2898    ///
2899    ///
2900    /// Format of the return value [`ArkUI_AttributeItem`]:
2901    ///
2902    /// .value[0].f32: Horizontal ChainWeight.
2903    ///
2904    /// .value[1].f32: Vertical ChainWeight.
2905    ///
2906    ///
2907    ///
2908    /// Available since API-level: 23
2909    #[cfg(feature = "api-23")]
2910    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2911    pub const NODE_CHAIN_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(118);
2912    /// Expands the layout safe area of a component.,
2913    /// supporting property setting, property reset, and property fetching.
2914    ///
2915    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2916    ///
2917    /// .value[0].u32: The region type to expand the component's layout safe area into. The default value is LayoutSafeAreaType.SYSTEM. [`ArkUI_LayoutSafeAreaType`],
2918    /// For example, ARKUI_LAYOUT_SAFE_AREA_TYPE_SYSTEM;
2919    ///
2920    /// .value[1].u32: The set of edges for which to ignore layout safe area. The default value is LayoutSafeAreaEdge.ALL. [`ArkUI_LayoutSafeAreaEdge`];
2921    ///
2922    /// For example: ARKUI_LAYOUT_SAFE_AREA_EDGE_TOP | ARKUI_LAYOUT_SAFE_AREA_EDGE_START;
2923    ///
2924    ///
2925    ///
2926    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2927    ///
2928    /// .value[0].u32: The region type to expand the component's layout safe area into.
2929    ///
2930    /// .value[1].u32: The set of edges for which to ignore layout safe area.
2931    ///
2932    ///
2933    ///
2934    /// Available since API-level: 23
2935    #[cfg(feature = "api-23")]
2936    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2937    pub const NODE_IGNORE_LAYOUT_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(119);
2938    /// Defines the length of dash when BorderStyle is dashed, which can be set, reset, and obtained as required through APIs.
2939    ///
2940    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2941    ///
2942    /// .value[0].f32: The length of dash on the top border.
2943    ///
2944    /// .value[1].f32: The length of dash on the right border.
2945    ///
2946    /// .value[2].f32: The length of dash on the bottom border.
2947    ///
2948    /// .value[3].f32: The length of dash on the left border.
2949    ///
2950    ///
2951    ///
2952    /// Format of the return value [`ArkUI_AttributeItem`]:
2953    ///
2954    /// .value[0].f32: The length of dash on the top border.
2955    ///
2956    /// .value[1].f32: The length of dash on the right border.
2957    ///
2958    /// .value[2].f32: The length of dash on the bottom border.
2959    ///
2960    /// .value[3].f32: The length of dash on the left border.
2961    ///
2962    ///
2963    ///
2964    /// Available since API-level: 23
2965    #[cfg(feature = "api-23")]
2966    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2967    pub const NODE_DASH_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(120);
2968    /// Defines the gap of dash when BorderStyle is dashed, which can be set, reset, and obtained as required through APIs.
2969    ///
2970    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2971    ///
2972    /// .value[0].f32: The gap of dash on the top border.
2973    ///
2974    /// .value[1].f32: The gap of dash on the right border.
2975    ///
2976    /// .value[2].f32: The gap of dash on the bottom border.
2977    ///
2978    /// .value[3].f32: The gap of dash on the left border.
2979    ///
2980    ///
2981    ///
2982    /// Format of the return value [`ArkUI_AttributeItem`]:
2983    ///
2984    /// .value[0].f32: The gap of dash on the top border.
2985    ///
2986    /// .value[1].f32: The gap of dash on the right border.
2987    ///
2988    /// .value[2].f32: The gap of dash on the bottom border.
2989    ///
2990    /// .value[3].f32: The gap of dash on the left border.
2991    ///
2992    ///
2993    ///
2994    /// Available since API-level: 23
2995    #[cfg(feature = "api-23")]
2996    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2997    pub const NODE_DASH_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(121);
2998    /// Defines the align rules of child component in Stack container, which can be set, reset, and obtained as required through APIs.
2999    ///
3000    /// The default value is <b>ARKUI_LOCALIZED_ALIGNMENT_CENTER</b>.
3001    ///
3002    ///
3003    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3004    ///
3005    /// .value[0].i32: LocalizedAlignment mode. The data type is [`ArkUI_LocalizedAlignment`].
3006    ///
3007    ///
3008    /// Format of the return value [`ArkUI_AttributeItem`]:
3009    ///
3010    /// .value[0].i32: LocalizedAlignment mode. The data type is [`ArkUI_LocalizedAlignment`].
3011    ///
3012    ///
3013    ///
3014    /// Available since API-level: 23
3015    #[cfg(feature = "api-23")]
3016    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3017    pub const NODE_LAYOUT_GRAVITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(122);
3018    /// Defines the render types for drawing rounded corners when the radius of the border rounded corners is set, which can be set, reset, and obtained as required through APIs.
3019    ///
3020    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3021    ///
3022    /// .value[0].i32: Render types for drawing rounded corners. The data type is [`ArkUI_RenderStrategy`].
3023    /// The default value is <b>ARKUI_RENDERSTRATEGY_FAST</b>.
3024    ///
3025    ///
3026    ///
3027    /// Format of the return value [`ArkUI_AttributeItem`]:
3028    ///
3029    /// .value[0].i32: Render types for drawing rounded corners. The data type is [`ArkUI_RenderStrategy`].
3030    ///
3031    ///
3032    ///
3033    /// Available since API-level: 23
3034    #[cfg(feature = "api-23")]
3035    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3036    pub const NODE_BORDER_RADIUS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(123);
3037    /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3038    ///
3039    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3040    ///
3041    /// .string: text content.
3042    ///
3043    ///
3044    ///
3045    /// Format of the return value [`ArkUI_AttributeItem`]:
3046    ///
3047    /// .string: text content.
3048    pub const NODE_TEXT_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000);
3049    /// Defines the font color attribute, which can be set, reset, and obtained as required through APIs.
3050    ///
3051    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3052    ///
3053    /// .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3054    ///
3055    ///
3056    ///
3057    /// Format of the return value [`ArkUI_AttributeItem`]:
3058    ///
3059    /// .value[0].u32: font color value, in 0xARGB format.
3060    pub const NODE_FONT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001);
3061    /// Defines the font size attribute, which can be set, reset, and obtained as required through APIs.
3062    ///
3063    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3064    ///
3065    /// .value[0].f32: font size, in fp.
3066    ///
3067    ///
3068    ///
3069    /// Format of the return value [`ArkUI_AttributeItem`]:
3070    ///
3071    /// .value[0].f32: font size, in fp.
3072    pub const NODE_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002);
3073    /// Defines the font style attribute, which can be set, reset, and obtained as required through APIs.
3074    ///
3075    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3076    ///
3077    /// .value[0].i32: font style [`ArkUI_FontStyle`]. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3078    ///
3079    ///
3080    ///
3081    /// Format of the return value [`ArkUI_AttributeItem`]:
3082    ///
3083    /// .value[0].i32: font style [`ArkUI_FontStyle`].
3084    pub const NODE_FONT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003);
3085    /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3086    ///
3087    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3088    ///
3089    /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3090    ///
3091    ///
3092    ///
3093    /// Format of the return value [`ArkUI_AttributeItem`]:
3094    ///
3095    /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3096    pub const NODE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1004);
3097    /// Defines the text line height attribute, which can be set, reset, and obtained as required through APIs.
3098    ///
3099    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3100    ///
3101    /// .value[0].f32: line height, in fp.
3102    ///
3103    ///
3104    ///
3105    /// Format of the return value [`ArkUI_AttributeItem`]:
3106    ///
3107    /// .value[0].f32: line height, in fp.
3108    pub const NODE_TEXT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1005);
3109    /// Defines the text decoration style and color.
3110    /// This attribute can be set, reset, and obtained as required through APIs.
3111    ///
3112    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3113    ///
3114    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3115    /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
3116    ///
3117    /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
3118    ///
3119    /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
3120    ///
3121    ///
3122    ///
3123    /// Format of the return value [`ArkUI_AttributeItem`]:
3124    ///
3125    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3126    ///
3127    /// .value[1].u32: text decoration color, in 0xARGB format.
3128    ///
3129    /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
3130    ////**
3131    /// Defines the text decoration style and color.
3132    /// This attribute can be set, reset, and obtained as required through APIs.
3133    ///
3134    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3135    ///
3136    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3137    /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
3138    ///
3139    /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
3140    ///
3141    /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
3142    ///
3143    /// .value[3]?.f32: text decoration thickness scale.
3144    ///
3145    ///
3146    ///
3147    /// Format of the return value [`ArkUI_AttributeItem`]:
3148    ///
3149    /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3150    ///
3151    /// .value[1].u32: text decoration color, in 0xARGB format.
3152    ///
3153    /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
3154    ///
3155    /// .value[3].f32: text decoration thickness scale.
3156    ///
3157    ///
3158    /// since 22
3159    pub const NODE_TEXT_DECORATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006);
3160    /// Defines the text case attribute, which can be set, reset, and obtained as required through APIs.
3161    ///
3162    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3163    ///
3164    /// .value[0].i32: text case.
3165    ///
3166    ///
3167    ///
3168    /// Format of the return value [`ArkUI_AttributeItem`]:
3169    ///
3170    /// .value[0].i32: text case.
3171    pub const NODE_TEXT_CASE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007);
3172    /// Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs.
3173    ///
3174    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3175    ///
3176    /// .value[0].f32: letter spacing, in fp.
3177    ///
3178    ///
3179    ///
3180    /// Format of the return value [`ArkUI_AttributeItem`]:
3181    ///
3182    /// .value[0].f32: letter spacing, in fp.
3183    pub const NODE_TEXT_LETTER_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008);
3184    /// Sets the maximum number of lines in the text.
3185    /// This attribute can be set, reset, and obtained as required through APIs.
3186    ///
3187    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3188    ///
3189    /// .value[0].i32: maximum number of lines in the text.
3190    ///
3191    ///
3192    ///
3193    /// Format of the return value [`ArkUI_AttributeItem`]:
3194    ///
3195    /// .value[0].i32: maximum number of lines in the text.
3196    pub const NODE_TEXT_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009);
3197    /// Horizontal alignment mode of the text.
3198    /// This attribute can be set, reset, and obtained as required through APIs.
3199    ///
3200    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3201    ///
3202    /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
3203    ///
3204    ///
3205    ///
3206    /// Format of the return value [`ArkUI_AttributeItem`]:
3207    ///
3208    /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
3209    pub const NODE_TEXT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010);
3210    /// Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs.
3211    ///
3212    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3213    ///
3214    /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
3215    ///
3216    ///
3217    ///
3218    /// Format of the return value [`ArkUI_AttributeItem`]:
3219    ///
3220    /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
3221    pub const NODE_TEXT_OVERFLOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1011);
3222    /// Defines the font family attribute, which can be set, reset, and obtained as required through APIs.
3223    ///
3224    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3225    ///
3226    /// .string: fonts, separated by commas (,).
3227    ///
3228    ///
3229    /// Format of the return value [`ArkUI_AttributeItem`]:
3230    ///
3231    /// .string: fonts, separated by commas (,).
3232    pub const NODE_FONT_FAMILY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1012);
3233    /// Defines the copy option attribute, which 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].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
3238    ///
3239    ///
3240    ///
3241    /// Format of the return value [`ArkUI_AttributeItem`]:
3242    ///
3243    /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
3244    pub const NODE_TEXT_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013);
3245    /// Defines the text baseline offset attribute
3246    /// This attribute can be set, reset, and obtained as required through APIs.
3247    ///
3248    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3249    ///
3250    /// .value[0].f32: baseline offset, in fp.
3251    ///
3252    ///
3253    ///
3254    /// Format of the return value [`ArkUI_AttributeItem`]:
3255    ///
3256    /// .value[0].f32: baseline offset, in fp.
3257    pub const NODE_TEXT_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014);
3258    /// Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs.
3259    ///
3260    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3261    ///
3262    /// .value[0].f32: blur radius of the shadow, in vp.
3263    ///
3264    /// .value[1].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
3265    ///
3266    /// .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3267    ///
3268    /// .value[3].f32: offset of the shadow along the x-axis, in vp.
3269    ///
3270    /// .value[4].f32: offset of the shadow along the y-axis, in vp.
3271    ///
3272    ///
3273    ///
3274    /// Format of the return value [`ArkUI_AttributeItem`]:
3275    ///
3276    /// .value[0].f32: blur radius of the shadow, in vp.
3277    ///
3278    /// .value[1].i32: shadow type [`ArkUI_ShadowType`].
3279    ///
3280    /// .value[2].u32: shadow color, in 0xARGB format.
3281    ///
3282    /// .value[3].f32: offset of the shadow along the x-axis, in vp.
3283    ///
3284    /// .value[4].f32: offset of the shadow along the y-axis, in vp.
3285    pub const NODE_TEXT_TEXT_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1015);
3286    /// Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs.
3287    ///
3288    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3289    ///
3290    /// .value[0].f32: minimum font size, in fp.
3291    ///
3292    ///
3293    /// Format of the return value [`ArkUI_AttributeItem`]:
3294    ///
3295    /// .value[0].f32: minimum font size, in fp.
3296    pub const NODE_TEXT_MIN_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1016);
3297    /// Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs.
3298    ///
3299    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3300    ///
3301    /// .value[0].f32: maximum font size, in fp.
3302    ///
3303    ///
3304    /// Format of the return value [`ArkUI_AttributeItem`]:
3305    ///
3306    /// .value[0].f32: maximum font size, in fp.
3307    pub const NODE_TEXT_MAX_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1017);
3308    /// Defines the text style attribute, which can be set, reset, and obtained as required through APIs.
3309    ///
3310    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3311    ///
3312    /// .string?: font family. Optional. Use commas (,) to separate multiple fonts.
3313    ///
3314    /// .value[0].f32: font size, in fp.
3315    ///
3316    /// .value[1]?.i32: font weight. Optional. The parameter type is [`ArkUI_FontWeight`].
3317    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3318    ///
3319    /// .value[2]?.i32: font style. Optional. The parameter type is [`ArkUI_FontStyle`].
3320    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3321    ///
3322    ///
3323    /// Format of the return value [`ArkUI_AttributeItem`]:
3324    ///
3325    /// .string: font family. Use commas (,) to separate multiple fonts.
3326    ///
3327    /// .value[0].f32: font size, in fp.
3328    ///
3329    /// .value[1].i32: font weight. The parameter type is [`ArkUI_FontWeight`].
3330    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3331    ///
3332    /// .value[2].i32: font style. The parameter type is [`ArkUI_FontStyle`].
3333    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3334    pub const NODE_TEXT_FONT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018);
3335    /// Defines how the adaptive height is determined for the text.
3336    /// This attribute can be set, reset, and obtained as required through APIs.
3337    ///
3338    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3339    ///
3340    /// .value[0].i32: how the adaptive height is determined for the text.
3341    /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`].
3342    ///
3343    ///
3344    /// Format of the return value [`ArkUI_AttributeItem`]:
3345    ///
3346    /// .value[0].i32: how the adaptive height is determined for the text.
3347    /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`]
3348    pub const NODE_TEXT_HEIGHT_ADAPTIVE_POLICY: ArkUI_NodeAttributeType =
3349        ArkUI_NodeAttributeType(1019);
3350    /// Defines the indentation of the first line.
3351    /// This attribute can be set, reset, and obtained as required through APIs.
3352    ///
3353    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3354    ///
3355    /// .value[0].f32: indentation of the first line.
3356    ///
3357    ///
3358    ///
3359    /// Format of the return value [`ArkUI_AttributeItem`]:
3360    ///
3361    /// .value[0].f32: indentation of the first line.
3362    pub const NODE_TEXT_INDENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1020);
3363    /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
3364    ///
3365    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3366    ///
3367    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3368    ///
3369    ///
3370    ///
3371    /// Format of the return value [`ArkUI_AttributeItem`]:
3372    ///
3373    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3374    pub const NODE_TEXT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1021);
3375    /// Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs.
3376    ///
3377    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3378    ///
3379    /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3380    ///
3381    ///
3382    ///
3383    /// Format of the return value [`ArkUI_AttributeItem`]:
3384    ///
3385    /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3386    pub const NODE_TEXT_ELLIPSIS_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1022);
3387    /// Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs.
3388    ///
3389    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3390    ///
3391    /// .value[0].f32: line spacing, in fp.
3392    ///
3393    ///
3394    ///
3395    /// Format of the return value [`ArkUI_AttributeItem`]:
3396    ///
3397    /// .value[0].f32: line spacing, in fp.
3398    pub const NODE_TEXT_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1023);
3399    ///  Set the text feature effect and the NODE_FONT_FEATURE attribute,
3400    /// NODE_FONT_FEATURE is the advanced typesetting capability of OpenType
3401    /// Features such as ligatures and equal-width digits are generally used in customized fonts.
3402    ///
3403    /// The capabilities need to be supported by the fonts,
3404    ///
3405    /// Interfaces for setting, resetting, and obtaining attributes are supported.
3406    ///
3407    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
3408    ///
3409    /// .string: complies with the text feature format. The format is normal |
3410    ///
3411    /// is in the format of [ | on | off],
3412    /// .
3413    /// There can be multiple values separated by commas (,).
3414    ///
3415    /// For example, the input format of a number with the same width is ss01 on.
3416    ///
3417    ///
3418    ///
3419    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
3420    ///
3421    /// .string indicates the content of the text feature. Multiple text features are separated by commas (,).
3422    pub const NODE_FONT_FEATURE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1024);
3423    /// Setting Enable Text Recognition.
3424    ///
3425    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3426    ///
3427    /// .value[0].i32:Enable text recognition, default value false.
3428    ///
3429    ///
3430    ///
3431    /// Format of the return value [`ArkUI_AttributeItem`]:
3432    ///
3433    /// .value[0].i32:Enable Text Recognition
3434    pub const NODE_TEXT_ENABLE_DATA_DETECTOR: ArkUI_NodeAttributeType =
3435        ArkUI_NodeAttributeType(1025);
3436    /// Set the text recognition configuration.
3437    ///
3438    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3439    ///
3440    /// .value[0...].i32: Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3441    ///
3442    ///
3443    ///
3444    /// Format of the return value [`ArkUI_AttributeItem`]:
3445    ///
3446    /// .value[0...].i32:Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3447    pub const NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG: ArkUI_NodeAttributeType =
3448        ArkUI_NodeAttributeType(1026);
3449    /// Defines the background color of the selected text.
3450    /// This attribute can be set, reset, and obtained as required through APIs.
3451    ///
3452    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3453    ///
3454    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3455    ///
3456    ///
3457    ///
3458    /// Format of the return value [`ArkUI_AttributeItem`]:
3459    ///
3460    /// .value[0].u32: color value, in 0xARGB format.
3461    pub const NODE_TEXT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
3462        ArkUI_NodeAttributeType(1027);
3463    /// The text component uses a formatted string object to set text content properties,
3464    /// and supports property setting, property reset, and property acquisition interfaces.
3465    ///
3466    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3467    ///
3468    /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3469    ///
3470    ///
3471    ///
3472    /// Format of the return value [`ArkUI_AttributeItem`]:
3473    ///
3474    /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3475    pub const NODE_TEXT_CONTENT_WITH_STYLED_STRING: ArkUI_NodeAttributeType =
3476        ArkUI_NodeAttributeType(1028);
3477    /// Sets whether to center text vertically in the text component.
3478    ///
3479    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3480    ///
3481    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
3482    ///
3483    ///
3484    ///
3485    /// Format of the return value [`ArkUI_AttributeItem`]:
3486    ///
3487    /// .value[0].i32: whether to center text vertically.
3488    pub const NODE_TEXT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1029);
3489    /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3490    /// The font weight specified by this API is not affected by any changes in the system font weight settings.
3491    ///
3492    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3493    ///
3494    /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3495    ///
3496    ///
3497    ///
3498    /// Format of the return value [`ArkUI_AttributeItem`]:
3499    ///
3500    /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3501    ///
3502    ///
3503    ///
3504    /// Available since API-level: 15
3505    #[cfg(feature = "api-15")]
3506    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
3507    pub const NODE_IMMUTABLE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1030);
3508    /// Defines the text line count attribute, which can only be obtained as required through APIs.
3509    ///
3510    /// Format of the return value [`ArkUI_AttributeItem`]:
3511    ///
3512    /// .value[0].i32: line count of the node.
3513    ///
3514    ///
3515    /// Available since API-level: 20
3516    #[cfg(feature = "api-20")]
3517    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3518    pub const NODE_TEXT_LINE_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1031);
3519    /// Sets whether to optimize the trailing spaces at the end of each line during text layout.
3520    /// This attribute can be set, reset, and obtained as required through APIs.
3521    ///
3522    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3523    ///
3524    /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3525    /// The default value is <b>false</b>.
3526    ///
3527    ///
3528    ///
3529    /// Format of the return value [`ArkUI_AttributeItem`]:
3530    ///
3531    /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3532    ///
3533    ///
3534    ///
3535    /// Available since API-level: 20
3536    #[cfg(feature = "api-20")]
3537    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3538    pub const NODE_TEXT_OPTIMIZE_TRAILING_SPACE: ArkUI_NodeAttributeType =
3539        ArkUI_NodeAttributeType(1032);
3540    /// Sets a linear gradient effect for text.
3541    /// This attribute can be set, reset, and obtained as required through APIs.
3542    ///
3543    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3544    ///
3545    /// .value[0].f32: start angle of the linear gradient.
3546    /// The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
3547    /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
3548    ///
3549    /// .value[1].i32: direction of the linear gradient. When a direction other than
3550    /// <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored.
3551    /// The parameter type is [`ArkUI_LinearGradientDirection`].
3552    ///
3553    /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
3554    /// .object: array of color stops, each of which consists of a color and its stop position.
3555    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3556    ///
3557    ///
3558    /// colors: colors of the color stops.
3559    ///
3560    /// stops: stop positions of the color stops.
3561    ///
3562    /// size: number of colors.
3563    ///
3564    ///
3565    ///
3566    /// Format of the return value [`ArkUI_AttributeItem`]:
3567    ///
3568    /// .value[0].f32: start angle of the linear gradient.
3569    /// When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value;
3570    /// otherwise, it is at default value.
3571    ///
3572    /// .value[1].i32: direction of the linear gradient.
3573    ///
3574    /// .value[2].i32: whether the colors are repeated.
3575    ///
3576    /// .object: array of color stops, each of which consists of a color and its stop position.
3577    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3578    ///
3579    ///
3580    /// colors: colors of the color stops.
3581    ///
3582    /// stops: stop positions of the color stops.
3583    ///
3584    /// size: number of colors.
3585    ///
3586    ///
3587    ///
3588    /// Available since API-level: 20
3589    #[cfg(feature = "api-20")]
3590    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3591    pub const NODE_TEXT_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1033);
3592    /// Sets a radial gradient effect for text.
3593    /// This attribute can be set, reset, and obtained as required through APIs.
3594    ///
3595    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3596    ///
3597    /// .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3598    ///
3599    /// .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3600    ///
3601    /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
3602    ///
3603    /// .value[3]?.i32: whether the colors are repeated.
3604    /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3605    ///
3606    ///
3607    /// .object: array of color stops, each of which consists of a color and its stop position.
3608    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3609    ///
3610    /// colors: colors of the color stops.
3611    ///
3612    /// stops: stop positions of the color stops.
3613    ///
3614    /// size: number of colors.
3615    ///
3616    ///
3617    ///
3618    /// Format of the return value [`ArkUI_AttributeItem`]:
3619    ///
3620    /// .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3621    ///
3622    /// .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3623    ///
3624    /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
3625    ///
3626    /// .value[3].i32: whether the colors are repeated.
3627    /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3628    ///
3629    /// .object: array of color stops, each of which consists of a color and its stop position.
3630    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3631    ///
3632    /// colors: colors of the color stops.
3633    ///
3634    /// stops: stop positions of the color stops.
3635    ///
3636    /// size: number of colors.
3637    ///
3638    ///
3639    ///
3640    /// Available since API-level: 20
3641    #[cfg(feature = "api-20")]
3642    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3643    pub const NODE_TEXT_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1034);
3644    /// Sets the vertical alignment of the text content.
3645    /// This attribute can be set, reset, and obtained as required through APIs.
3646    ///
3647    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3648    ///
3649    /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3650    /// enum. The default value is <b>ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE</b>.
3651    ///
3652    ///
3653    ///
3654    /// Format of the return value [`ArkUI_AttributeItem`]:
3655    ///
3656    /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3657    /// enum.
3658    ///
3659    ///
3660    ///
3661    /// Available since API-level: 20
3662    #[cfg(feature = "api-20")]
3663    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3664    pub const NODE_TEXT_VERTICAL_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1035);
3665    /// Sets the content align of the text.
3666    /// This attribute can be set, reset, and obtained as required through APIs.
3667    ///
3668    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3669    ///
3670    /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3671    /// enum. The default value is <b>ARKUI_TEXT_CONTENT_ALIGN_CENTER</b>.
3672    ///
3673    ///
3674    ///
3675    /// Format of the return value [`ArkUI_AttributeItem`]:
3676    ///
3677    /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3678    /// enum.
3679    ///
3680    ///
3681    ///
3682    /// Available since API-level: 21
3683    #[cfg(feature = "api-21")]
3684    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3685    pub const NODE_TEXT_CONTENT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1036);
3686    /// Sets the minimum number of lines in the text.
3687    /// This attribute can be set, reset, and obtained as required through APIs.
3688    ///
3689    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3690    ///
3691    /// .value[0].i32: minimum number of lines in the text.
3692    ///
3693    ///
3694    ///
3695    /// Format of the return value [`ArkUI_AttributeItem`]:
3696    ///
3697    /// .value[0].i32: minimum number of lines in the text.
3698    ///
3699    ///
3700    ///
3701    /// Available since API-level: 22
3702    #[cfg(feature = "api-22")]
3703    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3704    pub const NODE_TEXT_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1037);
3705    /// Enables the selected data detector.
3706    ///
3707    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3708    ///
3709    /// .value[0].i32: Enable selected text recognition, default value true.
3710    ///
3711    ///
3712    ///
3713    /// Format of the return value [`ArkUI_AttributeItem`]:
3714    ///
3715    /// .value[0].i32: Whether selected text recognition is enabled.
3716    ///
3717    ///
3718    ///
3719    /// Available since API-level: 22
3720    #[cfg(feature = "api-22")]
3721    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3722    pub const NODE_TEXT_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
3723        ArkUI_NodeAttributeType(1038);
3724    /// Defines the minimum text line height attribute, which can be set, reset, and obtained as required through APIs.
3725    ///
3726    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3727    ///
3728    /// .value[0].f32: minimum line height.
3729    ///
3730    ///
3731    ///
3732    /// Format of the return value [`ArkUI_AttributeItem`]:
3733    ///
3734    /// .value[0].f32: minimum line height.
3735    ///
3736    ///
3737    ///
3738    /// Available since API-level: 22
3739    #[cfg(feature = "api-22")]
3740    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3741    pub const NODE_TEXT_MIN_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1040);
3742    /// Defines the maximum text line height attribute, which can be set, reset, and obtained as required through APIs.
3743    ///
3744    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3745    ///
3746    /// .value[0].f32: maximum line height.
3747    ///
3748    ///
3749    ///
3750    /// Format of the return value [`ArkUI_AttributeItem`]:
3751    ///
3752    /// .value[0].f32: maximum line height.
3753    ///
3754    ///
3755    ///
3756    /// Available since API-level: 22
3757    #[cfg(feature = "api-22")]
3758    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3759    pub const NODE_TEXT_MAX_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1041);
3760    /// Defines line height multiple value of text, which can be set, reset, and obtained as required through APIs.
3761    ///
3762    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3763    ///
3764    /// .value[0].f32: line height multiple value of text.
3765    ///
3766    ///
3767    ///
3768    /// Format of the return value [`ArkUI_AttributeItem`]:
3769    ///
3770    /// .value[0].f32: line height multiple value of text.
3771    ///
3772    ///
3773    ///
3774    /// Available since API-level: 22
3775    #[cfg(feature = "api-22")]
3776    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3777    pub const NODE_TEXT_LINE_HEIGHT_MULTIPLE: ArkUI_NodeAttributeType =
3778        ArkUI_NodeAttributeType(1042);
3779    /// Get the text layout manager of the text.
3780    ///
3781    /// Format of the return value [`ArkUI_AttributeItem`]:
3782    ///
3783    /// .object: the layout manager of text. The parameter type is [`ArkUI_TextLayoutManager`].
3784    ///
3785    ///
3786    ///
3787    /// Available since API-level: 22
3788    #[cfg(feature = "api-22")]
3789    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3790    pub const NODE_TEXT_LAYOUT_MANAGER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1043);
3791    /// Set the edit menu options of the text.
3792    ///
3793    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3794    ///
3795    /// .object: the edit menu options of text. The parameter type is [`ArkUI_TextEditMenuOptions`].
3796    ///
3797    ///
3798    ///
3799    /// Available since API-level: 22
3800    #[cfg(feature = "api-22")]
3801    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3802    pub const NODE_TEXT_EDIT_MENU_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1044);
3803    /// Bind the selection menu for text.
3804    ///
3805    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3806    ///
3807    /// .object: the custom selection menu of text.
3808    /// The parameter type is [`ArkUI_SelectionMenuOptions`].
3809    ///
3810    ///
3811    ///
3812    /// Available since API-level: 22
3813    #[cfg(feature = "api-22")]
3814    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3815    pub const NODE_TEXT_BIND_SELECTION_MENU: ArkUI_NodeAttributeType =
3816        ArkUI_NodeAttributeType(1045);
3817    /// Sets the text selection area, which will be highlighted.
3818    /// This attribute can be set, reset, and obtained as required through APIs.
3819    ///
3820    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3821    ///
3822    /// .value[0].i32: start position of the text selection.
3823    ///
3824    /// .value[1].i32: end position of the text selection.
3825    ///
3826    /// .object: selection options including the menu popup policy.
3827    /// The parameter type is [`ArkUI_SelectionOptions`].
3828    ///
3829    ///
3830    ///
3831    /// Format of the return value [`ArkUI_AttributeItem`]:
3832    ///
3833    /// .value[0].i32: start position of the text selection.
3834    ///
3835    /// .value[1].i32: end position of the text selection.
3836    ///
3837    /// .object: selection options including the menu popup policy.
3838    /// The parameter type is [`ArkUI_SelectionOptions`].
3839    ///
3840    ///
3841    ///
3842    /// Available since API-level: 23
3843    #[cfg(feature = "api-23")]
3844    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3845    pub const NODE_TEXT_TEXT_SELECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1046);
3846    /// Whether to compress punctuation at the beginning of line.
3847    ///
3848    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3849    ///
3850    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
3851    /// The default value is false.
3852    ///
3853    ///
3854    ///
3855    /// Format of the return value [`ArkUI_AttributeItem`]:
3856    ///
3857    /// .value[0].i32: Whether compress punctuation at the beginning of line.
3858    ///
3859    ///
3860    ///
3861    /// Available since API-level: 23
3862    #[cfg(feature = "api-23")]
3863    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3864    pub const NODE_TEXT_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
3865        ArkUI_NodeAttributeType(1048);
3866    /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
3867    ///
3868    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3869    ///
3870    /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
3871    /// The default value is false.
3872    ///
3873    ///
3874    ///
3875    /// Format of the return value [`ArkUI_AttributeItem`]:
3876    ///
3877    /// .value[0].i32: Whether include the font padding.
3878    ///
3879    ///
3880    ///
3881    /// Available since API-level: 23
3882    #[cfg(feature = "api-23")]
3883    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3884    pub const NODE_TEXT_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
3885        ArkUI_NodeAttributeType(1049);
3886    /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
3887    ///
3888    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3889    ///
3890    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
3891    /// The default value is false.
3892    ///
3893    ///
3894    ///
3895    /// Format of the return value [`ArkUI_AttributeItem`]:
3896    ///
3897    /// .value[0].i32: Whether fallback line spacing.
3898    ///
3899    ///
3900    ///
3901    /// Available since API-level: 23
3902    #[cfg(feature = "api-23")]
3903    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3904    pub const NODE_TEXT_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
3905        ArkUI_NodeAttributeType(1050);
3906    /// Set the marquee options of text.
3907    ///
3908    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3909    ///
3910    /// .object: the marquee options of text. The parameter type is [`ArkUI_TextMarqueeOptions`].
3911    ///
3912    ///
3913    ///
3914    /// Format of the return value [`ArkUI_AttributeItem`]:
3915    ///
3916    /// .object: the marquee options of text. The parameter type is [`ArkUI_TextMarqueeOptions`].
3917    ///
3918    ///
3919    ///
3920    /// Available since API-level: 23
3921    #[cfg(feature = "api-23")]
3922    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3923    pub const NODE_TEXT_MARQUEE_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1051);
3924    /// Writing direction of the text.
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    /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
3930    ///
3931    ///
3932    ///
3933    /// Format of the return value [`ArkUI_AttributeItem`]:
3934    ///
3935    /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
3936    ///
3937    ///
3938    ///
3939    /// Available since API-level: 23
3940    #[cfg(feature = "api-23")]
3941    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3942    pub const NODE_TEXT_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1052);
3943    /// Used to set the selected drag preview style.
3944    ///
3945    /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
3946    ///
3947    /// .object: selected drag preview style configuration.
3948    ///
3949    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
3950    ///
3951    ///
3952    ///
3953    /// Format of the return value [`Arkui_AttributeItem`]:
3954    ///
3955    /// .object: selected drag preview style configuration.
3956    ///
3957    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
3958    ///
3959    ///
3960    ///
3961    /// Available since API-level: 23
3962    #[cfg(feature = "api-23")]
3963    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3964    pub const NODE_TEXT_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
3965        ArkUI_NodeAttributeType(1053);
3966    /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3967    ///
3968    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3969    ///
3970    /// .string: content of the text span.
3971    ///
3972    ///
3973    ///
3974    /// Format of the return value [`ArkUI_AttributeItem`]:
3975    ///
3976    /// .string: content of the text span.
3977    pub const NODE_SPAN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2000);
3978    /// Defines the text background style.
3979    /// This attribute can be set, reset, and obtained as required through APIs.
3980    ///
3981    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3982    ///
3983    /// .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red.
3984    ///
3985    /// The second parameter indicates the rounded corners of the text background. Two setting modes are available:
3986    ///
3987    /// 1: .value[1].f32: radius of the four corners, in vp.
3988    ///
3989    /// 2: .value[1].f32: radius of the upper left corner, in vp.
3990    ///
3991    /// .value[2].f32: radius of the upper right corner, in vp.
3992    ///
3993    /// .value[3].f32: radius of the lower left corner, in vp.
3994    ///
3995    /// .value[4].f32: radius of the lower right corner, in vp.
3996    ///
3997    ///
3998    ///
3999    /// Format of the return value [`ArkUI_AttributeItem`]:
4000    ///
4001    /// .value[0].u32: color of the text background, in 0xARGB format.
4002    ///
4003    /// .value[1].f32: radius of the upper left corner, in vp.
4004    ///
4005    /// .value[2].f32: radius of the upper right corner, in vp.
4006    ///
4007    /// .value[3].f32: radius of the lower left corner, in vp.
4008    ///
4009    /// .value[4].f32: radius of the lower right corner, in vp.
4010    pub const NODE_SPAN_TEXT_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
4011        ArkUI_NodeAttributeType(2001);
4012    /// Defines the text baseline offset attribute
4013    /// This attribute can be set, reset, and obtained as required through APIs.
4014    ///
4015    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4016    ///
4017    /// .value[0].f32: baseline offset, in fp.
4018    ///
4019    ///
4020    ///
4021    /// Format of the return value [`ArkUI_AttributeItem`]:
4022    ///
4023    /// .value[0].f32: baseline offset, in fp.
4024    pub const NODE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2002);
4025    /// Defines the image source of the image span.
4026    /// This attribute can be set, reset, and obtained as required through APIs.
4027    ///
4028    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4029    ///
4030    /// .string: image address of the image span.
4031    ///
4032    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4033    ///
4034    ///
4035    ///
4036    /// Format of the return value [`ArkUI_AttributeItem`]:
4037    ///
4038    /// .string: image address of the image span.
4039    ///
4040    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4041    pub const NODE_IMAGE_SPAN_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3000);
4042    /// Defines the alignment mode of the image with the text.
4043    /// This attribute can be set, reset, and obtained as required through APIs.
4044    ///
4045    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4046    ///
4047    /// .value[0].i32: alignment mode of the image with the text.
4048    /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
4049    ///
4050    ///
4051    ///
4052    /// Format of the return value [`ArkUI_AttributeItem`]:
4053    ///
4054    /// .value[0].i32: alignment mode of the image with the text.
4055    /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
4056    pub const NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT: ArkUI_NodeAttributeType =
4057        ArkUI_NodeAttributeType(3001);
4058    /// Defines the placeholder image source.
4059    /// This attribute can be set, reset, and obtained as required through APIs.
4060    ///
4061    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4062    ///
4063    /// .string: placeholder image source.
4064    ///
4065    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4066    ///
4067    ///
4068    ///
4069    /// Format of the return value [`ArkUI_AttributeItem`]:
4070    ///
4071    /// .string: placeholder image source.
4072    ///
4073    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4074    pub const NODE_IMAGE_SPAN_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3002);
4075    /// Defines the baseline offset attribute of the <b>ImageSpan</b> component.
4076    /// This attribute can be set, reset, and obtained as required through APIs.
4077    /// A positive value means an upward offset, while a negative value means a downward offset.
4078    /// The default value is <b>0</b>, and the unit is fp.
4079    ///
4080    ///
4081    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4082    ///
4083    /// .value[0].f32: baseline offset, in fp.
4084    ///
4085    ///
4086    ///
4087    /// Format of the return value [`ArkUI_AttributeItem`]:
4088    ///
4089    /// .value[0].f32: baseline offset, in fp.
4090    ///
4091    ///
4092    ///
4093    /// Available since API-level: 13
4094    #[cfg(feature = "api-13")]
4095    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
4096    pub const NODE_IMAGE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType =
4097        ArkUI_NodeAttributeType(3003);
4098    /// Defines the color filter of the image span.
4099    /// This attribute can be set, reset, and obtained as required through APIs.
4100    ///
4101    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4102    ///
4103    /// .value [0].f32 to . value [19].f32: filter matrix array.
4104    ///
4105    /// .size :5 x 4 filter array size.
4106    ///
4107    /// .object : the pointer to OH_Drawing_ColorFilter. Either . value or . object is set.
4108    ///
4109    ///
4110    ///
4111    /// Format of the return value [`ArkUI_AttributeItem`]
4112    #[cfg(feature = "api-22")]
4113    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4114    pub const NODE_IMAGE_SPAN_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3004);
4115    /// Set the range of SVG parsing capabilities supported through enable switch.
4116    /// This attribute can be set, reset, and obtained as required through APIs.
4117    ///
4118    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4119    ///
4120    /// .value[0].i32: whether color fliter support svg. The default value is <b>false</b>.
4121    ///
4122    ///
4123    ///
4124    /// Format of the return value [`ArkUI_AttributeItem`]:
4125    ///
4126    /// .value[0].i32: enable switch.
4127    ///
4128    ///
4129    ///
4130    /// Available since API-level: 22
4131    #[cfg(feature = "api-22")]
4132    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4133    pub const NODE_IMAGE_SPAN_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3005);
4134    /// Defines the image source of the <Image> component.
4135    /// This attribute can be set, reset, and obtained as required through APIs.
4136    ///
4137    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4138    ///
4139    /// .string: image source.
4140    ///
4141    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4142    ///
4143    ///
4144    ///
4145    /// Format of the return value [`ArkUI_AttributeItem`]:
4146    ///
4147    /// .string: image source.
4148    ///
4149    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4150    pub const NODE_IMAGE_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4000);
4151    /// Defines how the image is resized to fit its container.
4152    /// This attribute can be set, reset, and obtained as required through APIs.
4153    ///
4154    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4155    ///
4156    /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
4157    ///
4158    ///
4159    ///
4160    /// Format of the return value [`ArkUI_AttributeItem`]:
4161    ///
4162    /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
4163    pub const NODE_IMAGE_OBJECT_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4001);
4164    /// Defines the interpolation effect of the image.
4165    /// This attribute can be set, reset, and obtained as required through APIs.
4166    ///
4167    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4168    ///
4169    /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
4170    ///
4171    ///
4172    ///
4173    /// Format of the return value [`ArkUI_AttributeItem`]:
4174    ///
4175    /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
4176    pub const NODE_IMAGE_INTERPOLATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4002);
4177    /// Defines how the image is repeated.
4178    /// This attribute can be set, reset, and obtained as required through APIs.
4179    ///
4180    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4181    ///
4182    /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
4183    ///
4184    ///
4185    ///
4186    /// Format of the return value [`ArkUI_AttributeItem`]:
4187    ///
4188    /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
4189    pub const NODE_IMAGE_OBJECT_REPEAT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4003);
4190    /// Defines the color filter of the image.
4191    /// This attribute can be set, reset, and obtained as required through APIs.
4192    ///
4193    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4194    ///
4195    /// .value[0].f32 to .value[19].f32: filter matrix array.
4196    ///
4197    /// .size: 5 x 4 filter array size.
4198    ///
4199    /// .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set.
4200    ///
4201    ///
4202    ///
4203    /// Format of the return value [`ArkUI_AttributeItem`]:
4204    ///
4205    /// .value[0].f32 to .value[19].f32: filter matrix array.
4206    ///
4207    /// .size: 5 x 4 filter array size.
4208    ///
4209    /// .object: the pointer to OH_Drawing_ColorFilter.
4210    pub const NODE_IMAGE_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4004);
4211    /// Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs.
4212    ///
4213    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4214    ///
4215    /// .value[0].i32 : whether to resize the image source.
4216    ///
4217    ///
4218    ///
4219    /// Format of the return value [`ArkUI_AttributeItem`]:
4220    ///
4221    /// .value[0].i32 : whether to resize the image source.
4222    pub const NODE_IMAGE_AUTO_RESIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4005);
4223    /// Defines the placeholder image source.
4224    /// This attribute can be set, reset, and obtained as required through APIs.
4225    ///
4226    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4227    ///
4228    /// .string: placeholder image source.
4229    ///
4230    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4231    ///
4232    ///
4233    ///
4234    /// Format of the return value [`ArkUI_AttributeItem`]:
4235    ///
4236    /// .string: placeholder image source.
4237    ///
4238    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4239    pub const NODE_IMAGE_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4006);
4240    /// Defines whether the image is draggable.
4241    /// This attribute can be set, reset, and obtained as required through APIs.
4242    ///
4243    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4244    ///
4245    /// .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable.
4246    ///
4247    ///
4248    ///
4249    /// Format of the return value [`ArkUI_AttributeItem`]:
4250    ///
4251    /// .value[0].i32: whether the image is draggable.
4252    pub const NODE_IMAGE_DRAGGABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4007);
4253    /// Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs.
4254    ///
4255    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4256    ///
4257    /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
4258    ///
4259    ///
4260    ///
4261    /// Format of the return value [`ArkUI_AttributeItem`]:
4262    ///
4263    /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
4264    pub const NODE_IMAGE_RENDER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4008);
4265    /// Defines whether the image display size follows the image source size.
4266    /// This attribute can be set, reset, and obtained as required through APIs.
4267    ///
4268    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4269    ///
4270    /// .value[0].i32: wheter to follow, true means to follow.
4271    ///
4272    ///
4273    ///
4274    /// Format of the return value [`ArkUI_AttributeItem`]:
4275    ///
4276    /// .value[0].i32: wheter to follow, true means to follow.
4277    pub const NODE_IMAGE_FIT_ORIGINAL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4009);
4278    /// Defines the fill color of the swiper.
4279    /// This attribute can be set, reset, and obtained as required through APIs.
4280    ///
4281    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4282    ///
4283    /// .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4284    ///
4285    ///
4286    ///
4287    /// Format of the return value [`ArkUI_AttributeItem`]:
4288    ///
4289    /// .value[0].u32: fill color, in 0xARGB format.
4290    pub const NODE_IMAGE_FILL_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4010);
4291    /// Sets the resizable image options.
4292    ///
4293    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4294    ///
4295    /// .value[0].f32: width of the left edge. The unit is vp.
4296    ///
4297    /// .value[1].f32: width of the top edge. The unit is vp.
4298    ///
4299    /// .value[2].f32: width of the right edge. The unit is vp.
4300    ///
4301    /// .value[3].f32: width of the bottom edge. The unit is vp.
4302    ///
4303    ///
4304    ///
4305    /// Format of the return value [`ArkUI_AttributeItem`]:
4306    ///
4307    /// .value[0].f32: width of the left edge. The unit is vp.
4308    ///
4309    /// .value[1].f32: width of the top edge. The unit is vp.
4310    ///
4311    /// .value[2].f32: width of the right edge. The unit is vp.
4312    ///
4313    /// .value[3].f32: width of the bottom edge. The unit is vp.
4314    pub const NODE_IMAGE_RESIZABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4011);
4315    /// Defines the synchronous image loading attribute.
4316    /// This attribute can be set, reset, and obtained as required through APIs.
4317    ///
4318    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4319    ///
4320    /// .value[0].i32: whether to load the image synchronously.
4321    ///
4322    ///
4323    ///
4324    /// Format of the return value [`ArkUI_AttributeItem`]:
4325    ///
4326    /// .value[0].i32: whether to load the image synchronously.
4327    ///
4328    ///
4329    ///
4330    /// Available since API-level: 20
4331    #[cfg(feature = "api-20")]
4332    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4333    pub const NODE_IMAGE_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4012);
4334    /// Defines the image decoding size attribute.
4335    /// This attribute can be set, reset, and obtained as required through APIs.
4336    ///
4337    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4338    ///
4339    /// .value[0].i32: width of the image decoding, in px.
4340    ///
4341    /// .value[1].i32: height of the image decoding, in px.
4342    ///
4343    ///
4344    ///
4345    /// Format of the return value [`ArkUI_AttributeItem`]:
4346    ///
4347    /// .value[0].i32: width of the image decoding, in px.
4348    ///
4349    /// .value[1].i32: height of the image decoding, in px.
4350    ///
4351    ///
4352    ///
4353    /// Available since API-level: 21
4354    #[cfg(feature = "api-21")]
4355    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4356    pub const NODE_IMAGE_SOURCE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4013);
4357    /// Defines the display tranformation matrix for an image.
4358    /// This attribute can be set, reset, and obtained as required through APIs.
4359    ///
4360    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4361    ///
4362    /// .value[0...15].f32: 16 floating-point numbers.
4363    ///
4364    ///
4365    ///
4366    /// Format of the return value [`ArkUI_AttributeItem`]:
4367    ///
4368    /// .value[0...15].f32: 16 floating-point numbers.
4369    ///
4370    ///
4371    ///
4372    /// Available since API-level: 21
4373    #[cfg(feature = "api-21")]
4374    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4375    pub const NODE_IMAGE_IMAGE_MATRIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4014);
4376    /// Defines the image follow text direction attribute.
4377    /// This attribute can be set, reset, and obtained as required through APIs.
4378    ///
4379    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4380    ///
4381    /// .value[0].i32: whether to follows the text direction.
4382    ///
4383    ///
4384    ///
4385    /// Format of the return value [`ArkUI_AttributeItem`]:
4386    ///
4387    /// .value[0].i32: whether to follows the text direction.
4388    ///
4389    ///
4390    ///
4391    /// Available since API-level: 21
4392    #[cfg(feature = "api-21")]
4393    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4394    pub const NODE_IMAGE_MATCH_TEXT_DIRECTION: ArkUI_NodeAttributeType =
4395        ArkUI_NodeAttributeType(4015);
4396    /// Defines the image copy attribute.
4397    /// This attribute can be set, reset, and obtained as required through APIs.
4398    ///
4399    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4400    ///
4401    /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
4402    ///
4403    ///
4404    ///
4405    /// Format of the return value [`ArkUI_AttributeItem`]:
4406    ///
4407    /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
4408    #[cfg(feature = "api-21")]
4409    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4410    pub const NODE_IMAGE_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4016);
4411    /// Defines the image AI analysis enable attribute.
4412    /// This attribute can be set, reset, and obtained as required through APIs.
4413    ///
4414    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4415    ///
4416    /// .value[0].i32: whether to enable AI analysis for the image.
4417    ///
4418    ///
4419    ///
4420    /// Format of the return value [`ArkUI_AttributeItem`]:
4421    ///
4422    /// .value[0].i32: whether to enable AI analysis for the image.
4423    ///
4424    ///
4425    ///
4426    /// Available since API-level: 21
4427    #[cfg(feature = "api-21")]
4428    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4429    pub const NODE_IMAGE_ENABLE_ANALYZER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4017);
4430    /// Defines the image dynamic display range attribute.
4431    /// This attribute can be set, reset, and obtained as required through APIs.
4432    ///
4433    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4434    ///
4435    /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode`].
4436    /// The default value is <b>ARKUI_DYNAMIC_RANGE_MODE_STANDARD</b>.
4437    ///
4438    ///
4439    ///
4440    /// Format of the return value [`ArkUI_AttributeItem`]:
4441    ///
4442    /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode.`]
4443    #[cfg(feature = "api-21")]
4444    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4445    pub const NODE_IMAGE_DYNAMIC_RANGE_MODE: ArkUI_NodeAttributeType =
4446        ArkUI_NodeAttributeType(4018);
4447    /// Defines the image dynamic display brightness attribute.
4448    /// This attribute can be set, reset, and obtained as required through APIs.
4449    ///
4450    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4451    ///
4452    /// .value[0].f32: hdr brightness. value range [0, 1]
4453    ///
4454    ///
4455    ///
4456    /// Format of the return value [`ArkUI_AttributeItem`]:
4457    ///
4458    /// .value[0].f32: hdr brightness. value range [0, 1]
4459    ///
4460    ///
4461    ///
4462    /// Available since API-level: 21
4463    #[cfg(feature = "api-21")]
4464    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4465    pub const NODE_IMAGE_HDR_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4019);
4466    /// Defines the image display direction attribute.
4467    /// This attribute can be set, reset, and obtained as required through APIs.
4468    ///
4469    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4470    ///
4471    /// .value[0].i32: orientation [`ArkUI_Orientation`].
4472    /// The default value is <b>ARKUI_ORIENTATION_UP</b>.
4473    ///
4474    ///
4475    ///
4476    /// Format of the return value [`ArkUI_AttributeItem`]:
4477    ///
4478    /// .value[0].i32: orientation [`ArkUI_Orientation.`]
4479    #[cfg(feature = "api-21")]
4480    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4481    pub const NODE_IMAGE_ORIENTATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4020);
4482    /// Set the range of SVG parsing capabilities supported through enable switch.
4483    /// This attribute can be set, reset, and obtained as required through APIs.
4484    ///
4485    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4486    ///
4487    /// .value[0].i32: enable switch.
4488    ///
4489    ///
4490    ///
4491    /// Format of the return value [`ArkUI_AttributeItem`]:
4492    ///
4493    /// .value[0].i32: enable switch.
4494    ///
4495    ///
4496    ///
4497    /// Available since API-level: 21
4498    #[cfg(feature = "api-21")]
4499    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4500    pub const NODE_IMAGE_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4021);
4501    /// Set the animation effect for the image content transformation.
4502    /// This attribute can be set, reset, and obtained as required through APIs.
4503    ///
4504    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4505    ///
4506    /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
4507    ///
4508    ///
4509    /// Format of the return value [`ArkUI_AttributeItem`]:
4510    ///
4511    /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
4512    ///
4513    ///
4514    ///
4515    /// Available since API-level: 21
4516    #[cfg(feature = "api-21")]
4517    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4518    pub const NODE_IMAGE_CONTENT_TRANSITION: ArkUI_NodeAttributeType =
4519        ArkUI_NodeAttributeType(4022);
4520    /// Defines the placeholder image during loading process.
4521    /// This attribute can be set, reset, and obtained as required through APIs.
4522    ///
4523    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4524    ///
4525    /// .string: placeholder image source.
4526    ///
4527    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4528    ///
4529    ///
4530    ///
4531    /// Format of the return value [`ArkUI_AttributeItem`]:
4532    ///
4533    /// .string: placeholder image source.
4534    ///
4535    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4536    ///
4537    ///
4538    ///
4539    /// Available since API-level: 22
4540    #[cfg(feature = "api-22")]
4541    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4542    pub const NODE_IMAGE_ALT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4023);
4543    /// Defines the placeholder image when loading fails.
4544    /// This attribute can be set, reset, and obtained as required through APIs.
4545    ///
4546    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4547    ///
4548    /// .string: placeholder image source.
4549    ///
4550    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4551    ///
4552    ///
4553    ///
4554    /// Format of the return value [`ArkUI_AttributeItem`]:
4555    ///
4556    /// .string: placeholder image source.
4557    ///
4558    /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4559    ///
4560    ///
4561    ///
4562    /// Available since API-level: 22
4563    #[cfg(feature = "api-22")]
4564    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4565    pub const NODE_IMAGE_ALT_ERROR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4024);
4566    /// Configure image edge anti-aliasing via an enable switch.
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].i32: enable switch,the default value is false.
4572    ///
4573    ///
4574    ///
4575    /// Format of the return value [`ArkUI_AttributeItem`]:
4576    ///
4577    /// .value[0].i32: enable switch.
4578    ///
4579    ///
4580    ///
4581    /// Available since API-level: 23
4582    #[cfg(feature = "api-23")]
4583    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
4584    pub const NODE_IMAGE_ANTIALIASED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4025);
4585    /// Defines the color of the component when it is selected.
4586    /// This attribute can be set, reset, and obtained as required through APIs.
4587    ///
4588    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4589    ///
4590    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4591    ///
4592    ///
4593    ///
4594    /// Format of the return value [`ArkUI_AttributeItem`]:
4595    ///
4596    /// .value[0].u32: background color, in 0xARGB format.
4597    pub const NODE_TOGGLE_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5000);
4598    /// Defines the color of the circular slider for the component of the switch type.
4599    /// This attribute can be set, reset, and obtained as required through APIs.
4600    ///
4601    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4602    ///
4603    /// .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4604    ///
4605    ///
4606    ///
4607    /// Format of the return value [`ArkUI_AttributeItem`]:
4608    ///
4609    /// .value[0].u32: color of the circular slider, in 0xARGB format.
4610    pub const NODE_TOGGLE_SWITCH_POINT_COLOR: ArkUI_NodeAttributeType =
4611        ArkUI_NodeAttributeType(5001);
4612    /// Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs.
4613    ///
4614    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4615    ///
4616    /// .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle.
4617    ///
4618    ///
4619    ///
4620    /// Format of the return value [`ArkUI_AttributeItem`]:
4621    ///
4622    /// .value[0].i32: whether to enable the toggle.
4623    pub const NODE_TOGGLE_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5002);
4624    /// Defines the color of the component when it is deselected.
4625    /// This attribute can be set, reset, and obtained as required through APIs.
4626    ///
4627    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4628    ///
4629    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4630    ///
4631    ///
4632    ///
4633    /// Format of the return value [`ArkUI_AttributeItem`]:
4634    ///
4635    /// .value[0].u32: background color, in 0xARGB format.
4636    pub const NODE_TOGGLE_UNSELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5003);
4637    /// Defines the foreground color of the loading progress bar.
4638    /// This attribute can be set, reset, and obtained as required through APIs.
4639    ///
4640    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4641    ///
4642    /// .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4643    ///
4644    ///
4645    ///
4646    /// Format of the return value [`ArkUI_AttributeItem`]:
4647    ///
4648    /// .value[0].u32: foreground color, in 0xARGB format.
4649    pub const NODE_LOADING_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6000);
4650    /// Defines whether to show the loading animation for the <LoadingProgress> component.
4651    /// This attribute can be set, reset, and obtained as required through APIs.
4652    ///
4653    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4654    ///
4655    /// .value[0].i32: whether to show the loading animation.
4656    /// The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.
4657    ///
4658    ///
4659    ///
4660    /// Format of the return value [`ArkUI_AttributeItem`]:
4661    ///
4662    /// .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite.
4663    pub const NODE_LOADING_PROGRESS_ENABLE_LOADING: ArkUI_NodeAttributeType =
4664        ArkUI_NodeAttributeType(6001);
4665    /// Defines the default placeholder text of the single-line text box.
4666    /// This attribute can be set, reset, and obtained as required through APIs.
4667    ///
4668    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4669    ///
4670    /// .string: default placeholder text.
4671    ///
4672    ///
4673    ///
4674    /// Format of the return value [`ArkUI_AttributeItem`]:
4675    ///
4676    /// .string: default placeholder text.
4677    pub const NODE_TEXT_INPUT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7000);
4678    /// Defines the default text content of the single-line text box.
4679    /// This attribute can be set, reset, and obtained as required through APIs.
4680    ///
4681    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4682    ///
4683    /// .string: default text content.
4684    ///
4685    ///
4686    ///
4687    /// Format of the return value [`ArkUI_AttributeItem`]:
4688    ///
4689    /// .string: default text content.
4690    pub const NODE_TEXT_INPUT_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7001);
4691    /// Defines the caret color attribute.
4692    /// This attribute can be set, reset, and obtained as required through APIs.
4693    ///
4694    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4695    ///
4696    /// .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4697    ///
4698    ///
4699    ///
4700    /// Format of the return value [`ArkUI_AttributeItem`]:
4701    ///
4702    /// .value[0].u32: caret color, in 0xARGB format.
4703    pub const NODE_TEXT_INPUT_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7002);
4704    /// Defines the caret style attribute.
4705    /// This attribute can be set, reset, and obtained as required through APIs.
4706    ///
4707    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4708    ///
4709    /// .value[0].f32: caret width, in vp.
4710    ///
4711    ///
4712    ///
4713    /// Format of the return value [`ArkUI_AttributeItem`]:
4714    ///
4715    /// .value[0].f32: caret width, in vp.
4716    pub const NODE_TEXT_INPUT_CARET_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7003);
4717    /// Defines the underline attribute of the single-line text box.
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].i32: whether to show an underline.
4723    /// The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.
4724    ///
4725    ///
4726    ///
4727    /// Format of the return value [`ArkUI_AttributeItem`]:
4728    ///
4729    /// .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite.
4730    pub const NODE_TEXT_INPUT_SHOW_UNDERLINE: ArkUI_NodeAttributeType =
4731        ArkUI_NodeAttributeType(7004);
4732    /// Defines the maximum number of characters in the text input.
4733    /// This attribute can be set, reset, and obtained as required through APIs.
4734    ///
4735    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4736    ///
4737    /// .value[0].i32: maximum number of characters in the text input, without a unit.
4738    ///
4739    ///
4740    ///
4741    /// Format of the return value [`ArkUI_AttributeItem`]:
4742    ///
4743    /// .value[0].i32: maximum number of characters in the text input.
4744    pub const NODE_TEXT_INPUT_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7005);
4745    /// Defines the type of the Enter key.
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: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4751    ///
4752    ///
4753    ///
4754    /// Format of the return value [`ArkUI_AttributeItem`]:
4755    ///
4756    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4757    pub const NODE_TEXT_INPUT_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4758        ArkUI_NodeAttributeType(7006);
4759    /// Defines the placeholder text color.
4760    /// This attribute can be set, reset, and obtained as required through APIs.
4761    ///
4762    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4763    ///
4764    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4765    ///
4766    ///
4767    ///
4768    /// Format of the return value [`ArkUI_AttributeItem`]:
4769    ///
4770    /// .value[0].u32: color value, in 0xARGB format.
4771    pub const NODE_TEXT_INPUT_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4772        ArkUI_NodeAttributeType(7007);
4773    /// Defines the placeholder text font.
4774    /// This attribute can be set, reset, and obtained as required through APIs.
4775    ///
4776    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4777    ///
4778    /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4779    ///
4780    /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional.
4781    /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4782    ///
4783    /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional.
4784    /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4785    ///
4786    /// ?.string: font family. Multiple font families are separated by commas (,).
4787    /// Example: "font weight; font family 1, font family 2".
4788    ///
4789    ///
4790    ///
4791    /// Format of the return value [`ArkUI_AttributeItem`]:
4792    ///
4793    /// .value[0].f32: font size, in fp.
4794    ///
4795    /// .value[1].i32: font style [`ArkUI_FontStyle`].
4796    ///
4797    /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4798    ///
4799    /// .string: font family. Multiple font families are separated by commas (,).
4800    pub const NODE_TEXT_INPUT_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4801        ArkUI_NodeAttributeType(7008);
4802    /// Defines whether to enable the input method when the component obtains focus.
4803    /// This attribute can be set, reset, and obtained as required through APIs.
4804    ///
4805    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4806    ///
4807    /// .value[0].i32: whether to enable the input method when the component obtains focus.
4808    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4809    ///
4810    ///
4811    ///
4812    ///
4813    /// Format of the return value [`ArkUI_AttributeItem`]:
4814    ///
4815    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4816    /// and <b>0</b> means the opposite.
4817    pub const NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4818        ArkUI_NodeAttributeType(7009);
4819    /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4820    ///
4821    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4822    ///
4823    /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4824    /// The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>.
4825    ///
4826    ///
4827    ///
4828    /// Format of the return value [`ArkUI_AttributeItem`]:
4829    ///
4830    /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4831    pub const NODE_TEXT_INPUT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7010);
4832    /// Defines the background color of the selected text.
4833    /// This attribute can be set, reset, and obtained as required through APIs.
4834    ///
4835    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4836    ///
4837    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4838    ///
4839    ///
4840    ///
4841    /// Format of the return value [`ArkUI_AttributeItem`]:
4842    ///
4843    /// .value[0].u32: color value, in 0xARGB format.
4844    pub const NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4845        ArkUI_NodeAttributeType(7011);
4846    /// Defines whether to display the password icon at the end of the password text box.
4847    /// This attribute can be set, reset, and obtained as required through APIs.
4848    ///
4849    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4850    ///
4851    /// .value[0].i32: whether to display the password icon at the end of the password text box.
4852    /// The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.
4853    ///
4854    ///
4855    ///
4856    /// Format of the return value [`ArkUI_AttributeItem`]:
4857    ///
4858    /// .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box,
4859    /// and <b>0</b> means the opposite.
4860    pub const NODE_TEXT_INPUT_SHOW_PASSWORD_ICON: ArkUI_NodeAttributeType =
4861        ArkUI_NodeAttributeType(7012);
4862    /// Defines the editable state for the single-line text box.
4863    /// This attribute can be set as required through APIs.
4864    ///
4865    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4866    ///
4867    /// .value[0].i32: whether to remain in the editable state. The value
4868    /// <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state.
4869    ///
4870    ///
4871    ///
4872    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4873    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4874    /// state, and <b>false</b> means to exit the editable state.
4875    pub const NODE_TEXT_INPUT_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7013);
4876    /// Defines the style of the cancel button on the right of the single-line text box.
4877    /// This attribute can be set, reset, and obtained as required through APIs.
4878    ///
4879    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4880    ///
4881    /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4882    /// The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.
4883    ///
4884    /// .value[1]?.f32: button icon size, in vp.
4885    ///
4886    /// .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4887    ///
4888    /// ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png.
4889    ///
4890    ///
4891    ///
4892    /// Format of the return value [`ArkUI_AttributeItem`]:
4893    ///
4894    /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4895    ///
4896    /// .value[1].f32: icon size, in vp.
4897    ///
4898    /// .value[2].u32: button icon color, in 0xARGB format.
4899    ///
4900    /// .string: button icon image source.
4901    pub const NODE_TEXT_INPUT_CANCEL_BUTTON: ArkUI_NodeAttributeType =
4902        ArkUI_NodeAttributeType(7014);
4903    /// Sets the text selection area, which will be highlighted.
4904    /// This attribute can be set, reset, and obtained as required through APIs.
4905    ///
4906    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4907    ///
4908    /// .value[0].i32: start position of the text selection.
4909    ///
4910    /// .value[1].i32: end position of the text selection.
4911    ///
4912    ///
4913    ///
4914    /// Format of the return value [`ArkUI_AttributeItem`]:
4915    ///
4916    /// .value[0].i32: start position of the text selection.
4917    ///
4918    /// .value[1].i32: end position of the text selection.
4919    pub const NODE_TEXT_INPUT_TEXT_SELECTION: ArkUI_NodeAttributeType =
4920        ArkUI_NodeAttributeType(7015);
4921    /// Sets the color of the text underline when it is enabled.
4922    ///
4923    /// The default underline color configured for the theme is <b>'0x33182431'</b>.
4924    ///
4925    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4926    ///
4927    /// .value[0].u32: color of the underline applied to the text being typed in.
4928    /// The value is in 0xARGB format.
4929    ///
4930    /// .value[1].u32: color of the underline applied to the text in the normal state.
4931    /// The value is in 0xARGB format.
4932    ///
4933    /// .value[2].u32: color of the underline applied to the text when an error is detected.
4934    /// The value is in 0xARGB format.
4935    ///
4936    /// .value[3].u32: color of the underline applied to the text when it is disabled.
4937    /// The value is in 0xARGB format.
4938    ///
4939    ///
4940    ///
4941    /// Format of the return value [`ArkUI_AttributeItem`]:
4942    ///
4943    /// .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format.
4944    ///
4945    /// .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format.
4946    ///
4947    /// .value[2].u32: color of the underline applied to the text when an error is detected.
4948    /// The value is in 0xARGB format.
4949    ///
4950    /// .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format.
4951    pub const NODE_TEXT_INPUT_UNDERLINE_COLOR: ArkUI_NodeAttributeType =
4952        ArkUI_NodeAttributeType(7016);
4953    /// Sets whether to enable autofill.
4954    ///
4955    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4956    ///
4957    /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4958    ///
4959    ///
4960    ///
4961    /// Format of the return value [`ArkUI_AttributeItem`]:
4962    ///
4963    /// .value[0].i32: whether to enable autofill.
4964    pub const NODE_TEXT_INPUT_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4965        ArkUI_NodeAttributeType(7017);
4966    /// Sets the autofill type.
4967    ///
4968    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4969    ///
4970    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4971    ///
4972    ///
4973    ///
4974    /// Format of the return value [`ArkUI_AttributeItem`]:
4975    ///
4976    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4977    pub const NODE_TEXT_INPUT_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7018);
4978    /// Defines the rules for generating passwords. When autofill is used, these rules are transparently
4979    /// transmitted to Password Vault for generating a new password.
4980    ///
4981    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4982    ///
4983    /// .string: rules for generating passwords.
4984    ///
4985    ///
4986    ///
4987    /// Format of the return value [`ArkUI_AttributeItem`]:
4988    ///
4989    /// .string: rules for generating passwords.
4990    pub const NODE_TEXT_INPUT_PASSWORD_RULES: ArkUI_NodeAttributeType =
4991        ArkUI_NodeAttributeType(7019);
4992    /// Sets whether to select all text in the initial state. The inline mode is not supported.
4993    ///
4994    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4995    ///
4996    /// .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>.
4997    ///
4998    ///
4999    ///
5000    /// Format of the return value [`ArkUI_AttributeItem`]:
5001    ///
5002    /// .value[0].i32: whether to select all text in the initial state.
5003    pub const NODE_TEXT_INPUT_SELECT_ALL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7020);
5004    /// Sets the regular expression for input filtering.
5005    /// Only inputs that comply with the regular expression can be displayed.
5006    /// Other inputs are filtered out. The specified regular expression can match single characters,
5007    /// but not strings.
5008    ///
5009    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5010    ///
5011    /// .string: regular expression.
5012    ///
5013    ///
5014    ///
5015    /// Format of the return value [`ArkUI_AttributeItem`]:
5016    ///
5017    /// .string: regular expression.
5018    pub const NODE_TEXT_INPUT_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7021);
5019    /// Sets the text box to the default style or inline input style.
5020    ///
5021    /// For the inline input style, only <b>InputType.Normal</b> is supported.
5022    ///
5023    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5024    ///
5025    /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
5026    ///
5027    ///
5028    ///
5029    /// Format of the return value [`ArkUI_AttributeItem`]:
5030    ///
5031    /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
5032    pub const NODE_TEXT_INPUT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7022);
5033    /// Sets or obtains the caret position.
5034    ///
5035    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5036    ///
5037    /// In the case of setting the caret position:
5038    /// .value[0].i32: character count from the beginning of a string to the caret position.
5039    ///
5040    ///
5041    /// Format of the return value [`ArkUI_AttributeItem`]:
5042    ///
5043    /// In the case of obtaining the caret position: If this API is called when the caret position is updated in the
5044    /// current frame, it will not take effect.
5045    /// .value[0].i32: index of the caret position.
5046    ///
5047    /// .value[1].f32: X coordinate of the caret relative to the text box.
5048    ///
5049    /// .value[2].f32: Y coordinate of the caret relative to the text box.
5050    pub const NODE_TEXT_INPUT_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7023);
5051    /// Obtains the position of the edited text area relative to the component and its size.
5052    ///
5053    /// Format of the return value [`ArkUI_AttributeItem`]:
5054    ///
5055    /// .value[0].f32: horizontal coordinate.
5056    ///
5057    /// .value[1].f32: vertical coordinate.
5058    ///
5059    /// .value[2].f32: content width.
5060    ///
5061    /// .value[3].f32: content height.
5062    pub const NODE_TEXT_INPUT_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7024);
5063    /// Obtains the number of lines of the edited text.
5064    ///
5065    /// Format of the return value [`ArkUI_AttributeItem`]:
5066    ///
5067    /// .value[0].i32: number of lines of the edited text.
5068    pub const NODE_TEXT_INPUT_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
5069        ArkUI_NodeAttributeType(7025);
5070    /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or
5071    /// right-clicked. This attribute can be set, reset, and obtained as required through APIs.
5072    ///
5073    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5074    ///
5075    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
5076    /// right-clicked. The default value is <b>false</b>.
5077    ///
5078    ///
5079    ///
5080    /// Format of the return value [`ArkUI_AttributeItem`]:
5081    ///
5082    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
5083    /// right-clicked.
5084    pub const NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
5085        ArkUI_NodeAttributeType(7026);
5086    /// Sets whether the text box loses focus after the Enter key is pressed to submit information.
5087    ///
5088    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5089    ///
5090    /// .value[0].i32: whether the text box loses focus.
5091    ///
5092    ///
5093    ///
5094    /// Format of the return value [`ArkUI_AttributeItem`]:
5095    ///
5096    /// .value[0].i32: whether the text box loses focus.
5097    pub const NODE_TEXT_INPUT_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
5098        ArkUI_NodeAttributeType(7027);
5099    /// Set up a custom keyboard.
5100    ///
5101    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5102    ///
5103    /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
5104    ///
5105    /// .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.
5106    ///
5107    ///
5108    ///
5109    /// Format of the return value [`ArkUI_AttributeItem`]:
5110    ///
5111    /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
5112    ///
5113    /// .value[0].i32:Set whether the custom keyboard supports the avoidance function.
5114    pub const NODE_TEXT_INPUT_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
5115        ArkUI_NodeAttributeType(7028);
5116    /// Defines the line break rule. 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].i32: The parameter type is [`ArkUI_WordBreak`].
5121    ///
5122    ///
5123    ///
5124    /// Format of the return value [`ArkUI_AttributeItem`]:
5125    ///
5126    /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
5127    pub const NODE_TEXT_INPUT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7029);
5128    /// Sets whether the keyboard pops up when the input box gains focus.
5129    /// It supports property setting, property reset and property acquisition interfaces.
5130    ///
5131    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
5132    ///
5133    /// .value[0].i32: Whether to pop up the keyboard.
5134    ///
5135    ///
5136    ///
5137    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
5138    ///
5139    /// .value[0].i32: Whether to pop up the keyboard.
5140    pub const NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5141        ArkUI_NodeAttributeType(7030);
5142    /// When this property is set, the height of the textInput component is calculated using this property.
5143    ///
5144    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5145    ///
5146    /// .value[0].i32: set the value of numberOfLines.
5147    ///
5148    ///
5149    ///
5150    /// Format of the return value [`ArkUI_AttributeItem`]:
5151    ///
5152    /// .value[0].i32: the value of numberOfLines.
5153    pub const NODE_TEXT_INPUT_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
5154        ArkUI_NodeAttributeType(7031);
5155    /// Sets the letter spacing of the <b>TextInput</b> component.
5156    /// This attribute can be set, reset, and obtained as required through APIs.
5157    ///
5158    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5159    ///
5160    /// .value[0].f32: letter spacing. The default unit is fp.
5161    ///
5162    ///
5163    ///
5164    /// Format of the return value [`ArkUI_AttributeItem`]:
5165    ///
5166    /// .value[0].f32: letter spacing. The default unit is fp.
5167    ///
5168    ///
5169    ///
5170    /// Available since API-level: 15
5171    #[cfg(feature = "api-15")]
5172    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5173    pub const NODE_TEXT_INPUT_LETTER_SPACING: ArkUI_NodeAttributeType =
5174        ArkUI_NodeAttributeType(7032);
5175    /// Sets whether to enable preview text for the <b>TextInput</b> component.
5176    /// This attribute can be set, reset, and obtained as required through APIs.
5177    ///
5178    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5179    ///
5180    /// .value[0].i32: whether to enable preview tex.
5181    ///
5182    ///
5183    ///
5184    /// Format of the return value [`ArkUI_AttributeItem`]:
5185    ///
5186    /// .value[0].i32: whether to enable preview tex.
5187    ///
5188    ///
5189    ///
5190    /// Available since API-level: 15
5191    #[cfg(feature = "api-15")]
5192    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5193    pub const NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
5194        ArkUI_NodeAttributeType(7033);
5195    /// Sets whether to center text vertically in the textInput component.
5196    ///
5197    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5198    ///
5199    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
5200    ///
5201    ///
5202    ///
5203    /// Format of the return value [`ArkUI_AttributeItem`]:
5204    ///
5205    /// .value[0].i32: whether to center text vertically.
5206    ///
5207    ///
5208    ///
5209    /// Available since API-level: 18
5210    #[cfg(feature = "api-18")]
5211    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5212    pub const NODE_TEXT_INPUT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7034);
5213    /// Set the keyboard style of textInput
5214    ///
5215    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5216    ///
5217    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5218    ///
5219    ///
5220    ///
5221    /// Format of the return value [`ArkUI_AttributeItem`]:
5222    ///
5223    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5224    ///
5225    ///
5226    ///
5227    /// Available since API-level: 15
5228    #[cfg(feature = "api-15")]
5229    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5230    pub const NODE_TEXT_INPUT_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
5231        ArkUI_NodeAttributeType(7035);
5232    /// Set whether to enable the auto fill animation or not.
5233    ///
5234    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5235    ///
5236    /// .value[0].i32: Whether to enable the auto fill animation.
5237    ///
5238    ///
5239    ///
5240    /// Format of the return value [`ArkUI_AttributeItem`]:
5241    ///
5242    /// .value[0].i32: Get the flag of whether the auto fill animation is enabled.
5243    ///
5244    ///
5245    ///
5246    /// Available since API-level: 20
5247    #[cfg(feature = "api-20")]
5248    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5249    pub const NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION: ArkUI_NodeAttributeType =
5250        ArkUI_NodeAttributeType(7036);
5251    /// Set the line height of the input node.
5252    /// This attribute can be set, reset, and obtained as required through APIs.
5253    ///
5254    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5255    ///
5256    /// .value[0].i32: line height value.
5257    ///
5258    ///
5259    /// Format of the return value [`ArkUI_AttributeItem`]:
5260    ///
5261    /// .value[0].i32: line height value
5262    ///
5263    ///
5264    /// Available since API-level: 20
5265    #[cfg(feature = "api-20")]
5266    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5267    pub const NODE_TEXT_INPUT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7037);
5268    /// Enables selected data detector.
5269    ///
5270    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5271    ///
5272    /// .value[0].i32: Enable selected text recognition, default value true.
5273    ///
5274    ///
5275    ///
5276    /// Format of the return value [`ArkUI_AttributeItem`]:
5277    ///
5278    /// .value[0].i32: Whether selected text recognition is enabled.
5279    ///
5280    ///
5281    ///
5282    /// Available since API-level: 22
5283    #[cfg(feature = "api-22")]
5284    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5285    pub const NODE_TEXT_INPUT_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
5286        ArkUI_NodeAttributeType(7038);
5287    /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
5288    ///
5289    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5290    ///
5291    /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
5292    ///
5293    /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
5294    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5295    /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
5296    ///
5297    /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
5298    ///
5299    /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5300    ///
5301    ///
5302    ///
5303    /// Format of the return value [`ArkUI_AttributeItem`]:
5304    ///
5305    /// .value[0].i32: whether to show a character counter.
5306    ///
5307    /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
5308    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5309    /// by the threshold percentage value. The value range is 1 to 100.
5310    ///
5311    /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
5312    /// The default value is <b>true</b>.
5313    ///
5314    /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5315    ///
5316    ///
5317    ///
5318    /// Available since API-level: 22
5319    #[cfg(feature = "api-22")]
5320    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5321    pub const NODE_TEXT_INPUT_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7040);
5322    /// Used to set or get the text content base controller.
5323    ///
5324    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5325    ///
5326    /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
5327    ///
5328    ///
5329    ///
5330    /// Format of the return value [`ArkUI_AttributeItem`]:
5331    ///
5332    /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
5333    ///
5334    ///
5335    ///
5336    /// Available since API-level: 23
5337    #[cfg(feature = "api-23")]
5338    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5339    pub const NODE_TEXT_INPUT_TEXT_CONTENT_CONTROLLER_BASE: ArkUI_NodeAttributeType =
5340        ArkUI_NodeAttributeType(7041);
5341    /// Whether to compress punctuation at the beginning of line.
5342    ///
5343    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5344    ///
5345    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
5346    /// The default value is false.
5347    ///
5348    ///
5349    ///
5350    /// Format of the return value [`ArkUI_AttributeItem`]:
5351    ///
5352    /// .value[0].i32: Whether compress punctuation at the beginning of line.
5353    ///
5354    ///
5355    ///
5356    /// Available since API-level: 23
5357    #[cfg(feature = "api-23")]
5358    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5359    pub const NODE_TEXT_INPUT_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
5360        ArkUI_NodeAttributeType(7044);
5361    /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
5362    ///
5363    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5364    ///
5365    /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
5366    /// The default value is false.
5367    ///
5368    ///
5369    ///
5370    /// Format of the return value [`ArkUI_AttributeItem`]:
5371    ///
5372    /// .value[0].i32: Whether include the font padding.
5373    ///
5374    ///
5375    ///
5376    /// Available since API-level: 23
5377    #[cfg(feature = "api-23")]
5378    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5379    pub const NODE_TEXT_INPUT_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
5380        ArkUI_NodeAttributeType(7045);
5381    /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
5382    ///
5383    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5384    ///
5385    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
5386    /// The default value is false.
5387    ///
5388    ///
5389    ///
5390    /// Format of the return value [`ArkUI_AttributeItem`]:
5391    ///
5392    /// .value[0].i32: Whether fallback line spacing.
5393    ///
5394    ///
5395    ///
5396    /// Available since API-level: 23
5397    #[cfg(feature = "api-23")]
5398    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5399    pub const NODE_TEXT_INPUT_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
5400        ArkUI_NodeAttributeType(7046);
5401    /// Writing direction of the text.
5402    /// This attribute can be set, reset, and obtained as required through APIs.
5403    ///
5404    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5405    ///
5406    /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
5407    ///
5408    ///
5409    ///
5410    /// Format of the return value [`ArkUI_AttributeItem`]:
5411    ///
5412    /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
5413    ///
5414    ///
5415    ///
5416    /// Available since API-level: 23
5417    #[cfg(feature = "api-23")]
5418    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5419    pub const NODE_TEXT_INPUT_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7047);
5420    /// Used to set the selected drag preview style.
5421    ///
5422    /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
5423    ///
5424    /// .object: selected drag preview style configuration.
5425    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
5426    ///
5427    ///
5428    ///
5429    /// Format of the return value [`Arkui_AttributeItem`]:
5430    ///
5431    /// .object: selected drag preview style configuration.
5432    ///
5433    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
5434    ///
5435    ///
5436    ///
5437    /// Available since API-level: 23
5438    #[cfg(feature = "api-23")]
5439    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5440    pub const NODE_TEXT_INPUT_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
5441        ArkUI_NodeAttributeType(7048);
5442    /// Defines the default placeholder text for the multi-line text box.
5443    /// This attribute can be set, reset, and obtained as required through APIs.
5444    ///
5445    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5446    ///
5447    /// .string: default placeholder text.
5448    ///
5449    ///
5450    ///
5451    /// Format of the return value [`ArkUI_AttributeItem`]:
5452    ///
5453    /// .string: default placeholder text.
5454    pub const NODE_TEXT_AREA_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8000);
5455    /// Defines the default text content for the multi-line text box.
5456    /// This attribute can be set, reset, and obtained as required through APIs.
5457    ///
5458    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5459    ///
5460    /// .string: default text content.
5461    ///
5462    ///
5463    ///
5464    /// Format of the return value [`ArkUI_AttributeItem`]:
5465    ///
5466    /// .string: default text content.
5467    pub const NODE_TEXT_AREA_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8001);
5468    /// Defines the maximum number of characters in the text input.
5469    /// This attribute can be set, reset, and obtained as required through APIs.
5470    ///
5471    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5472    ///
5473    /// .value[0].i32: maximum number of characters in the text input.
5474    ///
5475    ///
5476    ///
5477    /// Format of the return value [`ArkUI_AttributeItem`]:
5478    ///
5479    /// .value[0].i32: maximum number of characters in the text input.
5480    pub const NODE_TEXT_AREA_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8002);
5481    /// Defines the placeholder text color.
5482    /// This attribute can be set, reset, and obtained as required through APIs.
5483    ///
5484    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5485    ///
5486    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5487    ///
5488    ///
5489    ///
5490    /// Format of the return value [`ArkUI_AttributeItem`]:
5491    ///
5492    /// .value[0].u32: color value, in 0xARGB format.
5493    pub const NODE_TEXT_AREA_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
5494        ArkUI_NodeAttributeType(8003);
5495    /// Defines the placeholder text font.
5496    /// This attribute can be set, reset, and obtained as required through APIs.
5497    ///
5498    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5499    ///
5500    /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
5501    ///
5502    /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
5503    ///
5504    /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
5505    ///
5506    /// ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2".
5507    ///
5508    ///
5509    ///
5510    /// Format of the return value [`ArkUI_AttributeItem`]:
5511    ///
5512    /// .value[0].f32: font size, in fp.
5513    ///
5514    /// .value[1].i32: font style [`ArkUI_FontStyle`].
5515    ///
5516    /// .value[2].i32: font weight [`ArkUI_FontWeight`].
5517    ///
5518    /// .string: font family. Multiple font families are separated by commas (,).
5519    pub const NODE_TEXT_AREA_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
5520        ArkUI_NodeAttributeType(8004);
5521    /// Defines the caret color attribute.
5522    /// This attribute can be set, reset, and obtained as required through APIs.
5523    ///
5524    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5525    ///
5526    /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5527    ///
5528    ///
5529    ///
5530    /// Format of the return value [`ArkUI_AttributeItem`]:
5531    ///
5532    /// .value[0].u32: background color, in 0xARGB format.
5533    pub const NODE_TEXT_AREA_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8005);
5534    /// Defines the editable state for the multi-line text box.
5535    /// This attribute can be set as required through APIs.
5536    ///
5537    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5538    ///
5539    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the
5540    /// editable state, and <b>false</b> means to exit the editable state.
5541    ///
5542    ///
5543    ///
5544    ///
5545    /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
5546    /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
5547    /// state, and <b>false</b> means to exit the editable state.
5548    pub const NODE_TEXT_AREA_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8006);
5549    /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
5550    ///
5551    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5552    ///
5553    /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
5554    /// The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>.
5555    ///
5556    ///
5557    ///
5558    /// Format of the return value [`ArkUI_AttributeItem`]:
5559    ///
5560    /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
5561    pub const NODE_TEXT_AREA_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8007);
5562    /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
5563    ///
5564    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5565    ///
5566    /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
5567    ///
5568    /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
5569    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5570    /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
5571    ///
5572    /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
5573    ///
5574    /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5575    ///
5576    ///
5577    ///
5578    /// Format of the return value [`ArkUI_AttributeItem`]:
5579    ///
5580    /// .value[0].i32: whether to show a character counter.
5581    ///
5582    /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
5583    /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5584    /// by the threshold percentage value. The value range is 1 to 100.
5585    ///
5586    /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
5587    /// The default value is <b>true</b>.
5588    ///
5589    /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5590    pub const NODE_TEXT_AREA_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8008);
5591    /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click,
5592    /// or right-clicked. This attribute can be set, reset, and obtained as required through APIs.
5593    ///
5594    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5595    ///
5596    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
5597    /// or right-clicked. The default value is <b>false</b>.
5598    ///
5599    ///
5600    ///
5601    /// Format of the return value [`ArkUI_AttributeItem`]:
5602    ///
5603    /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
5604    /// or right-clicked.
5605    pub const NODE_TEXT_AREA_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
5606        ArkUI_NodeAttributeType(8009);
5607    /// Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information.
5608    ///
5609    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5610    ///
5611    /// .value[0].i32: whether the text box loses focus.
5612    ///
5613    ///
5614    ///
5615    /// Format of the return value [`ArkUI_AttributeItem`]:
5616    ///
5617    /// .value[0].i32: whether the text box loses focus.
5618    pub const NODE_TEXT_AREA_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
5619        ArkUI_NodeAttributeType(8010);
5620    /// Sets the regular expression for input filtering.
5621    /// Only inputs that comply with the regular expression can be displayed.
5622    /// Other inputs are filtered out. The specified regular expression can match single characters,
5623    /// but not strings.
5624    ///
5625    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5626    ///
5627    /// .string: regular expression.
5628    ///
5629    ///
5630    ///
5631    /// Format of the return value [`ArkUI_AttributeItem`]:
5632    ///
5633    /// .string: regular expression.
5634    pub const NODE_TEXT_AREA_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8011);
5635    /// Defines the background color of the selected text.
5636    /// This attribute can be set, reset, and obtained as required through APIs.
5637    ///
5638    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5639    ///
5640    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5641    ///
5642    ///
5643    ///
5644    /// Format of the return value [`ArkUI_AttributeItem`]:
5645    ///
5646    /// .value[0].u32: color value, in 0xARGB format.
5647    pub const NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
5648        ArkUI_NodeAttributeType(8012);
5649    /// Defines the type of the Enter key.
5650    /// 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    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
5655    ///
5656    ///
5657    ///
5658    /// Format of the return value [`ArkUI_AttributeItem`]:
5659    ///
5660    /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
5661    pub const NODE_TEXT_AREA_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
5662        ArkUI_NodeAttributeType(8013);
5663    /// Defines whether to enable the input method when the component obtains focus.
5664    /// This attribute can be set, reset, and obtained as required through APIs.
5665    ///
5666    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5667    ///
5668    /// .value[0].i32: whether to enable the input method when the component obtains focus.
5669    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
5670    ///
5671    ///
5672    ///
5673    ///
5674    /// Format of the return value [`ArkUI_AttributeItem`]:
5675    ///
5676    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
5677    /// and <b>0</b> means the opposite.
5678    pub const NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5679        ArkUI_NodeAttributeType(8014);
5680    /// Defines whether to enable the input method when the component obtains focus.
5681    /// This attribute can be set, reset, and obtained as required through APIs.
5682    ///
5683    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5684    ///
5685    /// .value[0].i32: whether to enable the input method when the component obtains focus.
5686    /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
5687    ///
5688    ///
5689    ///
5690    ///
5691    /// Format of the return value [`ArkUI_AttributeItem`]:
5692    ///
5693    /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
5694    /// and <b>0</b> means the opposite.
5695    pub const NODE_TEXT_AREA_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8015);
5696    /// Obtains the position of the edited text area relative to the component and its size.
5697    ///
5698    /// Format of the return value [`ArkUI_AttributeItem`]:
5699    ///
5700    /// .value[0].f32: horizontal coordinate.
5701    ///
5702    /// .value[1].f32: vertical coordinate.
5703    ///
5704    /// .value[2].f32: content width.
5705    ///
5706    /// .value[3].f32: content height.
5707    pub const NODE_TEXT_AREA_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8016);
5708    /// Obtains the number of lines of the edited text.
5709    ///
5710    /// Format of the return value [`ArkUI_AttributeItem`]:
5711    ///
5712    /// .value[0].i32: number of lines of the edited text.
5713    pub const NODE_TEXT_AREA_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
5714        ArkUI_NodeAttributeType(8017);
5715    /// Sets the text selection area, which will be highlighted.
5716    /// This attribute can be set, reset, and obtained as required through APIs.
5717    ///
5718    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5719    ///
5720    /// .value[0].i32: start position of the text selection.
5721    ///
5722    /// .value[1].i32: end position of the text selection.
5723    ///
5724    ///
5725    ///
5726    /// Format of the return value [`ArkUI_AttributeItem`]:
5727    ///
5728    /// .value[0].i32: start position of the text selection.
5729    ///
5730    /// .value[1].i32: end position of the text selection.
5731    pub const NODE_TEXT_AREA_TEXT_SELECTION: ArkUI_NodeAttributeType =
5732        ArkUI_NodeAttributeType(8018);
5733    /// Sets whether to enable autofill.
5734    ///
5735    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5736    ///
5737    /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
5738    ///
5739    ///
5740    ///
5741    /// Format of the return value [`ArkUI_AttributeItem`]:
5742    ///
5743    /// .value[0].i32: whether to enable autofill.
5744    pub const NODE_TEXT_AREA_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
5745        ArkUI_NodeAttributeType(8019);
5746    /// Sets the autofill type.
5747    ///
5748    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5749    ///
5750    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
5751    ///
5752    ///
5753    ///
5754    /// Format of the return value [`ArkUI_AttributeItem`]:
5755    ///
5756    /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
5757    pub const NODE_TEXT_AREA_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8020);
5758    /// Sets whether the keyboard pops up when the input box gains focus.
5759    /// It supports property setting, property reset and property acquisition interfaces.
5760    ///
5761    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
5762    ///
5763    /// .value[0].i32: Whether to pop up the keyboard.
5764    ///
5765    ///
5766    ///
5767    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
5768    ///
5769    /// .value[0].i32: Whether to pop up the keyboard.
5770    pub const NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5771        ArkUI_NodeAttributeType(8021);
5772    /// When this property is set, the height of the textArea component is calculated using this property.
5773    ///
5774    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5775    ///
5776    /// .value[0].i32: set the value of numberOfLines.
5777    ///
5778    ///
5779    ///
5780    /// Format of the return value [`ArkUI_AttributeItem`]:
5781    ///
5782    /// .value[0].i32: Set the value of numberOfLines
5783    pub const NODE_TEXT_AREA_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
5784        ArkUI_NodeAttributeType(8022);
5785    /// Sets the letter spacing of the <b>TextArea</b> component.
5786    /// This attribute can be set, reset, and obtained as required through APIs.
5787    ///
5788    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5789    ///
5790    /// .value[0].f32: letter spacing. The default unit is fp.
5791    ///
5792    ///
5793    ///
5794    /// Format of the return value [`ArkUI_AttributeItem`]:
5795    ///
5796    /// .value[0].f32: letter spacing. The default unit is fp.
5797    ///
5798    ///
5799    ///
5800    /// Available since API-level: 15
5801    #[cfg(feature = "api-15")]
5802    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5803    pub const NODE_TEXT_AREA_LETTER_SPACING: ArkUI_NodeAttributeType =
5804        ArkUI_NodeAttributeType(8023);
5805    /// Sets whether to enable preview text for the <b>TextArea</b> component.
5806    /// This attribute can be set, reset, and obtained as required through APIs.
5807    ///
5808    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5809    ///
5810    /// .value[0].i32: whether to enable preview tex.
5811    ///
5812    ///
5813    ///
5814    /// Format of the return value [`ArkUI_AttributeItem`]:
5815    ///
5816    /// .value[0].i32: whether to enable preview tex.
5817    ///
5818    ///
5819    ///
5820    /// Available since API-level: 15
5821    #[cfg(feature = "api-15")]
5822    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5823    pub const NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
5824        ArkUI_NodeAttributeType(8024);
5825    /// Sets whether to center text vertically in the textArea component.
5826    ///
5827    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5828    ///
5829    /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
5830    ///
5831    ///
5832    ///
5833    /// Format of the return value [`ArkUI_AttributeItem`]:
5834    ///
5835    /// .value[0].i32: whether to center text vertically.
5836    ///
5837    ///
5838    ///
5839    /// Available since API-level: 18
5840    #[cfg(feature = "api-18")]
5841    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5842    pub const NODE_TEXT_AREA_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8025);
5843    /// Set the keyboard style of textArea
5844    ///
5845    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5846    ///
5847    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5848    ///
5849    ///
5850    ///
5851    /// Format of the return value [`ArkUI_AttributeItem`]:
5852    ///
5853    /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5854    ///
5855    ///
5856    ///
5857    /// Available since API-level: 15
5858    #[cfg(feature = "api-15")]
5859    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5860    pub const NODE_TEXT_AREA_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
5861        ArkUI_NodeAttributeType(8026);
5862    /// Set the max lines of the node. This attribute can be set, reset, and obtained as required through APIs.
5863    ///
5864    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5865    ///
5866    /// .value[0].i32: max lines count.
5867    ///
5868    ///
5869    /// Format of the return value [`ArkUI_AttributeItem`]:
5870    ///
5871    /// .value[0].i32: max lines count.
5872    ///
5873    ///
5874    ///
5875    /// Available since API-level: 20
5876    #[cfg(feature = "api-20")]
5877    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5878    pub const NODE_TEXT_AREA_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8027);
5879    /// Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs.
5880    ///
5881    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5882    ///
5883    /// .value[0].i32: line spacing value.
5884    ///
5885    ///
5886    ///
5887    /// Format of the return value [`ArkUI_AttributeItem`]:
5888    ///
5889    /// .value[0].i32: line spacing value.
5890    ///
5891    ///
5892    ///
5893    /// Available since API-level: 20
5894    #[cfg(feature = "api-20")]
5895    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5896    pub const NODE_TEXT_AREA_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8028);
5897    /// Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs.
5898    ///
5899    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5900    ///
5901    /// .value[0].i32: min lines count.
5902    ///
5903    ///
5904    /// Format of the return value [`ArkUI_AttributeItem`]:
5905    ///
5906    /// .value[0].i32: min line count.
5907    ///
5908    ///
5909    ///
5910    /// Available since API-level: 20
5911    #[cfg(feature = "api-20")]
5912    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5913    pub const NODE_TEXT_AREA_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8029);
5914    /// Set the max lines of the node with scroll.
5915    /// This attribute can be set, reset, and obtained as required through APIs.
5916    ///
5917    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5918    ///
5919    /// .value[0].i32: max lines count with scroll.
5920    ///
5921    ///
5922    /// Format of the return value [`ArkUI_AttributeItem`]:
5923    ///
5924    /// .value[0].i32: max line count with scroll.
5925    ///
5926    ///
5927    ///
5928    /// Available since API-level: 20
5929    #[cfg(feature = "api-20")]
5930    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5931    pub const NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL: ArkUI_NodeAttributeType =
5932        ArkUI_NodeAttributeType(8030);
5933    /// Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs.
5934    ///
5935    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5936    ///
5937    /// .value[0].i32: line height value.
5938    ///
5939    ///
5940    /// Format of the return value [`ArkUI_AttributeItem`]:
5941    ///
5942    /// .value[0].i32: line height value
5943    ///
5944    ///
5945    /// Available since API-level: 20
5946    #[cfg(feature = "api-20")]
5947    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5948    pub const NODE_TEXT_AREA_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8031);
5949    /// Define bar state of the text area.
5950    /// This attribute can be set, reset, and obtained as required through APIs.
5951    ///
5952    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5953    ///
5954    /// .value[0].i32: bar state of the text area, specified using the [`ArkUI_BarState`] enum.
5955    /// The default value is <b>ARKUI_BAR_STATE_AUTO</b>.
5956    ///
5957    ///
5958    ///
5959    /// Format of the return value [`ArkUI_AttributeItem`]:
5960    ///
5961    /// .value[0].i32: bar state of the text area, specified using the [`ArkUI_BarState`] enum.
5962    ///
5963    ///
5964    ///
5965    /// Available since API-level: 22
5966    #[cfg(feature = "api-22")]
5967    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5968    pub const NODE_TEXT_AREA_BAR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8032);
5969    /// Enables selected data detector.
5970    ///
5971    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5972    ///
5973    /// .value[0].i32: Enable selected text recognition, default value true.
5974    ///
5975    ///
5976    ///
5977    /// Format of the return value [`ArkUI_AttributeItem`]:
5978    ///
5979    /// .value[0].i32: Whether selected text recognition is enabled.
5980    ///
5981    ///
5982    ///
5983    /// Available since API-level: 22
5984    #[cfg(feature = "api-22")]
5985    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5986    pub const NODE_TEXT_AREA_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
5987        ArkUI_NodeAttributeType(8033);
5988    /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
5989    /// through APIs.
5990    ///
5991    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5992    ///
5993    /// .data[0].u32: color of the scroll bar thumb, in 0xARGB format.
5994    ///
5995    ///
5996    ///
5997    /// Format of the return value [`ArkUI_AttributeItem`]:
5998    ///
5999    /// .data[0].u32: color of the scroll bar thumb, in 0xARGB format.
6000    ///
6001    ///
6002    ///
6003    /// Available since API-level: 22
6004    #[cfg(feature = "api-22")]
6005    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
6006    pub const NODE_TEXT_AREA_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType =
6007        ArkUI_NodeAttributeType(8035);
6008    /// Sets up a custom keyboard.
6009    ///
6010    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6011    ///
6012    /// .object: custom keyboard,The parameter type is [`ArkUI_NodeHandle`].
6013    ///
6014    /// .value[0]?.i32: Sets whether the custom keyboard supports the avoidance feature, default value false.
6015    ///
6016    ///
6017    ///
6018    /// Format of the return value [`ArkUI_AttributeItem`]:
6019    ///
6020    /// .object:custom keyboard,The parameter type is [`ArkUI_NodeHandle`].
6021    ///
6022    /// .value[0].i32: Set whether the custom keyboard supports the avoidance function.
6023    ///
6024    ///
6025    ///
6026    /// Available since API-level: 22
6027    #[cfg(feature = "api-22")]
6028    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
6029    pub const NODE_TEXT_AREA_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
6030        ArkUI_NodeAttributeType(8036);
6031    /// Used to set or get the text content base controller.
6032    ///
6033    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6034    ///
6035    /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
6036    ///
6037    ///
6038    ///
6039    /// Format of the return value [`ArkUI_AttributeItem`]:
6040    ///
6041    /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
6042    ///
6043    ///
6044    ///
6045    /// Available since API-level: 23
6046    #[cfg(feature = "api-23")]
6047    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6048    pub const NODE_TEXT_AREA_TEXT_CONTENT_CONTROLLER_BASE: ArkUI_NodeAttributeType =
6049        ArkUI_NodeAttributeType(8037);
6050    /// Whether to compress punctuation at the beginning of line.
6051    ///
6052    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6053    ///
6054    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
6055    /// The default value is false.
6056    ///
6057    ///
6058    ///
6059    /// Format of the return value [`ArkUI_AttributeItem`]:
6060    ///
6061    /// .value[0].i32: Whether compress punctuation at the beginning of line.
6062    ///
6063    ///
6064    ///
6065    /// Available since API-level: 23
6066    #[cfg(feature = "api-23")]
6067    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6068    pub const NODE_TEXT_AREA_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
6069        ArkUI_NodeAttributeType(8040);
6070    /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
6071    ///
6072    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6073    ///
6074    /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
6075    /// The default value is false.
6076    ///
6077    ///
6078    ///
6079    /// Format of the return value [`ArkUI_AttributeItem`]:
6080    ///
6081    /// .value[0].i32: Whether include the font padding.
6082    ///
6083    ///
6084    ///
6085    /// Available since API-level: 23
6086    #[cfg(feature = "api-23")]
6087    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6088    pub const NODE_TEXT_AREA_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
6089        ArkUI_NodeAttributeType(8041);
6090    /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
6091    ///
6092    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6093    ///
6094    /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
6095    /// The default value is false.
6096    ///
6097    ///
6098    ///
6099    /// Format of the return value [`ArkUI_AttributeItem`]:
6100    ///
6101    /// .value[0].i32: Whether fallback line spacing.
6102    ///
6103    ///
6104    ///
6105    /// Available since API-level: 23
6106    #[cfg(feature = "api-23")]
6107    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6108    pub const NODE_TEXT_AREA_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
6109        ArkUI_NodeAttributeType(8042);
6110    /// Writing direction of the text.
6111    /// This attribute can be set, reset, and obtained as required through APIs.
6112    ///
6113    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6114    ///
6115    /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
6116    ///
6117    ///
6118    ///
6119    /// Format of the return value [`ArkUI_AttributeItem`]:
6120    ///
6121    /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
6122    ///
6123    ///
6124    ///
6125    /// Available since API-level: 23
6126    #[cfg(feature = "api-23")]
6127    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6128    pub const NODE_TEXT_AREA_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8044);
6129    /// Used to set the selected drag preview style.
6130    ///
6131    /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
6132    ///
6133    /// .object: selected drag preview style configuration.
6134    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
6135    ///
6136    ///
6137    ///
6138    /// Format of the return value [`Arkui_AttributeItem`]:
6139    ///
6140    /// .object: selected drag preview style configuration.
6141    /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
6142    ///
6143    ///
6144    ///
6145    /// Available since API-level: 23
6146    #[cfg(feature = "api-23")]
6147    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6148    pub const NODE_TEXT_AREA_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
6149        ArkUI_NodeAttributeType(8045);
6150    /// Defines the button text content. This attribute can be set, reset, and obtained as required through APIs.
6151    ///
6152    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6153    ///
6154    /// .string: default text content.
6155    ///
6156    ///
6157    ///
6158    /// Format of the return value [`ArkUI_AttributeItem`]:
6159    ///
6160    /// .string: default text content.
6161    pub const NODE_BUTTON_LABEL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9000);
6162    /// Sets the button type. This attribute can be set, reset, and obtained as required through APIs.
6163    ///
6164    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6165    ///
6166    /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
6167    /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
6168    ///
6169    ///
6170    ///
6171    /// Format of the return value [`ArkUI_AttributeItem`]:
6172    ///
6173    /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
6174    /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
6175    pub const NODE_BUTTON_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9001);
6176    /// Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs.
6177    ///
6178    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6179    ///
6180    /// .value[0].f32: minimum font scale, in fp.
6181    ///
6182    ///
6183    /// Format of the return value [`ArkUI_AttributeItem`]:
6184    ///
6185    /// .value[0].f32: minimum font scale, in fp.
6186    ///
6187    ///
6188    /// Available since API-level: 18
6189    #[cfg(feature = "api-18")]
6190    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6191    pub const NODE_BUTTON_MIN_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9002);
6192    /// Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs.
6193    ///
6194    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6195    ///
6196    /// .value[0].f32: maximum font scale, in fp.
6197    ///
6198    ///
6199    /// Format of the return value [`ArkUI_AttributeItem`]:
6200    ///
6201    /// .value[0].f32: maximum font scale, in fp.
6202    ///
6203    ///
6204    /// Available since API-level: 18
6205    #[cfg(feature = "api-18")]
6206    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6207    pub const NODE_BUTTON_MAX_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9003);
6208    /// Defines the current value of the progress indicator.
6209    /// This attribute can be set, reset, and obtained as required through APIs.
6210    ///
6211    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6212    ///
6213    /// .value[0].f32: current value of the progress indicator.
6214    ///
6215    ///
6216    ///
6217    /// Format of the return value [`ArkUI_AttributeItem`]:
6218    ///
6219    /// .value[0].f32: current value of the progress indicator.
6220    pub const NODE_PROGRESS_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10000);
6221    /// Defines the total value of the progress indicator.
6222    /// This attribute can be set, reset, and obtained as required through APIs.
6223    ///
6224    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6225    ///
6226    /// .value[0].f32: total value of the progress indicator.
6227    ///
6228    ///
6229    ///
6230    /// Format of the return value [`ArkUI_AttributeItem`]:
6231    ///
6232    /// .value[0].f32: total value of the progress indicator.
6233    pub const NODE_PROGRESS_TOTAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10001);
6234    /// Defines the color for the progress value on the progress indicator.
6235    /// This attribute can be set, reset, and obtained as required through APIs.
6236    ///
6237    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6238    ///
6239    /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
6240    ///
6241    ///
6242    ///
6243    /// Format of the return value [`ArkUI_AttributeItem`]:
6244    ///
6245    /// .value[0].u32: color value, in 0xARGB format.
6246    pub const NODE_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10002);
6247    /// Defines the type of the progress indicator.
6248    /// This attribute can be set, reset, and obtained as required through APIs.
6249    ///
6250    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6251    ///
6252    /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
6253    /// The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>.
6254    ///
6255    ///
6256    ///
6257    /// Format of the return value [`ArkUI_AttributeItem`]:
6258    ///
6259    /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
6260    pub const NODE_PROGRESS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10003);
6261    /// Sets the style of the linear progress indicator.
6262    /// This attribute can be set, reset, and obtained as required through APIs.
6263    /// If the progress indicator type is not linear, it will not take effect.
6264    ///
6265    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6266    ///
6267    /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to set the style.
6268    ///
6269    ///
6270    ///
6271    /// Format of the return value [`ArkUI_AttributeItem`]:
6272    ///
6273    /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to get the style.
6274    ///
6275    ///
6276    ///
6277    /// Available since API-level: 15
6278    #[cfg(feature = "api-15")]
6279    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6280    pub const NODE_PROGRESS_LINEAR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10004);
6281    /// Defines whether the check box is selected.
6282    /// This attribute can be set, reset, and obtained as required through APIs.
6283    ///
6284    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6285    ///
6286    /// .value[0].i32: whether the check box is selected.
6287    /// The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
6288    ///
6289    ///
6290    ///
6291    /// Format of the return value [`ArkUI_AttributeItem`]:
6292    ///
6293    /// .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
6294    pub const NODE_CHECKBOX_SELECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11000);
6295    /// Defines the color of the check box when it is selected.
6296    /// This attribute can be set, reset, and obtained as required through APIs.
6297    ///
6298    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6299    ///
6300    /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6301    ///
6302    ///
6303    ///
6304    /// Format of the return value [`ArkUI_AttributeItem`]:
6305    ///
6306    /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6307    pub const NODE_CHECKBOX_SELECT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11001);
6308    /// Defines the border color of the check box when it is not selected.
6309    /// This attribute can be set, reset, and obtained as required through APIs.
6310    ///
6311    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6312    ///
6313    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6314    ///
6315    ///
6316    ///
6317    /// Format of the return value [`ArkUI_AttributeItem`]:
6318    ///
6319    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6320    pub const NODE_CHECKBOX_UNSELECT_COLOR: ArkUI_NodeAttributeType =
6321        ArkUI_NodeAttributeType(11002);
6322    /// Defines the internal icon style of the check box.
6323    /// This attribute can be set, reset, and obtained as required through APIs.
6324    ///
6325    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6326    ///
6327    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6328    ///
6329    /// .value[1]?.f32: size of the internal mark, in vp. Optional.
6330    ///
6331    /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
6332    ///
6333    ///
6334    ///
6335    /// Format of the return value [`ArkUI_AttributeItem`]:
6336    ///
6337    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6338    ///
6339    /// .value[1].f32: size of the internal mark, in vp.
6340    ///
6341    /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
6342    pub const NODE_CHECKBOX_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11003);
6343    /// Defines the shape of the check box.
6344    /// This attribute can be set, reset, and obtained as required through APIs.
6345    ///
6346    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6347    ///
6348    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6349    ///
6350    ///
6351    ///
6352    /// Format of the return value [`ArkUI_AttributeItem`]:
6353    ///
6354    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6355    pub const NODE_CHECKBOX_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11004);
6356    /// Defines the name of the checkbox.
6357    /// This attribute can be set, reset, and obtained as required through APIs.
6358    ///
6359    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6360    ///
6361    /// .string: component name.
6362    ///
6363    ///
6364    ///
6365    /// Format of the return value [`ArkUI_AttributeItem`]:
6366    ///
6367    /// .string: component name.
6368    ///
6369    ///
6370    ///
6371    /// Available since API-level: 15
6372    #[cfg(feature = "api-15")]
6373    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6374    pub const NODE_CHECKBOX_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11005);
6375    /// Defines the name of the checkbox.
6376    /// This attribute can be set, reset, and obtained as required through APIs.
6377    ///
6378    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6379    ///
6380    /// .string: component name.
6381    ///
6382    ///
6383    ///
6384    /// Format of the return value [`ArkUI_AttributeItem`]:
6385    ///
6386    /// .string: component name.
6387    ///
6388    ///
6389    ///
6390    /// Available since API-level: 15
6391    #[cfg(feature = "api-15")]
6392    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6393    pub const NODE_CHECKBOX_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11006);
6394    /// Defines the ID of the <b><XComponent></b> component.
6395    /// This attribute can be set and obtained as required through APIs.
6396    ///
6397    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6398    ///
6399    /// .string: component ID.
6400    ///
6401    ///
6402    ///
6403    /// Format of the return value [`ArkUI_AttributeItem`]:
6404    ///
6405    /// .string: component ID.
6406    pub const NODE_XCOMPONENT_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12000);
6407    /// Specifies the type of the <b>XComponent</b> component. This attribute is read-only.
6408    ///
6409    /// 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.
6410    ///
6411    /// Attempting to change the type through [`setAttribute`] will cause rendering exceptions.
6412    ///
6413    /// Format of the return value [`ArkUI_AttributeItem`]:
6414    ///
6415    /// .value[0].i32: type [`ArkUI_XComponentType`].
6416    pub const NODE_XCOMPONENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12001);
6417    /// Specifies the size of the <b>XComponent</b> component. This attribute is read-only.
6418    ///
6419    /// Attempting to modify the size through [`setAttribute`] will have no effect.
6420    ///
6421    /// Format of the return value [`ArkUI_AttributeItem`]:
6422    ///
6423    /// .value[0].u32: width, in px.
6424    ///
6425    /// .value[1].u32: height, in px.
6426    pub const NODE_XCOMPONENT_SURFACE_SIZE: ArkUI_NodeAttributeType =
6427        ArkUI_NodeAttributeType(12002);
6428    /// Defines the rectangle information of surface created by the <b><XComponent></b> component.
6429    /// This attribute can be set and obtained as required through APIs.
6430    ///
6431    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6432    ///
6433    /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
6434    ///
6435    /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
6436    ///
6437    /// .value[2].i32: The width of the surface created by XComponent, in pixels.
6438    ///
6439    /// .value[3].i32: The height of the surface created by XComponent, in pixels.
6440    ///
6441    ///
6442    ///
6443    /// Format of the return value [`ArkUI_AttributeItem`]:
6444    ///
6445    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6446    ///
6447    /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
6448    ///
6449    /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
6450    ///
6451    /// .value[2].i32: The width of the surface created by XComponent, in pixels.
6452    ///
6453    /// .value[3].i32: The height of the surface created by XComponent, in pixels.
6454    ///
6455    ///
6456    /// Available since API-level: 18
6457    #[cfg(feature = "api-18")]
6458    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6459    pub const NODE_XCOMPONENT_SURFACE_RECT: ArkUI_NodeAttributeType =
6460        ArkUI_NodeAttributeType(12003);
6461    /// Defines whether to enable the AI analyzer for the <b><XComponent></b> component.
6462    /// This attribute can be set and obtained as required through APIs.
6463    ///
6464    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6465    ///
6466    /// value[0].i32: The parameter type is 1 or 0.
6467    ///
6468    ///
6469    /// Format of the return value [`ArkUI_AttributeItem`]:
6470    ///
6471    /// value[0].i32: The parameter type is 1 or 0.
6472    ///
6473    /// Available since API-level: 18
6474    #[cfg(feature = "api-18")]
6475    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6476    pub const NODE_XCOMPONENT_ENABLE_ANALYZER: ArkUI_NodeAttributeType =
6477        ArkUI_NodeAttributeType(12004);
6478    /// Defines whether to display the lunar calendar in the date picker.
6479    /// This attribute can be set, reset, and obtained as required through APIs.
6480    ///
6481    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6482    ///
6483    /// .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>.
6484    ///
6485    ///
6486    ///
6487    /// Format of the return value [`ArkUI_AttributeItem`]:
6488    ///
6489    /// .value[0].i32: whether to display the lunar calendar in the date picker.
6490    pub const NODE_DATE_PICKER_LUNAR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13000);
6491    /// Defines the start date of the date picker.
6492    /// This attribute can be set, reset, and obtained as required through APIs.
6493    ///
6494    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6495    ///
6496    /// .string: date. The default value is <b>"1970-1-1"</b>.
6497    ///
6498    ///
6499    ///
6500    /// Format of the return value [`ArkUI_AttributeItem`]:
6501    ///
6502    /// .string: date.
6503    pub const NODE_DATE_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13001);
6504    /// Defines the end date of the date picker.
6505    /// This attribute can be set, reset, and obtained as required through APIs.
6506    ///
6507    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6508    ///
6509    /// .string: date. The default value is <b>"2100-12-31"</b>.
6510    ///
6511    ///
6512    ///
6513    /// Format of the return value [`ArkUI_AttributeItem`]:
6514    ///
6515    /// .string: date.
6516    pub const NODE_DATE_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13002);
6517    /// Defines the selected date of the date picker.
6518    /// This attribute can be set, reset, and obtained as required through APIs.
6519    ///
6520    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6521    ///
6522    /// .string: date. The default value is <b>"2024-01-22"</b>.
6523    ///
6524    ///
6525    ///
6526    /// Format of the return value [`ArkUI_AttributeItem`]:
6527    ///
6528    /// .string: date.
6529    pub const NODE_DATE_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13003);
6530    /// Defines the font color, font size, and font weight for the top and bottom items in the date picker.
6531    /// This attribute can be set, reset, and obtained as required through APIs.
6532    ///
6533    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6534    ///
6535    /// .string: array of five parameters of the string type, separated by semicolons (;).
6536    ///
6537    /// Parameter 1: font color, in #ARGB format.
6538    ///
6539    /// Parameter 2: font size, in fp. The value is a number.
6540    ///
6541    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6542    /// .
6543    /// Parameter 4: fonts, separated by commas (,).
6544    ///
6545    /// Parameter 5: font style. Available options are ("normal", "italic").
6546    ///
6547    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6548    ///
6549    ///
6550    ///
6551    /// Format of the return value [`ArkUI_AttributeItem`]:
6552    ///
6553    /// .string: array of five parameters of the string type, separated by semicolons (;).
6554    ///
6555    /// Parameter 1: font color, in #ARGB format.
6556    ///
6557    /// Parameter 2: font size, in fp. The value is a number.
6558    ///
6559    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6560    /// .
6561    /// Parameter 4: fonts, separated by commas (,).
6562    ///
6563    /// Parameter 5: font style. Available options are ("normal", "italic").
6564    ///
6565    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6566    pub const NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
6567        ArkUI_NodeAttributeType(13004);
6568    /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected
6569    /// items in the date picker. This attribute can be set, reset, and obtained as required through APIs.
6570    ///
6571    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6572    ///
6573    /// .string: array of five parameters of the string type, separated by semicolons (;).
6574    ///
6575    /// Parameter 1: font color, in #ARGB format.
6576    ///
6577    /// Parameter 2: font size, in fp. The value is a number.
6578    ///
6579    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6580    /// .
6581    /// Parameter 4: fonts, separated by commas (,).
6582    ///
6583    /// Parameter 5: font style. Available options are ("normal", "italic").
6584    ///
6585    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6586    ///
6587    ///
6588    ///
6589    /// Format of the return value [`ArkUI_AttributeItem`]:
6590    ///
6591    /// .string: array of five parameters of the string type, separated by semicolons (;).
6592    ///
6593    /// Parameter 1: font color, in #ARGB format.
6594    ///
6595    /// Parameter 2: font size, in fp. The value is a number.
6596    ///
6597    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6598    /// .
6599    /// Parameter 4: fonts, separated by commas (,).
6600    ///
6601    /// Parameter 5: font style. Available options are ("normal", "italic").
6602    ///
6603    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6604    pub const NODE_DATE_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13005);
6605    /// Defines the font color, font size, and font weight of the selected item in the date picker.
6606    /// This attribute can be set, reset, and obtained as required through APIs.
6607    ///
6608    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6609    ///
6610    /// .string: array of five parameters of the string type, separated by semicolons (;).
6611    ///
6612    /// Parameter 1: font color, in #ARGB format.
6613    ///
6614    /// Parameter 2: font size, in fp. The value is a number.
6615    ///
6616    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6617    /// .
6618    /// Parameter 4: fonts, separated by commas (,).
6619    ///
6620    /// Parameter 5: font style. Available options are ("normal", "italic").
6621    ///
6622    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6623    ///
6624    ///
6625    ///
6626    /// Format of the return value [`ArkUI_AttributeItem`]:
6627    ///
6628    /// .string: array of five parameters of the string type, separated by semicolons (;).
6629    ///
6630    /// Parameter 1: font color, in #ARGB format.
6631    ///
6632    /// Parameter 2: font size, in fp. The value is a number.
6633    ///
6634    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6635    /// .
6636    /// Parameter 4: fonts, separated by commas (,).
6637    ///
6638    /// Parameter 5: font style. Available options are ("normal", "italic").
6639    ///
6640    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6641    pub const NODE_DATE_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
6642        ArkUI_NodeAttributeType(13006);
6643    /// Defines the mode of the date picker.
6644    /// This attribute can be set, reset, and obtained as required through APIs.
6645    ///
6646    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6647    ///
6648    /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
6649    /// .
6650    ///
6651    ///
6652    /// Format of the return value [`ArkUI_AttributeItem`]:
6653    ///
6654    /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
6655    /// .
6656    ///
6657    ///
6658    /// Available since API-level: 18
6659    #[cfg(feature = "api-18")]
6660    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6661    pub const NODE_DATE_PICKER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13007);
6662    /// Defines whether haptic feedback.
6663    /// This attribute can be set, reset, and obtained as required through APIs.
6664    ///
6665    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6666    ///
6667    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6668    /// <b>false</b> means the opposite.
6669    ///
6670    ///
6671    ///
6672    /// Format of the return value [`ArkUI_AttributeItem`]:
6673    ///
6674    /// value[0].i32: whether to feedback.
6675    ///
6676    ///
6677    ///
6678    /// Available since API-level: 18
6679    #[cfg(feature = "api-18")]
6680    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6681    pub const NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6682        ArkUI_NodeAttributeType(13008);
6683    /// Defines whether to support scroll looping for the date picker.
6684    /// This attribute can be set, reset, and obtained as required through APIs.
6685    ///
6686    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6687    ///
6688    /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
6689    /// <b>false</b> means the opposite.
6690    ///
6691    ///
6692    ///
6693    /// Format of the return value [`ArkUI_AttributeItem`]:
6694    ///
6695    /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
6696    ///
6697    ///
6698    ///
6699    /// Available since API-level: 20
6700    #[cfg(feature = "api-20")]
6701    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6702    pub const NODE_DATE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13009);
6703    /// Defines the time of the selected item. in the timer picker.
6704    /// This attribute can be set, reset, and obtained as required through APIs.
6705    ///
6706    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6707    ///
6708    /// .string: time. The default value is the current system time.
6709    ///
6710    ///
6711    ///
6712    /// Format of the return value [`ArkUI_AttributeItem`]:
6713    ///
6714    /// .string: time.
6715    pub const NODE_TIME_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14000);
6716    /// Defines whether the display time is in 24-hour format.
6717    /// This attribute can be set, reset, and obtained as required through APIs.
6718    ///
6719    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6720    ///
6721    /// .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>.
6722    ///
6723    ///
6724    ///
6725    /// Format of the return value [`ArkUI_AttributeItem`]:
6726    ///
6727    /// .value[0].i32: whether the display time is in 24-hour format.
6728    pub const NODE_TIME_PICKER_USE_MILITARY_TIME: ArkUI_NodeAttributeType =
6729        ArkUI_NodeAttributeType(14001);
6730    /// Defines the font color, font size, and font weight for the top and bottom items in the time picker.
6731    /// This attribute can be set, reset, and obtained as required through APIs.
6732    ///
6733    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6734    ///
6735    /// .string: array of five parameters of the string type, separated by semicolons (;).
6736    ///
6737    /// Parameter 1: font color, in #ARGB format.
6738    ///
6739    /// Parameter 2: font size, in fp. The value is a number.
6740    ///
6741    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6742    /// .
6743    /// Parameter 4: fonts, separated by commas (,).
6744    ///
6745    /// Parameter 5: font style. Available options are ("normal", "italic").
6746    ///
6747    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6748    ///
6749    ///
6750    ///
6751    /// Format of the return value [`ArkUI_AttributeItem`]:
6752    ///
6753    /// .string: array of five parameters of the string type, separated by semicolons (;).
6754    ///
6755    /// Parameter 1: font color, in #ARGB format.
6756    ///
6757    /// Parameter 2: font size, in fp. The value is a number.
6758    ///
6759    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6760    /// .
6761    /// Parameter 4: fonts, separated by commas (,).
6762    ///
6763    /// Parameter 5: font style. Available options are ("normal", "italic").
6764    ///
6765    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6766    pub const NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
6767        ArkUI_NodeAttributeType(14002);
6768    /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected items
6769    /// in the time picker. This attribute can be set, reset, and obtained as required through APIs.
6770    ///
6771    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6772    ///
6773    /// .string: array of five parameters of the string type, separated by semicolons (;).
6774    ///
6775    /// Parameter 1: font color, in #ARGB format.
6776    ///
6777    /// Parameter 2: font size, in fp. The value is a number.
6778    ///
6779    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6780    /// .
6781    /// Parameter 4: fonts, separated by commas (,).
6782    ///
6783    /// Parameter 5: font style. Available options are ("normal", "italic").
6784    ///
6785    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6786    ///
6787    ///
6788    ///
6789    /// Format of the return value [`ArkUI_AttributeItem`]:
6790    ///
6791    /// .string: array of five parameters of the string type, separated by semicolons (;).
6792    ///
6793    /// Parameter 1: font color, in #ARGB format.
6794    ///
6795    /// Parameter 2: font size, in fp. The value is a number.
6796    ///
6797    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6798    /// .
6799    /// Parameter 4: fonts, separated by commas (,).
6800    ///
6801    /// Parameter 5: font style. Available options are ("normal", "italic").
6802    ///
6803    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6804    pub const NODE_TIME_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14003);
6805    /// Defines the font color, font size, and font weight of the selected item in the time picker.
6806    /// This attribute can be set, reset, and obtained as required through APIs.
6807    ///
6808    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6809    ///
6810    /// .string: array of five parameters of the string type, separated by semicolons (;).
6811    ///
6812    /// Parameter 1: font color, in #ARGB format.
6813    ///
6814    /// Parameter 2: font size, in fp. The value is a number.
6815    ///
6816    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6817    /// .
6818    /// Parameter 4: fonts, separated by commas (,).
6819    ///
6820    /// Parameter 5: font style. Available options are ("normal", "italic").
6821    ///
6822    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6823    ///
6824    ///
6825    ///
6826    /// Format of the return value [`ArkUI_AttributeItem`]:
6827    ///
6828    /// .string: array of five parameters of the string type, separated by semicolons (;).
6829    ///
6830    /// Parameter 1: font color, in #ARGB format.
6831    ///
6832    /// Parameter 2: font size, in fp. The value is a number.
6833    ///
6834    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6835    /// .
6836    /// Parameter 4: fonts, separated by commas (,).
6837    ///
6838    /// Parameter 5: font style. Available options are ("normal", "italic").
6839    ///
6840    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6841    pub const NODE_TIME_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
6842        ArkUI_NodeAttributeType(14004);
6843    /// Defines the start time of the time picker.
6844    /// This attribute can be set, reset, and obtained as required through APIs.
6845    ///
6846    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6847    ///
6848    /// .string: time. The default value is <b>"00:00:00"</b>.
6849    ///
6850    ///
6851    ///
6852    /// Format of the return value [`ArkUI_AttributeItem`]:
6853    ///
6854    /// .string: time. The default value is <b>"00:00:00"</b>.
6855    ///
6856    ///
6857    ///
6858    /// Available since API-level: 18
6859    #[cfg(feature = "api-18")]
6860    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6861    pub const NODE_TIME_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14005);
6862    /// Defines the end time of the time picker.
6863    /// This attribute can be set, reset, and obtained as required through APIs.
6864    ///
6865    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6866    ///
6867    /// .string: time. The default value is <b>"23:59:59"</b>.
6868    ///
6869    ///
6870    ///
6871    /// Format of the return value [`ArkUI_AttributeItem`]:
6872    ///
6873    /// .string: time. The default value is <b>"23:59:59"</b>.
6874    ///
6875    ///
6876    ///
6877    /// Available since API-level: 18
6878    #[cfg(feature = "api-18")]
6879    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6880    pub const NODE_TIME_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14006);
6881    /// Defines whether the AM/PM option is cascaded with the time in 12-hour mode.
6882    /// This attribute can be set, reset, and obtained as required through APIs.
6883    ///
6884    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6885    ///
6886    /// .value[0].i32: whether to enable cascade. The default value is <b>false</b>.
6887    ///
6888    ///
6889    ///
6890    /// Format of the return value [`ArkUI_AttributeItem`]:
6891    ///
6892    /// .value[0].i32: whether to enable cascade.
6893    ///
6894    ///
6895    ///
6896    /// Available since API-level: 18
6897    #[cfg(feature = "api-18")]
6898    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6899    pub const NODE_TIME_PICKER_ENABLE_CASCADE: ArkUI_NodeAttributeType =
6900        ArkUI_NodeAttributeType(14007);
6901    /// Defines the data selection range of the text picker.
6902    /// This attribute can be set, reset, and obtained as required through APIs.
6903    ///
6904    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6905    ///
6906    /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
6907    /// The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>.
6908    ///
6909    /// ?.string: string input, whose format varies by picker type.
6910    ///
6911    /// 1: single-column picker. The input format is a group of strings separated by semicolons (;).
6912    ///
6913    /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
6914    /// semicolons (;), and strings within each pair are separated by commas (,).
6915    ///
6916    /// ?.object: Object input, whose format varies by picker type.
6917    ///
6918    /// 1: single-column picker with image support. The input structure is [`ARKUI_TextPickerRangeContent`].
6919    ///
6920    /// 2: multi-column interconnected picker. The input structure is [`ARKUI_TextPickerCascadeRangeContent`].
6921    ///
6922    ///
6923    ///
6924    /// Format of the return value [`ArkUI_AttributeItem`]:
6925    ///
6926    /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
6927    ///
6928    /// ?.string: string output, whose format varies by picker type.
6929    ///
6930    /// 1: single-column picker. The output format is a group of strings separated by semicolons (;).
6931    ///
6932    /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
6933    /// semicolons (;), and strings within each pair are separated by commas (,).
6934    ///
6935    /// ?.string: Object output, whose format varies by picker type.
6936    ///
6937    /// 1: single-column picker with image support. The output structure is [`ARKUI_TextPickerRangeContent`].
6938    ///
6939    /// 2: multi-column interconnected picker. The output structure is [`ARKUI_TextPickerCascadeRangeContent`].
6940    pub const NODE_TEXT_PICKER_OPTION_RANGE: ArkUI_NodeAttributeType =
6941        ArkUI_NodeAttributeType(15000);
6942    /// Defines the index of the default selected item in the data selection range of the text picker.
6943    /// This attribute can be set, reset, and obtained as required through APIs.
6944    ///
6945    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6946    ///
6947    /// .value[0].u32: index. If there are multiple index values, add them one by one.
6948    ///
6949    ///
6950    ///
6951    /// Format of the return value [`ArkUI_AttributeItem`]:
6952    ///
6953    /// .value[0].u32: index. If there are multiple index values, add them one by one.
6954    pub const NODE_TEXT_PICKER_OPTION_SELECTED: ArkUI_NodeAttributeType =
6955        ArkUI_NodeAttributeType(15001);
6956    /// Defines the value of the default selected item in the text picker.
6957    /// This attribute can be set, reset, and obtained as required through APIs.
6958    ///
6959    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6960    ///
6961    /// .string: value of the selected item. If there are multiple values, add them one by one and
6962    /// separate them with semicolons (;).
6963    ///
6964    ///
6965    ///
6966    /// Format of the return value [`ArkUI_AttributeItem`]:
6967    ///
6968    /// .string: value of the selected item. If there are multiple values, add them one by one and
6969    /// separate them with semicolons (;).
6970    pub const NODE_TEXT_PICKER_OPTION_VALUE: ArkUI_NodeAttributeType =
6971        ArkUI_NodeAttributeType(15002);
6972    /// Defines the font color, font size, and font weight for the top and bottom items in the text picker.
6973    /// This attribute can be set, reset, and obtained as required through APIs.
6974    ///
6975    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6976    ///
6977    /// .string: array of five parameters of the string type, separated by semicolons (;).
6978    ///
6979    /// Parameter 1: font color, in #ARGB format.
6980    ///
6981    /// Parameter 2: font size, in fp. The value is a number.
6982    ///
6983    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6984    /// .
6985    /// Parameter 4: fonts, separated by commas (,).
6986    ///
6987    /// Parameter 5: font style. Available options are ("normal", "italic").
6988    ///
6989    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6990    ///
6991    ///
6992    ///
6993    /// Format of the return value [`ArkUI_AttributeItem`]:
6994    ///
6995    /// .string: array of five parameters of the string type, separated by semicolons (;).
6996    ///
6997    /// Parameter 1: font color, in #ARGB format.
6998    ///
6999    /// Parameter 2: font size, in fp. The value is a number.
7000    ///
7001    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7002    /// .
7003    /// Parameter 4: fonts, separated by commas (,).
7004    ///
7005    /// Parameter 5: font style. Available options are ("normal", "italic").
7006    ///
7007    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7008    pub const NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
7009        ArkUI_NodeAttributeType(15003);
7010    /// Defines the font color, font size, and font weight for all items except the top, bottom, and selected
7011    /// items in the text picker. This attribute can be set, reset, and obtained as required through APIs.
7012    ///
7013    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7014    ///
7015    /// .string: array of five parameters of the string type, separated by semicolons (;).
7016    ///
7017    /// Parameter 1: font color, in #ARGB format.
7018    ///
7019    /// Parameter 2: font size, in fp. The value is a number.
7020    ///
7021    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7022    /// .
7023    /// Parameter 4: fonts, separated by commas (,).
7024    ///
7025    /// Parameter 5: font style. Available options are ("normal", "italic").
7026    ///
7027    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7028    ///
7029    ///
7030    ///
7031    /// Format of the return value [`ArkUI_AttributeItem`]:
7032    ///
7033    /// .string: array of five parameters of the string type, separated by semicolons (;).
7034    ///
7035    /// Parameter 1: font color, in #ARGB format.
7036    ///
7037    /// Parameter 2: font size, in fp. The value is a number.
7038    ///
7039    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7040    /// .
7041    /// Parameter 4: fonts, separated by commas (,).
7042    ///
7043    /// Parameter 5: font style. Available options are ("normal", "italic").
7044    ///
7045    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7046    pub const NODE_TEXT_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15004);
7047    /// Defines the font color, font size, and font weight for the selected item in the text picker.
7048    /// This attribute can be set, reset, and obtained as required through APIs.
7049    ///
7050    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7051    ///
7052    /// .string: array of five parameters of the string type, separated by semicolons (;).
7053    ///
7054    /// Parameter 1: font color, in #ARGB format.
7055    ///
7056    /// Parameter 2: font size, in fp. The value is a number.
7057    ///
7058    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7059    /// .
7060    /// Parameter 4: fonts, separated by commas (,).
7061    ///
7062    /// Parameter 5: font style. Available options are ("normal", "italic").
7063    ///
7064    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7065    ///
7066    ///
7067    ///
7068    /// Format of the return value [`ArkUI_AttributeItem`]:
7069    ///
7070    /// .string: array of five parameters of the string type, separated by semicolons (;).
7071    ///
7072    /// Parameter 1: font color, in #ARGB format.
7073    ///
7074    /// Parameter 2: font size, in fp. The value is a number.
7075    ///
7076    /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7077    /// .
7078    /// Parameter 4: fonts, separated by commas (,).
7079    ///
7080    /// Parameter 5: font style. Available options are ("normal", "italic").
7081    ///
7082    /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7083    pub const NODE_TEXT_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
7084        ArkUI_NodeAttributeType(15005);
7085    /// Defines the index of the default selected item in the data selection range of the text picker.
7086    /// This attribute can be set, reset, and obtained as required through APIs.
7087    ///
7088    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7089    ///
7090    /// .value[0...].i32: index of the default item in the data selection range.
7091    pub const NODE_TEXT_PICKER_SELECTED_INDEX: ArkUI_NodeAttributeType =
7092        ArkUI_NodeAttributeType(15006);
7093    /// Defines whether to support scroll looping for the text picker.
7094    /// This attribute can be set, reset, and obtained as required through APIs.
7095    ///
7096    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7097    ///
7098    /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
7099    /// <b>false</b> means the opposite.
7100    ///
7101    ///
7102    ///
7103    ///
7104    /// Format of the return value [`ArkUI_AttributeItem`]:
7105    ///
7106    /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
7107    pub const NODE_TEXT_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15007);
7108    /// Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required
7109    /// through APIs.
7110    ///
7111    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7112    ///
7113    /// .value[0].f32: item height, in vp.
7114    ///
7115    ///
7116    ///
7117    /// Format of the return value [`ArkUI_AttributeItem`]:
7118    ///
7119    /// value[0].f32: item height, in vp.
7120    pub const NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT: ArkUI_NodeAttributeType =
7121        ArkUI_NodeAttributeType(15008);
7122    /// Defines whether haptic feedback.
7123    /// This attribute can be set, reset, and obtained as required through APIs.
7124    ///
7125    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7126    ///
7127    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
7128    /// <b>false</b> means the opposite.
7129    ///
7130    ///
7131    ///
7132    /// Format of the return value [`ArkUI_AttributeItem`]:
7133    ///
7134    /// value[0].i32: whether to feedback.
7135    ///
7136    ///
7137    ///
7138    /// Available since API-level: 18
7139    #[cfg(feature = "api-18")]
7140    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7141    pub const NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
7142        ArkUI_NodeAttributeType(15010);
7143    /// Defines the background color and border radius of the selected items.
7144    /// This attribute can be set, reset, and obtained as required through APIs.
7145    ///
7146    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7147    ///
7148    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7149    ///
7150    /// 1: .value[1].f32: radius of the four corners.
7151    ///
7152    /// 2: .value[1].f32: radius of the upper left corner.
7153    ///
7154    /// .value[2].f32: radius of the upper right corner.
7155    ///
7156    /// .value[3].f32: radius of the lower left corner.
7157    ///
7158    /// .value[4].f32: radius of the lower right corner.
7159    ///
7160    ///
7161    ///
7162    /// Format of the return value [`ArkUI_AttributeItem`]:
7163    ///
7164    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7165    /// *
7166    /// .value[1].f32: radius of the upper left corner.
7167    ///
7168    /// .value[2].f32: radius of the upper right corner.
7169    ///
7170    /// .value[3].f32: radius of the lower left corner.
7171    ///
7172    /// .value[4].f32: radius of the lower right corner.
7173    ///
7174    ///
7175    ///
7176    /// Available since API-level: 20
7177    #[cfg(feature = "api-20")]
7178    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7179    pub const NODE_TEXT_PICKER_SELECTED_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
7180        ArkUI_NodeAttributeType(15011);
7181    /// Defines the style of the background in the selected state of the calendar picker.
7182    /// This attribute can be set, reset, and obtained as required through APIs.
7183    ///
7184    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7185    ///
7186    /// .value[0].f32: style of the background in the selected state of the calendar picker.
7187    /// The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners.
7188    /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to
7189    /// or greater than 16, the background is a circle.
7190    ///
7191    ///
7192    ///
7193    /// Format of the return value [`ArkUI_AttributeItem`]:
7194    ///
7195    /// .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞).
7196    /// If the value is <b>0</b>, the background is a rectangle with square corners.
7197    /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or
7198    /// greater than 16, the background is a circle.
7199    pub const NODE_CALENDAR_PICKER_HINT_RADIUS: ArkUI_NodeAttributeType =
7200        ArkUI_NodeAttributeType(16000);
7201    /// Defines the date of the selected item in the calendar picker.
7202    /// This attribute can be set, reset, and obtained as required through APIs.
7203    ///
7204    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7205    ///
7206    /// .value[0].u32: year of the selected date.
7207    ///
7208    /// .value[1].u32: month of the selected date.
7209    ///
7210    /// .value[2].u32: day of the selected date.
7211    ///
7212    ///
7213    ///
7214    /// Format of the return value [`ArkUI_AttributeItem`]:
7215    ///
7216    /// .value[0].u32: year of the selected date.
7217    ///
7218    /// .value[1].u32: month of the selected date.
7219    ///
7220    /// .value[2].u32: day of the selected date.
7221    pub const NODE_CALENDAR_PICKER_SELECTED_DATE: ArkUI_NodeAttributeType =
7222        ArkUI_NodeAttributeType(16001);
7223    /// Defines how the calendar picker is aligned with the entry component.
7224    /// This attribute can be set, reset, and obtained as required through APIs.
7225    ///
7226    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7227    ///
7228    /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
7229    ///
7230    /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
7231    /// the specified alignment mode.
7232    ///
7233    /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
7234    /// the specified alignment mode.
7235    ///
7236    ///
7237    ///
7238    /// Format of the return value [`ArkUI_AttributeItem`]:
7239    ///
7240    /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
7241    ///
7242    /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
7243    /// the specified alignment mode.
7244    ///
7245    /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
7246    /// the specified alignment mode.
7247    pub const NODE_CALENDAR_PICKER_EDGE_ALIGNMENT: ArkUI_NodeAttributeType =
7248        ArkUI_NodeAttributeType(16002);
7249    /// Defines the font color, font size, and font weight in the entry area of the calendar picker.
7250    ///
7251    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7252    ///
7253    /// .value[0]?.u32: font color of the entry area.
7254    ///
7255    /// .value[1]?.f32: font size of the entry area, in fp.
7256    ///
7257    /// .value[2]?.i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
7258    ///
7259    ///
7260    ///
7261    /// Format of the return value [`ArkUI_AttributeItem`]:
7262    ///
7263    /// .value[0].u32: font color of the entry area.
7264    ///
7265    /// .value[1].f32: font size of the entry area, in fp.
7266    ///
7267    /// .value[2].i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
7268    pub const NODE_CALENDAR_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType =
7269        ArkUI_NodeAttributeType(16003);
7270    /// Defines the start date of the calendar picker.
7271    /// This attribute can be set, reset, and obtained as required through APIs.
7272    ///
7273    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7274    ///
7275    /// .string: date. The value like <b>"1970-1-1"</b>.
7276    ///
7277    ///
7278    ///
7279    /// Format of the return value [`ArkUI_AttributeItem`]:
7280    ///
7281    /// .string: date.
7282    ///
7283    ///
7284    ///
7285    /// Available since API-level: 18
7286    #[cfg(feature = "api-18")]
7287    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7288    pub const NODE_CALENDAR_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16004);
7289    /// Defines the end date of the calendar picker.
7290    /// This attribute can be set, reset, and obtained as required through APIs.
7291    ///
7292    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7293    ///
7294    /// .string: date. The value like <b>"2100-12-31"</b>.
7295    ///
7296    ///
7297    ///
7298    /// Format of the return value [`ArkUI_AttributeItem`]:
7299    ///
7300    /// .string: date.
7301    ///
7302    ///
7303    ///
7304    /// Available since API-level: 18
7305    #[cfg(feature = "api-18")]
7306    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7307    pub const NODE_CALENDAR_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16005);
7308    /// Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs.
7309    ///
7310    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7311    ///
7312    /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7313    ///
7314    ///
7315    /// Format of the return value [`ArkUI_AttributeItem`]:
7316    ///
7317    /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7318    pub const NODE_SLIDER_BLOCK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17000);
7319    /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
7320    /// through APIs.
7321    ///
7322    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7323    ///
7324    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7325    ///
7326    ///
7327    ///
7328    /// Format of the return value [`ArkUI_AttributeItem`]:
7329    ///
7330    /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7331    pub const NODE_SLIDER_TRACK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17001);
7332    /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
7333    /// as required through APIs.
7334    ///
7335    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7336    ///
7337    /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7338    ///
7339    ///
7340    ///
7341    /// Format of the return value [`ArkUI_AttributeItem`]:
7342    ///
7343    /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7344    pub const NODE_SLIDER_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17002);
7345    /// Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required
7346    /// through APIs.
7347    ///
7348    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7349    ///
7350    /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
7351    /// and <b>0</b> (default value) means the opposite.
7352    ///
7353    ///
7354    ///
7355    /// Format of the return value [`ArkUI_AttributeItem`]:
7356    ///
7357    /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
7358    /// and <b>0</b> (default value) means the opposite.
7359    pub const NODE_SLIDER_SHOW_STEPS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17003);
7360    /// Defines the slider shape, which can be set, reset, and obtained as required through APIs.
7361    ///
7362    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7363    ///
7364    /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
7365    ///
7366    /// .string?: depending on the shape. Optional.
7367    ///
7368    /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
7369    ///
7370    /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
7371    ///
7372    /// There are five types:
7373    ///
7374    /// 1. Rectangle:
7375    ///
7376    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7377    /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
7378    ///
7379    /// .value[2].f32: width of the rectangle.
7380    ///
7381    /// .value[3].f32: height of the rectangle.
7382    ///
7383    /// .value[4].f32: width of the rounded corner of the rectangle.
7384    ///
7385    /// .value[5].f32: height of the rounded corner of the rectangle.
7386    ///
7387    /// 2. Circle:
7388    ///
7389    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7390    /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
7391    ///
7392    /// .value[2].f32: width of the circle.
7393    ///
7394    /// .value[3].f32: height of the circle.
7395    ///
7396    /// 3.Ellipse:
7397    ///
7398    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7399    /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
7400    ///
7401    /// .value[2].f32: width of the ellipse.
7402    ///
7403    /// .value[3].f32: height of the ellipse;
7404    ///
7405    /// 4. Path:
7406    ///
7407    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7408    /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
7409    ///
7410    /// .value[2].f32: width of the path.
7411    ///
7412    /// .value[3].f32: height of the path.
7413    ///
7414    /// .string: command for drawing the path.
7415    ///
7416    ///
7417    ///
7418    /// Format of the return value [`ArkUI_AttributeItem`]:
7419    ///
7420    /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
7421    ///
7422    /// .string?: depending on the shape. Optional.
7423    ///
7424    /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
7425    ///
7426    /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
7427    ///
7428    /// There are five types:
7429    ///
7430    /// 1. Rectangle:
7431    ///
7432    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7433    /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
7434    ///
7435    /// .value[2].f32: width of the rectangle.
7436    ///
7437    /// .value[3].f32: height of the rectangle.
7438    ///
7439    /// .value[4].f32: width of the rounded corner of the rectangle.
7440    ///
7441    /// .value[5].f32: height of the rounded corner of the rectangle.
7442    ///
7443    /// 2. Circle:
7444    ///
7445    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7446    /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
7447    ///
7448    /// .value[2].f32: width of the circle.
7449    ///
7450    /// .value[3].f32: height of the circle.
7451    ///
7452    /// 3.Ellipse:
7453    ///
7454    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7455    /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
7456    ///
7457    /// .value[2].f32: width of the ellipse.
7458    ///
7459    /// .value[3].f32: height of the ellipse;
7460    ///
7461    /// 4. Path:
7462    ///
7463    /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7464    /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
7465    ///
7466    /// .value[2].f32: width of the path.
7467    ///
7468    /// .value[3].f32: height of the path.
7469    ///
7470    /// .string: command for drawing the path.
7471    pub const NODE_SLIDER_BLOCK_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17004);
7472    /// Defines the current value of the slider. This attribute can be set, reset, and obtained as required
7473    /// through APIs.
7474    ///
7475    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7476    ///
7477    /// .value[0].f32: current value.
7478    ///
7479    ///
7480    ///
7481    /// Format of the return value [`ArkUI_AttributeItem`]:
7482    ///
7483    /// .value[0].f32: current value.
7484    pub const NODE_SLIDER_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17005);
7485    /// Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required
7486    /// through APIs.
7487    ///
7488    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7489    ///
7490    /// .value[0].f32: minimum value.
7491    ///
7492    ///
7493    ///
7494    /// Format of the return value [`ArkUI_AttributeItem`]:
7495    ///
7496    /// .value[0].f32: minimum value.
7497    pub const NODE_SLIDER_MIN_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17006);
7498    /// Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required
7499    /// through APIs.
7500    ///
7501    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7502    ///
7503    /// .value[0].f32: maximum value.
7504    ///
7505    ///
7506    ///
7507    /// Format of the return value [`ArkUI_AttributeItem`]:
7508    ///
7509    /// .value[0].f32: maximum value.
7510    pub const NODE_SLIDER_MAX_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17007);
7511    /// Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs.
7512    ///
7513    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7514    ///
7515    /// .value[0].f32: step. The value range is [0.01, 100].
7516    ///
7517    ///
7518    ///
7519    /// Format of the return value [`ArkUI_AttributeItem`]:
7520    ///
7521    /// .value[0].f32: step. The value range is [0.01, 100].
7522    pub const NODE_SLIDER_STEP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17008);
7523    /// Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and
7524    /// obtained as required through APIs.
7525    ///
7526    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7527    ///
7528    /// .value[0].i32: whether the slider moves horizontally or vertically.
7529    /// The parameter type is [`ArkUI_SliderDirection`].
7530    ///
7531    ///
7532    ///
7533    /// Format of the return value [`ArkUI_AttributeItem`]:
7534    ///
7535    /// .value[0].i32: whether the slider moves horizontally or vertically.
7536    pub const NODE_SLIDER_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17009);
7537    /// Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required
7538    /// through APIs.
7539    ///
7540    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7541    ///
7542    /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
7543    /// reversed, and <b>0</b> means the opposite.
7544    ///
7545    ///
7546    ///
7547    /// Format of the return value [`ArkUI_AttributeItem`]:
7548    ///
7549    /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
7550    /// reversed, and <b>0</b> means the opposite.
7551    pub const NODE_SLIDER_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17010);
7552    /// Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained
7553    /// as required through APIs.
7554    ///
7555    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7556    ///
7557    /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
7558    ///
7559    ///
7560    ///
7561    /// Format of the return value [`ArkUI_AttributeItem`]:
7562    ///
7563    /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
7564    pub const NODE_SLIDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17011);
7565    /// Sets the track thickness of the slider.
7566    /// This attribute can be set, reset, and obtained as required through APIs.
7567    ///
7568    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7569    ///
7570    /// .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b>
7571    /// is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to
7572    /// <b>ARKUI_SLIDER_STYLE_IN_SET</b>.
7573    ///
7574    ///
7575    ///
7576    /// Format of the return value [`ArkUI_AttributeItem`]:
7577    ///
7578    /// .value[0].f32: track thickness of the slider, in vp.
7579    pub const NODE_SLIDER_TRACK_THICKNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17012);
7580    /// Defines whether haptic feedback.
7581    /// This attribute can be set, reset, and obtained as required through APIs.
7582    ///
7583    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7584    ///
7585    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
7586    /// <b>false</b> means the opposite.
7587    ///
7588    ///
7589    ///
7590    /// Format of the return value [`ArkUI_AttributeItem`]:
7591    ///
7592    /// value[0].i32: whether to feedback.
7593    ///
7594    /// When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the
7595    /// requestPermissions field of the module.json5 file to enable vibration permission.
7596    ///
7597    ///
7598    ///
7599    /// Available since API-level: 18
7600    #[cfg(feature = "api-18")]
7601    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7602    pub const NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
7603        ArkUI_NodeAttributeType(17013);
7604    /// Sets a custom component on the leading side of the Slider component.
7605    ///
7606    /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
7607    ///
7608    /// .object: Parameter type [`ArkUI_NodeHandle`].
7609    ///
7610    /// The prefix component will be placed at the start position of the Slider,
7611    /// typically on the left side in LTR layouts.
7612    ///
7613    ///
7614    /// Available since API-level: 20
7615    #[cfg(feature = "api-20")]
7616    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7617    pub const NODE_SLIDER_PREFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17014);
7618    /// Sets a custom component on the trailing side of the Slider component.
7619    ///
7620    /// Attribute setting method [`link`] parameter format:
7621    ///
7622    /// .object: Parameter type [`ArkUI_NodeHandle`].
7623    ///
7624    /// The suffix component will be placed at the end position of the Slider,
7625    /// typically on the right side in LTR layouts.
7626    ///
7627    ///
7628    /// Available since API-level: 20
7629    #[cfg(feature = "api-20")]
7630    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7631    pub const NODE_SLIDER_SUFFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17015);
7632    /// Defines the color of the slider block. This attribute can be set, reset, and obtained as required through APIs.
7633    ///
7634    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7635    ///
7636    /// .object: array of color stops, each of which consists of a color and its stop position.
7637    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7638    ///
7639    ///
7640    /// colors: colors of the color stops.
7641    ///
7642    /// stops: stop positions of the color stops.
7643    ///
7644    /// size: number of colors.
7645    ///
7646    ///
7647    ///
7648    /// Format of the return value [`ArkUI_AttributeItem`]:
7649    ///
7650    /// .object: array of color stops, each of which consists of a color and its stop position.
7651    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7652    ///
7653    ///
7654    /// colors: colors of the color stops.
7655    ///
7656    /// stops: stop positions of the color stops.
7657    ///
7658    /// size: number of colors.
7659    ///
7660    ///
7661    ///
7662    /// Available since API-level: 21
7663    #[cfg(feature = "api-21")]
7664    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7665    pub const NODE_SLIDER_BLOCK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7666        ArkUI_NodeAttributeType(17016);
7667    /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
7668    /// through APIs.
7669    ///
7670    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7671    ///
7672    /// .object: array of color stops, each of which consists of a color and its stop position.
7673    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7674    ///
7675    ///
7676    /// colors: colors of the color stops.
7677    ///
7678    /// stops: stop positions of the color stops.
7679    ///
7680    /// size: number of colors.
7681    ///
7682    ///
7683    ///
7684    /// Format of the return value [`ArkUI_AttributeItem`]:
7685    ///
7686    /// .object: array of color stops, each of which consists of a color and its stop position.
7687    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7688    ///
7689    ///
7690    /// colors: colors of the color stops.
7691    ///
7692    /// stops: stop positions of the color stops.
7693    ///
7694    /// size: number of colors.
7695    ///
7696    ///
7697    ///
7698    /// Available since API-level: 21
7699    #[cfg(feature = "api-21")]
7700    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7701    pub const NODE_SLIDER_TRACK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7702        ArkUI_NodeAttributeType(17017);
7703    /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
7704    /// as required through APIs.
7705    ///
7706    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7707    ///
7708    /// .object: array of color stops, each of which consists of a color and its stop position.
7709    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7710    ///
7711    ///
7712    /// colors: colors of the color stops.
7713    ///
7714    /// stops: stop positions of the color stops.
7715    ///
7716    /// size: number of colors.
7717    ///
7718    ///
7719    ///
7720    /// Format of the return value [`ArkUI_AttributeItem`]:
7721    ///
7722    /// .object: array of color stops, each of which consists of a color and its stop position.
7723    /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7724    ///
7725    ///
7726    /// colors: colors of the color stops.
7727    ///
7728    /// stops: stop positions of the color stops.
7729    ///
7730    /// size: number of colors.
7731    ///
7732    ///
7733    ///
7734    /// Available since API-level: 21
7735    #[cfg(feature = "api-21")]
7736    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7737    pub const NODE_SLIDER_SELECTED_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7738        ArkUI_NodeAttributeType(17018);
7739    /// Set the selection status of an option button. Attribute setting,
7740    /// attribute resetting, and attribute obtaining are supported.
7741    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7742    ///
7743    /// .value[0].i32: check status of an option button. The default value is false.
7744    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7745    ///
7746    /// .value[0].i32: selection status of an option button.
7747    pub const NODE_RADIO_CHECKED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18000);
7748    /// Set the styles of the selected and deselected states of the option button.
7749    /// The attribute setting, attribute resetting, and attribute obtaining are supported.
7750    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7751    ///
7752    /// .value[0]?. u32: color of the mother board in enabled state.
7753    ///
7754    /// The type is 0xARGB, and the default value is 0xFF007DFF.
7755    ///
7756    /// .value[1]?. u32: stroke color in the close state. The type is 0xARGB,
7757    ///
7758    /// and the default value is 0xFF182431.
7759    ///
7760    /// .value[2]?. u32: color of the internal round pie in the enabled state.
7761    ///
7762    /// The type is 0xARGB, and the default value is 0xFFFFFFFF.
7763    ///
7764    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7765    ///
7766    /// .value[0]. u32: color of the mother board in enabled state.
7767    ///
7768    /// The type is 0xARGB, and the default value is 0xFF007DFF.
7769    ///
7770    /// .value[1]. u32: stroke color in the close state. The type is 0xARGB,
7771    ///
7772    /// and the default value is 0xFF182431.
7773    ///
7774    /// .value[2]. u32: color of the internal round pie in the enabled state.
7775    ///
7776    /// The type is 0xARGB, and the default value is 0xFFFFFFF.
7777    pub const NODE_RADIO_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18001);
7778    /// Sets the value of the current radio.
7779    /// This attribute can be set, reset, and obtained as required through APIs.
7780    ///
7781    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7782    ///
7783    /// .string: radio value.
7784    ///
7785    ///
7786    ///
7787    /// Format of the return value [`ArkUI_AttributeItem`]:
7788    ///
7789    /// .string: radio value.
7790    pub const NODE_RADIO_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18002);
7791    /// Set the group name of the current Radio group, only one radio of the same group can be selected.
7792    /// This attribute can be set, reset, and obtained as required through APIs.
7793    ///
7794    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7795    ///
7796    /// .string: name of the group to which the current option box belongs.
7797    ///
7798    ///
7799    ///
7800    /// Format of the return value [`ArkUI_AttributeItem`]:
7801    ///
7802    /// .string: name of the group to which the current option box belongs.
7803    pub const NODE_RADIO_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18003);
7804    /// Set the image frames for the image animator. Dynamic updates is not supported.
7805    /// This attribute can be set, reset, and obtained as required through APIs.
7806    ///
7807    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7808    ///
7809    /// .size: number of the images.
7810    ///
7811    /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
7812    ///
7813    ///
7814    ///
7815    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7816    ///
7817    /// .size: number of the images.
7818    ///
7819    /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
7820    pub const NODE_IMAGE_ANIMATOR_IMAGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19000);
7821    /// Set the playback status of the animation for the image animator.
7822    /// This attribute can be set, reset, and obtained as required through APIs.
7823    ///
7824    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7825    ///
7826    /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`],
7827    /// and the default value is ARKUI_ANIMATION_STATUS_INITIAL.
7828    ///
7829    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7830    ///
7831    /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`].
7832    pub const NODE_IMAGE_ANIMATOR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19001);
7833    /// Set the playback duration for the image animator. When the duration is 0, no image is played.
7834    /// The value change takes effect only at the beginning of the next cycle.
7835    /// When a separate duration is set in images, the setting of this attribute is invalid.
7836    /// This attribute can be set, reset, and obtained as required through APIs.
7837    ///
7838    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7839    ///
7840    /// .value[0].i32: the playback duration, the unit is ms and the default value is 1000.
7841    ///
7842    ///
7843    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7844    ///
7845    /// .value[0].i32: the playback duration, the unit is ms.
7846    pub const NODE_IMAGE_ANIMATOR_DURATION: ArkUI_NodeAttributeType =
7847        ArkUI_NodeAttributeType(19002);
7848    /// Set the playback direction for the image animator.
7849    /// This attribute can be set, reset, and obtained as required through APIs.
7850    ///
7851    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7852    ///
7853    /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
7854    /// and 1 indicates that images are played from the last one to the first one.
7855    ///
7856    ///
7857    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7858    ///
7859    /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
7860    /// and 1 indicates that images are played from the last one to the first one.
7861    pub const NODE_IMAGE_ANIMATOR_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19003);
7862    /// Set whether the image size is the same as the component size.
7863    /// This attribute can be set, reset, and obtained as required through APIs.
7864    ///
7865    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7866    ///
7867    /// .value[0].i32: whether the image size is the same as the component size.
7868    /// 1 indicates the image size is the same as the component size.
7869    /// In this case, the width, height, top, and left attributes of the image are invalid.
7870    /// 0 indicates the image size is customized.
7871    /// The width, height, top, and left attributes of each image must be set separately.
7872    ///
7873    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7874    ///
7875    /// .value[0].i32: whether the image size is the same as the component size.
7876    /// 1 indicates the image size is the same as the component size.
7877    /// 0 indicates the image size is customized.
7878    pub const NODE_IMAGE_ANIMATOR_FIXED_SIZE: ArkUI_NodeAttributeType =
7879        ArkUI_NodeAttributeType(19004);
7880    /// Set the status before and after execution of the animation in the current playback direction.
7881    /// This attribute can be set, reset, and obtained as required through APIs.
7882    ///
7883    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7884    ///
7885    /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
7886    /// the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.
7887    ///
7888    ///
7889    /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7890    ///
7891    /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
7892    /// the type is {ArkUI_AnimationFillMode}.
7893    pub const NODE_IMAGE_ANIMATOR_FILL_MODE: ArkUI_NodeAttributeType =
7894        ArkUI_NodeAttributeType(19005);
7895    /// Set the number of times that the animation is played.
7896    /// This attribute can be set, reset, and obtained as required through APIs.
7897    ///
7898    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7899    ///
7900    /// .value[0].i32: the number of times that the animation is played.
7901    ///
7902    ///
7903    /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7904    ///
7905    /// .value[0].i32: the number of times that the animation is played.
7906    pub const NODE_IMAGE_ANIMATOR_ITERATION: ArkUI_NodeAttributeType =
7907        ArkUI_NodeAttributeType(19006);
7908    /// Defines the name of the checkboxgroup.
7909    /// This attribute can be set, reset, and obtained as required through APIs.
7910    ///
7911    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7912    ///
7913    /// .string: component name.
7914    ///
7915    ///
7916    ///
7917    /// Format of the return value [`ArkUI_AttributeItem`]:
7918    ///
7919    /// .string: component name.
7920    ///
7921    ///
7922    ///
7923    /// Available since API-level: 15
7924    #[cfg(feature = "api-15")]
7925    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7926    pub const NODE_CHECKBOX_GROUP_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21000);
7927    /// Defines whether the checkboxgroup is selected.
7928    /// This attribute can be set, reset, and obtained as required through APIs.
7929    ///
7930    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7931    ///
7932    /// .value[0].i32: whether the checkboxgroup is selected.
7933    /// The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
7934    ///
7935    ///
7936    ///
7937    /// Format of the return value [`ArkUI_AttributeItem`]:
7938    ///
7939    /// .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
7940    ///
7941    ///
7942    ///
7943    /// Available since API-level: 15
7944    #[cfg(feature = "api-15")]
7945    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7946    pub const NODE_CHECKBOX_GROUP_SELECT_ALL: ArkUI_NodeAttributeType =
7947        ArkUI_NodeAttributeType(21001);
7948    /// Defines the color of the checkboxgroup when it is selected.
7949    /// This attribute can be set, reset, and obtained as required through APIs.
7950    ///
7951    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7952    ///
7953    /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
7954    /// for example, <b>0xFF1122FF</b>.
7955    ///
7956    ///
7957    ///
7958    /// Format of the return value [`ArkUI_AttributeItem`]:
7959    ///
7960    /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7961    ///
7962    ///
7963    /// Available since API-level: 15
7964    #[cfg(feature = "api-15")]
7965    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7966    pub const NODE_CHECKBOX_GROUP_SELECTED_COLOR: ArkUI_NodeAttributeType =
7967        ArkUI_NodeAttributeType(21002);
7968    /// Defines the border color of the checkboxgroup when it is not selected.
7969    /// This attribute can be set, reset, and obtained as required through APIs.
7970    ///
7971    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7972    ///
7973    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7974    ///
7975    ///
7976    ///
7977    /// Format of the return value [`ArkUI_AttributeItem`]:
7978    ///
7979    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7980    ///
7981    ///
7982    /// Available since API-level: 15
7983    #[cfg(feature = "api-15")]
7984    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7985    pub const NODE_CHECKBOX_GROUP_UNSELECTED_COLOR: ArkUI_NodeAttributeType =
7986        ArkUI_NodeAttributeType(21003);
7987    /// Defines the internal icon style of the checkboxgroup.
7988    /// This attribute can be set, reset, and obtained as required through APIs.
7989    ///
7990    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7991    ///
7992    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7993    ///
7994    /// .value[1]?.f32: size of the internal mark, in vp. Optional.
7995    ///
7996    /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
7997    ///
7998    ///
7999    ///
8000    /// Format of the return value [`ArkUI_AttributeItem`]:
8001    ///
8002    /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
8003    ///
8004    /// .value[1].f32: size of the internal mark, in vp.
8005    ///
8006    /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
8007    ///
8008    ///
8009    ///
8010    /// Available since API-level: 15
8011    #[cfg(feature = "api-15")]
8012    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8013    pub const NODE_CHECKBOX_GROUP_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21004);
8014    /// Defines the shape of the checkboxgroup.
8015    /// This attribute can be set, reset, and obtained as required through APIs.
8016    ///
8017    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8018    ///
8019    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
8020    ///
8021    ///
8022    ///
8023    /// Format of the return value [`ArkUI_AttributeItem`]:
8024    ///
8025    /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
8026    ///
8027    ///
8028    /// Available since API-level: 15
8029    #[cfg(feature = "api-15")]
8030    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8031    pub const NODE_CHECKBOX_GROUP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21005);
8032    /// Defines the alignment mode of the child components in the container. This attribute can be set, reset,
8033    /// and obtained as required through APIs.
8034    ///
8035    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8036    ///
8037    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
8038    /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
8039    ///
8040    ///
8041    ///
8042    /// Format of the return value [`ArkUI_AttributeItem`]:
8043    ///
8044    /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
8045    pub const NODE_STACK_ALIGN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000000);
8046    /// Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs.
8047    ///
8048    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8049    ///
8050    /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`]. The default value is
8051    /// <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>.
8052    ///
8053    ///
8054    ///
8055    /// Format of the return value [`ArkUI_AttributeItem`]:
8056    ///
8057    /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`].
8058    pub const NODE_SCROLL_BAR_DISPLAY_MODE: ArkUI_NodeAttributeType =
8059        ArkUI_NodeAttributeType(1002000);
8060    /// Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required
8061    /// through APIs.
8062    ///
8063    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8064    ///
8065    /// .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>.
8066    ///
8067    ///
8068    ///
8069    /// Format of the return value [`ArkUI_AttributeItem`]:
8070    ///
8071    /// .value[0].f32: width of the scrollbar, in vp.
8072    pub const NODE_SCROLL_BAR_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002001);
8073    /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
8074    /// through APIs.
8075    ///
8076    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8077    ///
8078    /// .data[0].u32: color of the scrollbar, in 0xARGB format.
8079    ///
8080    ///
8081    ///
8082    /// Format of the return value [`ArkUI_AttributeItem`]:
8083    ///
8084    /// .data[0].u32: color of the scrollbar, in 0xARGB format.
8085    pub const NODE_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002002);
8086    /// Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs.
8087    ///
8088    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8089    ///
8090    /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
8091    /// The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>.
8092    ///
8093    ///
8094    ///
8095    /// Format of the return value [`ArkUI_AttributeItem`]:
8096    ///
8097    /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
8098    pub const NODE_SCROLL_SCROLL_DIRECTION: ArkUI_NodeAttributeType =
8099        ArkUI_NodeAttributeType(1002003);
8100    /// Defines the effect used at the edges of the component when the boundary of the scrollable content is
8101    /// reached. This attribute can be set, reset, and obtained as required through APIs.
8102    ///
8103    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8104    ///
8105    /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
8106    /// The parameter type is [`ArkUI_EdgeEffect`]. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.
8107    ///
8108    /// .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the
8109    /// component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the
8110    /// opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the
8111    /// Scroll component is <b>1</b>.
8112    ///
8113    /// .value[2]?.i32: direction in which the effect takes effect. The parameter type is [`ArkUI_EffectEdge`].
8114    /// The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since
8115    /// API version 16.
8116    ///
8117    ///
8118    ///
8119    /// Format of the return value [`ArkUI_AttributeItem`]:
8120    ///
8121    /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
8122    /// The parameter type is [`ArkUI_EdgeEffect`].
8123    ///
8124    /// .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component
8125    /// itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite.
8126    ///
8127    /// .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached.
8128    /// The parameter type is [`ArkUI_EffectEdge`]. This parameter is supported since API version 16.
8129    pub const NODE_SCROLL_EDGE_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002004);
8130    /// Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by
8131    /// finger or mouse is not supported, but the scroll controller API is not affected.
8132    ///
8133    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8134    ///
8135    /// .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>.
8136    ///
8137    ///
8138    ///
8139    /// Format of the return value [`ArkUI_AttributeItem`]:
8140    ///
8141    /// .value[0].i32: whether to support scroll gestures.
8142    pub const NODE_SCROLL_ENABLE_SCROLL_INTERACTION: ArkUI_NodeAttributeType =
8143        ArkUI_NodeAttributeType(1002005);
8144    /// Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only
8145    /// indirectly the scroll chaining during the inertial scrolling process.
8146    ///
8147    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8148    ///
8149    /// .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b>
8150    /// for wearable devices.
8151    ///
8152    ///
8153    ///
8154    /// Format of the return value [`ArkUI_AttributeItem`]:
8155    ///
8156    /// .value[0].f32: friction coefficient.
8157    pub const NODE_SCROLL_FRICTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002006);
8158    /// Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs.
8159    ///
8160    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8161    ///
8162    /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8163    /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
8164    ///
8165    /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
8166    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8167    /// start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple
8168    /// snap points.
8169    ///
8170    /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
8171    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8172    /// end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple
8173    /// snap points.
8174    ///
8175    /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an
8176    /// edge to which the <b><Scroll></b> component can scroll.
8177    ///
8178    ///
8179    ///
8180    /// Format of the return value [`ArkUI_AttributeItem`]:
8181    ///
8182    /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8183    ///
8184    /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
8185    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8186    /// start edge and the first snap point.
8187    ///
8188    /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
8189    /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8190    /// end edge and the last snap point.
8191    ///
8192    /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge
8193    /// to which the <b><Scroll></b> component can scroll.
8194    pub const NODE_SCROLL_SNAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002007);
8195    /// Defines the nested scrolling options. This attribute can be set, reset, and obtained as required
8196    /// through APIs.
8197    ///
8198    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8199    ///
8200    /// .value[0].i32: nested scrolling option when the component scrolls forward.
8201    /// The parameter type is [`ArkUI_ScrollNestedMode`].
8202    ///
8203    /// .value[1].i32: nested scrolling option when the component scrolls backward.
8204    /// The parameter type is [`ArkUI_ScrollNestedMode`].
8205    ///
8206    ///
8207    ///
8208    /// Format of the return value [`ArkUI_AttributeItem`]:
8209    ///
8210    /// .value[0].i32: nested scrolling option when the component scrolls forward.
8211    /// The parameter type is [`ArkUI_ScrollNestedMode`].
8212    ///
8213    /// .value[1].i32: nested scrolling option when the component scrolls backward.
8214    /// The parameter type is [`ArkUI_ScrollNestedMode`].
8215    pub const NODE_SCROLL_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002008);
8216    /// Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required
8217    /// through APIs.
8218    ///
8219    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8220    ///
8221    /// .value[0].f32: horizontal scrolling offset, in vp.
8222    ///
8223    /// .value[1].f32: vertical scrolling offset, in vp.
8224    ///
8225    /// .value[2]?.i32: scrolling duration, in milliseconds. Optional.
8226    ///
8227    /// .value[3]?.i32: scrolling curve. Optional. The parameter type is [`ArkUI_AnimationCurve`].
8228    /// The default value is <b>ARKUI_CURVE_EASE</b>.
8229    ///
8230    /// .value[4]?.i32: whether to enable the default spring animation. Optional.
8231    /// The default value <b>0</b> means not to enable the default spring animation.
8232    ///
8233    /// .value[5]?.i32: whether to convert the scroll animation to an overshoot animation when the boundary is reached.
8234    /// Optional.
8235    ///
8236    /// .value[6]?.i32: whether the component can stop at an overscrolled position.
8237    /// This parameter is supported since API version 20.
8238    ///
8239    ///
8240    ///
8241    /// Format of the return value [`ArkUI_AttributeItem`]:
8242    ///
8243    /// .value[0].f32: horizontal scrolling offset, in vp.
8244    ///
8245    /// .value[1].f32: vertical scrolling offset, in vp.
8246    pub const NODE_SCROLL_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002009);
8247    /// Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs.
8248    ///
8249    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8250    ///
8251    /// .value[0].i32: edge position to scroll to. The parameter type is [`ArkUI_ScrollEdge`].
8252    ///
8253    ///
8254    ///
8255    /// Format of the return value [`ArkUI_AttributeItem`]:
8256    ///
8257    /// .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not
8258    /// at the edge position. If the container is at the edge position, the parameter type is [`ArkUI_ScrollEdge`].
8259    pub const NODE_SCROLL_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002010);
8260    /// Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained
8261    /// as required through APIs.
8262    ///
8263    /// If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but
8264    /// <b>enablePaging</b> does not.
8265    ///
8266    ///
8267    ///
8268    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8269    ///
8270    /// .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>.
8271    ///
8272    ///
8273    ///
8274    /// Format of the return value [`ArkUI_AttributeItem`]:
8275    ///
8276    /// .value[0].i32: whether to enable the swipe-to-turn-pages feature.
8277    pub const NODE_SCROLL_ENABLE_PAGING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002011);
8278    /// Scroll to the next or previous page.
8279    ///
8280    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8281    ///
8282    /// .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1
8283    /// indicates scroll to previous page.
8284    ///
8285    /// .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable.
8286    pub const NODE_SCROLL_PAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002012);
8287    /// Scroll a specified distance.
8288    ///
8289    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8290    ///
8291    /// .value[0].f32:Horizontal scrolling distance in vp;
8292    ///
8293    /// .value[1].f32: Vertical scrolling distance in vp;
8294    pub const NODE_SCROLL_BY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002013);
8295    /// Performs inertial scrolling based on the initial velocity passed in.
8296    ///
8297    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8298    ///
8299    /// .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is
8300    /// considered as invalid, and the scrolling for this instance will not take effect. If the value is positive,
8301    /// the scroll will move downward; if the value is negative, the scroll will move upward.
8302    ///
8303    ///
8304    ///
8305    /// Available since API-level: 13
8306    #[cfg(feature = "api-13")]
8307    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
8308    pub const NODE_SCROLL_FLING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002014);
8309    /// Sets the fading effect for the edges of scrollable components.
8310    ///
8311    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8312    /// .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect,
8313    /// and 1 means to enable it.
8314    /// .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32.
8315    ///
8316    /// Format of the return value [`ArkUI_AttributeItem`]:
8317    /// .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is
8318    /// disabled, and 1 means that it is enabled.
8319    /// .value[1].f32: length of the fading effect on edges, in vp.
8320    ///
8321    ///
8322    /// Available since API-level: 14
8323    #[cfg(feature = "api-14")]
8324    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
8325    pub const NODE_SCROLL_FADING_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002015);
8326    /// Obtains the total size of all child components when fully expanded in the scrollable component.
8327    ///
8328    /// Format of the return value [`ArkUI_AttributeItem`]:
8329    ///
8330    /// .value[0].f32: total width of all child components when fully expanded in the scrollable component.
8331    /// The default unit is vp.
8332    ///
8333    /// .value[1].f32: total height of all child components when fully expanded in the scrollable component.
8334    /// The default unit is vp.
8335    ///
8336    /// When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the
8337    /// nearest pixel when being converted from vp to px.
8338    /// The returned values are calculated based on these rounded pixel values.
8339    ///
8340    ///
8341    ///
8342    /// Available since API-level: 14
8343    #[cfg(feature = "api-14")]
8344    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
8345    pub const NODE_SCROLL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002016);
8346    /// Sets the offset from the start of the scrollable components content.
8347    ///
8348    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8349    ///
8350    /// .value[0].f32: offset from the start of the content, in vp.
8351    ///
8352    ///
8353    ///
8354    /// Format of the return value [`ArkUI_AttributeItem`]:
8355    ///
8356    /// .value[0].f32: offset from the start of the content, in vp.
8357    ///
8358    ///
8359    ///
8360    /// Available since API-level: 15
8361    #[cfg(feature = "api-15")]
8362    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8363    pub const NODE_SCROLL_CONTENT_START_OFFSET: ArkUI_NodeAttributeType =
8364        ArkUI_NodeAttributeType(1002017);
8365    /// Sets the offset from the end of the scrollable components content.
8366    ///
8367    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8368    ///
8369    /// .value[0].f32: offset from the end of the content, in vp.
8370    ///
8371    ///
8372    ///
8373    /// Format of the return value [`ArkUI_AttributeItem`]:
8374    ///
8375    /// .value[0].f32: offset from the end of the content, in vp.
8376    ///
8377    ///
8378    ///
8379    /// Available since API-level: 15
8380    #[cfg(feature = "api-15")]
8381    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8382    pub const NODE_SCROLL_CONTENT_END_OFFSET: ArkUI_NodeAttributeType =
8383        ArkUI_NodeAttributeType(1002018);
8384    /// Defines the maximum starting fling speed of the scrollable when the fling animation starts.
8385    /// This attribute can be set, reset, and obtained as required through APIs.
8386    ///
8387    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8388    ///
8389    /// .value[0].f32: maximum starting fling speed, Unit: vp/s
8390    ///
8391    ///
8392    ///
8393    /// Format of the return value [`ArkUI_AttributeItem`]:
8394    ///
8395    /// .value[0].f32: maximum starting fling speed, Unit: vp/s
8396    ///
8397    ///
8398    ///
8399    /// Available since API-level: 18
8400    #[cfg(feature = "api-18")]
8401    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8402    pub const NODE_SCROLL_FLING_SPEED_LIMIT: ArkUI_NodeAttributeType =
8403        ArkUI_NodeAttributeType(1002019);
8404    /// Defines the clip mode of the scrollable.
8405    /// This attribute can be set, reset, and obtained as required through APIs.
8406    ///
8407    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8408    ///
8409    /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
8410    ///
8411    ///
8412    ///
8413    /// Format of the return value [`ArkUI_AttributeItem`]:
8414    ///
8415    /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
8416    ///
8417    ///
8418    ///
8419    /// Available since API-level: 18
8420    #[cfg(feature = "api-18")]
8421    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8422    pub const NODE_SCROLL_CLIP_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002020);
8423    /// Defines whether the scrollable scrolls back to top when status bar is clicked.
8424    /// This attribute can be set, reset, and obtained as required through APIs.
8425    ///
8426    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8427    ///
8428    /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
8429    /// 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>.
8430    ///
8431    ///
8432    ///
8433    /// Format of the return value [`ArkUI_AttributeItem`]:
8434    ///
8435    /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
8436    ///
8437    ///
8438    ///
8439    /// Available since API-level: 15
8440    #[cfg(feature = "api-15")]
8441    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8442    pub const NODE_SCROLL_BACK_TO_TOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002021);
8443    /// Defines the margin of the scrollbar.
8444    /// This attribute can be set, reset, and obtained as required through APIs.
8445    ///
8446    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8447    ///
8448    /// .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>.
8449    ///
8450    /// .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>.
8451    ///
8452    ///
8453    ///
8454    /// Format of the return value [`ArkUI_AttributeItem`]:
8455    ///
8456    /// .value[0].f32: start margin of the scrollbar, in vp.
8457    ///
8458    /// .value[1].f32: end margin of the scrollbar, in vp.
8459    ///
8460    ///
8461    ///
8462    /// Available since API-level: 20
8463    #[cfg(feature = "api-20")]
8464    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8465    pub const NODE_SCROLL_BAR_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002022);
8466    /// Sets the maximum zoom scale for scrollable content.
8467    ///
8468    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8469    ///
8470    /// .value[0].f32: maximum zoom scale to set.
8471    ///
8472    ///
8473    ///
8474    /// Format of the return value [`ArkUI_AttributeItem`]:
8475    ///
8476    /// .value[0].f32: current maximum zoom scale.
8477    ///
8478    ///
8479    ///
8480    /// Available since API-level: 20
8481    #[cfg(feature = "api-20")]
8482    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8483    pub const NODE_SCROLL_MAX_ZOOM_SCALE: ArkUI_NodeAttributeType =
8484        ArkUI_NodeAttributeType(1002023);
8485    /// Sets the minimum zoom scale for scrollable content.
8486    ///
8487    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8488    ///
8489    /// .value[0].f32: minimum zoom scale to set.
8490    ///
8491    ///
8492    ///
8493    /// Format of the return value [`ArkUI_AttributeItem`]:
8494    ///
8495    /// .value[0].f32: current minimum zoom scale.
8496    ///
8497    ///
8498    ///
8499    /// Available since API-level: 20
8500    #[cfg(feature = "api-20")]
8501    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8502    pub const NODE_SCROLL_MIN_ZOOM_SCALE: ArkUI_NodeAttributeType =
8503        ArkUI_NodeAttributeType(1002024);
8504    /// Sets the zoom scale for scrollable content.
8505    ///
8506    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8507    ///
8508    /// .value[0].f32: zoom scale to set.
8509    ///
8510    ///
8511    ///
8512    /// Format of the return value [`ArkUI_AttributeItem`]:
8513    ///
8514    /// .value[0].f32: current zoom scale.
8515    ///
8516    ///
8517    ///
8518    /// Available since API-level: 20
8519    #[cfg(feature = "api-20")]
8520    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8521    pub const NODE_SCROLL_ZOOM_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002025);
8522    /// Sets whether to enable the zoom bounce effect when the scaling exceeds the limits.
8523    ///
8524    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8525    ///
8526    /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
8527    /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
8528    ///
8529    ///
8530    ///
8531    /// Format of the return value [`ArkUI_AttributeItem`]:
8532    ///
8533    /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
8534    /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
8535    ///
8536    ///
8537    ///
8538    /// Available since API-level: 20
8539    #[cfg(feature = "api-20")]
8540    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8541    pub const NODE_SCROLL_ENABLE_BOUNCES_ZOOM: ArkUI_NodeAttributeType =
8542        ArkUI_NodeAttributeType(1002026);
8543    /// Sets the direction in which the list items are arranged.
8544    /// This attribute can be set, reset, and obtained as required through APIs.
8545    ///
8546    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8547    ///
8548    /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
8549    /// The default value is <b>ARKUI_AXIS_VERTICAL</b>.
8550    ///
8551    ///
8552    ///
8553    /// Format of the return value [`ArkUI_AttributeItem`]:
8554    ///
8555    /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
8556    pub const NODE_LIST_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003000);
8557    /// Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8558    /// component. This attribute can be set, reset, and obtained as required through APIs.
8559    ///
8560    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8561    ///
8562    /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8563    /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
8564    /// [`ArkUI_StickyStyle`]. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>.
8565    ///
8566    ///
8567    ///
8568    /// Format of the return value [`ArkUI_AttributeItem`]:
8569    ///
8570    /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8571    /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
8572    /// [`ArkUI_StickyStyle`].
8573    pub const NODE_LIST_STICKY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003001);
8574    /// Defines the spacing between list items. This attribute can be set, reset, and obtained as required
8575    /// through APIs.
8576    ///
8577    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8578    ///
8579    /// .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>.
8580    ///
8581    ///
8582    ///
8583    /// Format of the return value [`ArkUI_AttributeItem`]:
8584    ///
8585    /// .value[0].f32: spacing between list items along the main axis.
8586    pub const NODE_LIST_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003002);
8587    /// Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs.
8588    ///
8589    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8590    ///
8591    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8592    pub const NODE_LIST_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003003);
8593    /// Sets the number of cached items in the list adapter.
8594    /// This attribute can be set, reset, and obtained as required through APIs.
8595    ///
8596    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8597    ///
8598    /// .value[0].i32: number of cached items in the list adapter.
8599    ///
8600    /// .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
8601    /// to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15.
8602    ///
8603    /// .value[2]?.i32: maximum cache count. This parameter is supported since API version 22.
8604    ///
8605    ///
8606    /// Format of the return value [`ArkUI_AttributeItem`]:
8607    ///
8608    /// .value[0].i32: number of cached items in the list adapter.
8609    ///
8610    /// .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
8611    /// to show cached items. This parameter is supported since API version 15.
8612    ///
8613    /// .value[2].i32: maximum cache count. This parameter is supported since API version 22.
8614    pub const NODE_LIST_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003004);
8615    /// Scroll to the specified index.
8616    ///
8617    /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
8618    /// lead to performance issues when loading a large number of items.
8619    ///
8620    ///
8621    ///
8622    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8623    ///
8624    /// .value[0].i32:The index value of the target element to be slid to in the current container.
8625    ///
8626    /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
8627    /// 1 indicates an action and 0 indicates no action. Default value: 0。
8628    ///
8629    /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
8630    /// [`ArkUI_ScrollAlignment`], default value is ARKUI_SCROLL_ALIGNMENT_START.
8631    ///
8632    /// .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>.
8633    /// This parameter is supported since API version 15.
8634    pub const NODE_LIST_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003005);
8635    /// Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is
8636    /// greater than the cross-axis width of list items multiplied by the value of lanes.
8637    /// This attribute can be set, reset, and obtained as required through APIs.
8638    ///
8639    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8640    ///
8641    /// .value[0].i32: alignment mode of list items along the cross axis.
8642    /// The parameter type is [`ArkUI_ListItemAlignment`].
8643    ///
8644    ///
8645    ///
8646    /// Format of the return value [`ArkUI_AttributeItem`]:
8647    ///
8648    /// .value[0].i32: alignment mode of list items along the cross axis.
8649    /// The parameter type is [`ArkUI_ListItemAlignment`].
8650    pub const NODE_LIST_ALIGN_LIST_ITEM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003006);
8651    /// Set the default spindle size for the List subcomponent.
8652    ///
8653    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8654    ///
8655    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8656    ///
8657    ///
8658    ///
8659    /// Format of the return value [`ArkUI_AttributeItem`]:
8660    ///
8661    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8662    pub const NODE_LIST_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
8663        ArkUI_NodeAttributeType(1003007);
8664    /// Set the index value of the item displayed at the start of the viewport
8665    /// when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs.
8666    ///
8667    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8668    ///
8669    /// .value[0].i32: index value of the item displayed at
8670    /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
8671    ///
8672    ///
8673    ///
8674    /// Format of the return value [`ArkUI_AttributeItem`]:
8675    ///
8676    /// .value[0].i32: index value of the item displayed at
8677    /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
8678    pub const NODE_LIST_INITIAL_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003008);
8679    /// sets the ListItem splitter style. By default, there is no splitter.
8680    /// This attribute can be set, reset, and obtained as required through APIs.
8681    ///
8682    /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
8683    ///
8684    /// .value[0].u32: divider color, type 0xargb;
8685    ///
8686    /// .value[1].f32: dividing line width;
8687    ///
8688    /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
8689    ///
8690    /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
8691    ///
8692    ///
8693    ///
8694    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
8695    ///
8696    /// .value[0].u32: divider color, type 0xargb;
8697    ///
8698    /// .value[1].f32: dividing line width;
8699    ///
8700    /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
8701    ///
8702    /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
8703    pub const NODE_LIST_DIVIDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003009);
8704    /// Scrolls to the item with the specified index in the specified list item group.
8705    ///
8706    /// When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation.
8707    /// This may result in performance issues if a large number of items are involved.
8708    ///
8709    ///
8710    ///
8711    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8712    ///
8713    /// .value[0].i32: index of the target list item group in the current list.
8714    ///
8715    /// .value[1].i32: index of the target list item in the list item group.
8716    ///
8717    /// .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index.
8718    /// The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite.
8719    /// The default value is <b>0</b>.
8720    ///
8721    /// .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is
8722    /// [`ArkUI_ScrollAlignment`]. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>.
8723    ///
8724    ///
8725    ///
8726    /// Available since API-level: 15
8727    #[cfg(feature = "api-15")]
8728    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8729    pub const NODE_LIST_SCROLL_TO_INDEX_IN_GROUP: ArkUI_NodeAttributeType =
8730        ArkUI_NodeAttributeType(1003010);
8731    /// Sets the number of lanes in the list.
8732    /// This attribute can be set, reset, and obtained as required through APIs.
8733    ///
8734    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8735    ///
8736    /// .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number
8737    /// of lanes will not take effect.
8738    ///
8739    /// .value[1]?.f32: minimum lane width, in vp.
8740    ///
8741    /// .value[2]?.f32: maximum column width, in vp.
8742    ///
8743    /// .value[3]?.f32: lane spacing, in vp.
8744    ///
8745    ///
8746    ///
8747    /// Format of the return value [`ArkUI_AttributeItem`]:
8748    ///
8749    /// .value[0].u32: number of lanes in the list.
8750    ///
8751    /// .value[1].f32: minimum lane width, in vp.
8752    ///
8753    /// .value[2].f32: maximum column width, in vp.
8754    ///
8755    /// .value[3].f32: lane spacing, in vp.
8756    ///
8757    ///
8758    ///
8759    ///
8760    /// Available since API-level: 15
8761    #[cfg(feature = "api-15")]
8762    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8763    pub const NODE_LIST_LANES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003011);
8764    /// Sets the list snap alignment mode.
8765    ///
8766    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8767    ///
8768    /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8769    /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
8770    ///
8771    ///
8772    ///
8773    /// Format of the return value [`ArkUI_AttributeItem`]:
8774    ///
8775    /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8776    ///
8777    ///
8778    ///
8779    /// Available since API-level: 15
8780    #[cfg(feature = "api-15")]
8781    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8782    pub const NODE_LIST_SCROLL_SNAP_ALIGN: ArkUI_NodeAttributeType =
8783        ArkUI_NodeAttributeType(1003012);
8784    /// Sets whether to maintain the visible content's position when data is inserted or deleted outside the
8785    /// display area of the <b>List</b> component.
8786    ///
8787    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8788    ///
8789    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
8790    /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
8791    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8792    ///
8793    ///
8794    ///
8795    /// Format of the return value [`ArkUI_AttributeItem`]:
8796    ///
8797    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
8798    /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
8799    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8800    ///
8801    ///
8802    ///
8803    /// Available since API-level: 15
8804    #[cfg(feature = "api-15")]
8805    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8806    pub const NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
8807        ArkUI_NodeAttributeType(1003013);
8808    /// Sets whether the <b>List</b> component starts layout from the end.
8809    ///
8810    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8811    ///
8812    /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
8813    /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
8814    ///
8815    ///
8816    ///
8817    /// Format of the return value [`ArkUI_AttributeItem`]:
8818    ///
8819    /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
8820    /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
8821    ///
8822    ///
8823    ///
8824    /// Available since API-level: 19
8825    #[cfg(feature = "api-19")]
8826    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8827    pub const NODE_LIST_STACK_FROM_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003014);
8828    /// Defines the focus wrap mode for the <b>List</b> component.
8829    /// This attribute can be set, reset, and obtained as required through APIs.
8830    ///
8831    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8832    ///
8833    /// .value[0].i32: focus wrap mode of the <b>List</b> component.
8834    /// The parameter type is [`ArkUI_FocusWrapMode`].
8835    ///
8836    ///
8837    ///
8838    /// Format of the return value [`ArkUI_AttributeItem`]:
8839    ///
8840    /// .value[0].i32: focus wrap mode of the <b>List</b> component.
8841    /// The parameter type is [`ArkUI_FocusWrapMode`].
8842    ///
8843    ///
8844    ///
8845    /// Available since API-level: 20
8846    #[cfg(feature = "api-20")]
8847    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8848    pub const NODE_LIST_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003015);
8849    /// Defines whether the <b>List</b> component loads child nodes synchronously.
8850    /// This attribute can be set, reset, and obtained as required through APIs.
8851    ///
8852    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8853    ///
8854    /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
8855    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8856    ///
8857    ///
8858    ///
8859    /// Format of the return value [`ArkUI_AttributeItem`]:
8860    ///
8861    /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
8862    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8863    ///
8864    ///
8865    ///
8866    /// Available since API-level: 20
8867    #[cfg(feature = "api-20")]
8868    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8869    pub const NODE_LIST_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003016);
8870    /// Defines the scroll snap animation speed for the <b>List</b> component.
8871    /// This attribute can be set, reset, and obtained as required through APIs.
8872    ///
8873    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8874    ///
8875    /// .value[0].i32: scroll snap animation speed for the <b>List</b> component.
8876    /// The parameter type is [`ArkUI_ScrollSnapAnimationSpeed`].
8877    /// Default value: <b>ARKUI_SCROLL_SNAP_ANIMATION_NORMAL</b>.
8878    ///
8879    ///
8880    ///
8881    /// Format of the return value [`ArkUI_AttributeItem`]:
8882    ///
8883    /// .value[0].i32: scroll snap animation speed for the <b>List</b> component.
8884    /// The parameter type is [`ArkUI_ScrollSnapAnimationSpeed`].
8885    ///
8886    ///
8887    ///
8888    /// Available since API-level: 22
8889    #[cfg(feature = "api-22")]
8890    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
8891    pub const NODE_LIST_SCROLL_SNAP_ANIMATION_SPEED: ArkUI_NodeAttributeType =
8892        ArkUI_NodeAttributeType(1003017);
8893    /// Specifies the responsive column layout policy for the <b>List</b> component.
8894    /// This attribute can be set, reset, and obtained as required through APIs.
8895    ///
8896    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8897    ///
8898    /// .value[0].i32: number of columns at different breakpoint specifications.
8899    /// The data type is [`ArkUI_ItemFillPolicy`].
8900    ///
8901    /// .value[1]?.f32: column spacing. unit: vp. Default value: <b>0</b>.
8902    ///
8903    ///
8904    ///
8905    /// Format of the return value [`ArkUI_AttributeItem`]:
8906    ///
8907    /// .value[0].i32: number of columns at different breakpoint specifications.
8908    /// The data type is [`ArkUI_ItemFillPolicy`].
8909    ///
8910    /// .value[1].f32: column spacing. unit: vp.
8911    ///
8912    ///
8913    ///
8914    /// Available since API-level: 22
8915    #[cfg(feature = "api-22")]
8916    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
8917    pub const NODE_LIST_LANES_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
8918        ArkUI_NodeAttributeType(1003018);
8919    /// Specifies whether to support empty branch rendering in lazy loading mode for the <b>List</b> container.
8920    /// This attribute can be set, reset, and obtained as required through APIs. When enabled in lazy loading mode,
8921    /// empty branches (items without content) in the <b>List</b> will be rendered and set to width 0 and height 0,
8922    /// which may affect the overall layout and scrolling behavior. This is typically used in scenarios where the
8923    /// data source may have gaps or when maintaining specific layout positions is required.
8924    ///
8925    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8926    ///
8927    /// .value[0].i32: whether to support empty branch rendering in lazy loading mode.
8928    /// <b>0</b>: Disable empty branch support. Empty branches will not be rendered. <b>1</b>: Enable empty branch support.
8929    /// Empty branches will be rendered as placeholder items. Default value: <b>0</b>.
8930    ///
8931    ///
8932    ///
8933    /// Format of the return value [`ArkUI_AttributeItem`]:
8934    ///
8935    /// .value[0].i32: whether empty branch rendering is enabled. <b>0</b>: Disabled. <b>1</b>: Enabled.
8936    ///
8937    ///
8938    ///
8939    /// Available since API-level: 23
8940    #[cfg(feature = "api-23")]
8941    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
8942    pub const NODE_LIST_SUPPORT_EMPTY_BRANCH_IN_LAZY_LOADING: ArkUI_NodeAttributeType =
8943        ArkUI_NodeAttributeType(1003019);
8944    /// Defines whether to enable loop playback for the swiper.
8945    /// This attribute can be set, reset, and obtained as required through APIs.
8946    ///
8947    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8948    ///
8949    /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
8950    /// means the opposite. The default value is <b>1/b>.
8951    ///
8952    ///
8953    ///
8954    /// Format of the return value [`ArkUI_AttributeItem`]:
8955    ///
8956    /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
8957    /// means the opposite. The default value is <b>1</b>.
8958    pub const NODE_SWIPER_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001000);
8959    /// Defines whether to enable automatic playback for child component switching in the swiper.
8960    /// This attribute can be set, reset, and obtained as required through APIs.
8961    ///
8962    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8963    ///
8964    /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b>
8965    /// means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
8966    ///
8967    ///
8968    ///
8969    /// .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means
8970    /// to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is
8971    /// supported since API version 16.
8972    ///
8973    ///
8974    ///
8975    /// Format of the return value [`ArkUI_AttributeItem`]:
8976    ///
8977    /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means
8978    /// to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
8979    ///
8980    /// .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to
8981    /// stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16.
8982    pub const NODE_SWIPER_AUTO_PLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001001);
8983    /// Defines whether to enable the navigation point indicator for the swiper. This attribute can be set,
8984    /// reset, and obtained as required through APIs.
8985    ///
8986    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8987    ///
8988    /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
8989    /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
8990    ///
8991    ///
8992    ///
8993    /// Format of the return value [`ArkUI_AttributeItem`]:
8994    ///
8995    /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
8996    /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
8997    pub const NODE_SWIPER_SHOW_INDICATOR: ArkUI_NodeAttributeType =
8998        ArkUI_NodeAttributeType(1001002);
8999    /// Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required
9000    /// through APIs.
9001    ///
9002    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9003    ///
9004    /// .value[0].f32: interval for automatic playback, in milliseconds.
9005    ///
9006    ///
9007    ///
9008    /// Format of the return value [`ArkUI_AttributeItem`]:
9009    ///
9010    /// .value[0].f32: interval for automatic playback, in milliseconds.
9011    pub const NODE_SWIPER_INTERVAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001003);
9012    /// Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained
9013    /// as required through APIs.
9014    ///
9015    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9016    ///
9017    /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
9018    /// <b>0</b> means the opposite. The default value is <b>0</b>.
9019    ///
9020    ///
9021    ///
9022    /// Format of the return value [`ArkUI_AttributeItem`]:
9023    ///
9024    /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
9025    /// <b>0</b> means the opposite. The default value is <b>0</b>.
9026    pub const NODE_SWIPER_VERTICAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001004);
9027    /// Defines the duration of the animation for switching child components. This attribute can be set, reset,
9028    /// and obtained as required through APIs.
9029    ///
9030    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9031    ///
9032    /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
9033    /// <b>400</b>.
9034    ///
9035    ///
9036    ///
9037    /// Format of the return value [`ArkUI_AttributeItem`]:
9038    ///
9039    /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
9040    /// <b>400</b>.
9041    pub const NODE_SWIPER_DURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001005);
9042    /// Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required
9043    /// through APIs.
9044    ///
9045    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9046    ///
9047    /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
9048    /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
9049    ///
9050    ///
9051    ///
9052    /// Format of the return value [`ArkUI_AttributeItem`]:
9053    ///
9054    /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
9055    /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
9056    pub const NODE_SWIPER_CURVE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001006);
9057    /// Defines the spacing between child components in the swiper.
9058    /// This attribute can be set, reset, and obtained as required through APIs.
9059    ///
9060    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9061    ///
9062    /// .value[0].f32: spacing between child components.
9063    ///
9064    ///
9065    ///
9066    /// Format of the return value [`ArkUI_AttributeItem`]:
9067    ///
9068    /// .value[0].f32: spacing between child components.
9069    pub const NODE_SWIPER_ITEM_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001007);
9070    /// Defines the index of the child component currently displayed in the swiper.
9071    /// This attribute can be set, reset, and obtained as required through APIs.
9072    ///
9073    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9074    ///
9075    /// .value[0].i32: index value of the child component.
9076    ///
9077    /// .value[1]?.i32: animation mode, the parameter type is [`ArkUI_SwiperAnimationMode`].
9078    ///
9079    /// The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call.
9080    ///
9081    /// This parameter is supported since API version 15.
9082    ///
9083    ///
9084    ///
9085    /// Format of the return value [`ArkUI_AttributeItem`]:
9086    ///
9087    /// .value[0].i32: index value of the child component.
9088    pub const NODE_SWIPER_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001008);
9089    /// Defines the number of elements to display per page.
9090    /// This attribute can be set, reset, and obtained as required through APIs.
9091    ///
9092    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9093    ///
9094    /// .value[0].i32: number of elements to display per page.
9095    ///
9096    /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
9097    /// and <b>1</b> means to turn pages by group. This parameter is supported since API version 19.
9098    ///
9099    /// .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored.
9100    /// This parameter is supported since API version 19.
9101    ///
9102    ///
9103    ///
9104    /// Format of the return value [`ArkUI_AttributeItem`]:
9105    ///
9106    /// .value[0].i32: number of elements to display per page.
9107    ///
9108    /// .value[1].i32: whether to turn pages by group. This parameter is supported since API version 19.
9109    ///
9110    /// .string: 'auto' or empty string.
9111    pub const NODE_SWIPER_DISPLAY_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001009);
9112    /// Defines whether to disable the swipe feature.
9113    /// This attribute can be set, reset, and obtained as required through APIs.
9114    ///
9115    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9116    ///
9117    /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable
9118    /// the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
9119    ///
9120    ///
9121    ///
9122    /// Format of the return value [`ArkUI_AttributeItem`]:
9123    ///
9124    /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe
9125    /// feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
9126    pub const NODE_SWIPER_DISABLE_SWIPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001010);
9127    /// Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9128    /// This attribute can be set, reset, and obtained as required through APIs.
9129    ///
9130    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9131    ///
9132    /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9133    /// The parameter type is [`ArkUI_SwiperArrow`].
9134    ///
9135    /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
9136    ///
9137    /// .?object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
9138    ///
9139    /// This parameter is supported since API version 19.
9140    ///
9141    ///
9142    ///
9143    /// Format of the return value [`ArkUI_AttributeItem`]:
9144    ///
9145    /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9146    /// The parameter type is [`ArkUI_SwiperArrow`].
9147    ///
9148    /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
9149    ///
9150    /// .object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
9151    ///
9152    /// This parameter is supported since API version 19.
9153    pub const NODE_SWIPER_SHOW_DISPLAY_ARROW: ArkUI_NodeAttributeType =
9154        ArkUI_NodeAttributeType(1001011);
9155    /// Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9156    /// This attribute can be set, reset, and obtained as required through APIs.
9157    ///
9158    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9159    ///
9160    /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9161    /// The parameter type is [`ArkUI_EdgeEffect`].
9162    ///
9163    /// The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>.
9164    ///
9165    ///
9166    ///
9167    /// Format of the return value [`ArkUI_AttributeItem`]:
9168    ///
9169    /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9170    /// The parameter type is [`ArkUI_EdgeEffect`].
9171    pub const NODE_SWIPER_EDGE_EFFECT_MODE: ArkUI_NodeAttributeType =
9172        ArkUI_NodeAttributeType(1001012);
9173    /// Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs.
9174    ///
9175    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9176    ///
9177    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9178    pub const NODE_SWIPER_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001013);
9179    /// Sets the number of cached items in the swiper adapter.
9180    /// This attribute can be set, reset, and obtained as required through APIs.
9181    ///
9182    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9183    ///
9184    /// .value[0].i32: number of cached items in the swiper adapter.
9185    ///
9186    /// .value[1]?.i32: whether the cached items will be displayed.
9187    ///
9188    /// The value <b>0</b> indicates that cached items will not be displayed,
9189    ///
9190    /// and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>.
9191    ///
9192    /// This parameter is supported from API version 19.
9193    ///
9194    ///
9195    ///
9196    /// Format of the return value [`ArkUI_AttributeItem`]:
9197    ///
9198    /// .value[0].i32: number of cached items in the swiper adapter.
9199    ///
9200    /// .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 19.
9201    pub const NODE_SWIPER_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001014);
9202    /// Defines the front margin of the wiper.
9203    /// The attribute can be set, reset, and obtained as required through APIs.
9204    ///
9205    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9206    ///
9207    /// .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>
9208    ///
9209    /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
9210    /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
9211    ///
9212    /// Format of the return value [`ArkUI_AttributeItem`]:
9213    ///
9214    /// .value[0].f32: the front margin, the unit is vp.
9215    ///
9216    /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
9217    /// the opposite.
9218    pub const NODE_SWIPER_PREV_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001015);
9219    /// Defines the back margin of the wiper.
9220    /// The attribute can be set, reset, and obtained as required through APIs.
9221    ///
9222    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9223    ///
9224    /// .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>
9225    ///
9226    /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
9227    /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
9228    ///
9229    /// Format of the return value [`ArkUI_AttributeItem`]:
9230    ///
9231    /// .value[0].f32: the back margin, the unit is vp.
9232    ///
9233    /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
9234    /// the opposite.
9235    pub const NODE_SWIPER_NEXT_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001016);
9236    /// Defines the navigation indicator type of the swiper.
9237    /// The attribute can be set, reset, and obtained as required through APIs.
9238    ///
9239    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9240    ///
9241    /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
9242    ///
9243    /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
9244    ///
9245    /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
9246    /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
9247    ///
9248    /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
9249    ///
9250    ///
9251    ///
9252    /// Format of the return value [`ArkUI_AttributeItem`]:
9253    ///
9254    /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
9255    ///
9256    /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
9257    ///
9258    /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
9259    /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
9260    ///
9261    /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
9262    pub const NODE_SWIPER_INDICATOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001017);
9263    /// Set the nested scrolling mode for the Swiper component and parent component.
9264    ///
9265    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9266    ///
9267    /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
9268    /// [`ArkUI_SwiperNestedScrollMode`]
9269    ///
9270    /// The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b>
9271    ///
9272    ///
9273    ///
9274    /// Format of the return value [`ArkUI_AttributeItem`]:
9275    ///
9276    /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
9277    /// [`ArkUI_SwiperNestedScrollMode`]
9278    pub const NODE_SWIPER_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001018);
9279    /// Set the switcher component to flip to the specified page.
9280    ///
9281    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9282    ///
9283    /// .value[0].i32:Specify the index value of the page in Swiper.
9284    ///
9285    /// .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active
9286    /// effect, 0 indicates no active effect, default value is 0。
9287    pub const NODE_SWIPER_SWIPE_TO_INDEX: ArkUI_NodeAttributeType =
9288        ArkUI_NodeAttributeType(1001019);
9289    /// Set to disable component navigation point interaction function。
9290    ///
9291    /// Property setting method parameter [`ArkUI-AttributeItem`] format:
9292    ///
9293    /// .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it
9294    /// indicates that the navigation points are interactive. The default value is true.
9295    ///
9296    /// The return value of the attribute acquisition method is in the format of [`ArkUI-AttributeItem`]:
9297    ///
9298    /// .value[0].i32:Set to disable component navigation point interaction.
9299    pub const NODE_SWIPER_INDICATOR_INTERACTIVE: ArkUI_NodeAttributeType =
9300        ArkUI_NodeAttributeType(1001020);
9301    /// Sets the page flipping mode using the mouse wheel.
9302    ///
9303    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9304    ///
9305    /// .value[0].i32: page flipping mode using the mouse wheel. The parameter type is [`ArkUI_PageFlipMode`].
9306    ///
9307    ///
9308    ///
9309    /// Format of the return value [`ArkUI_PageFlipMode`]:
9310    ///
9311    /// .value[0].i32: page flipping mode using the mouse wheel.
9312    ///
9313    ///
9314    ///
9315    /// Available since API-level: 15
9316    #[cfg(feature = "api-15")]
9317    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9318    pub const NODE_SWIPER_PAGE_FLIP_MODE: ArkUI_NodeAttributeType =
9319        ArkUI_NodeAttributeType(1001021);
9320    /// Defines the minimum main axis size of child element for swiper to works out the display count.
9321    /// This attribute can be set, reset, and obtained as required through APIs.
9322    ///
9323    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9324    ///
9325    /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
9326    ///
9327    /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
9328    /// and <b>1</b> means to turn pages by group. The default value is <b>0</b>.
9329    ///
9330    ///
9331    ///
9332    /// Format of the return value [`ArkUI_AttributeItem`]:
9333    ///
9334    /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
9335    ///
9336    /// .value[1].i32: whether to turn pages by group.
9337    ///
9338    ///
9339    ///
9340    /// Available since API-level: 19
9341    #[cfg(feature = "api-19")]
9342    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
9343    pub const NODE_SWIPER_AUTO_FILL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001022);
9344    /// Sets whether to maintain the visible content's position when data is inserted or deleted outside
9345    /// the display area of the <b>Swiper</b> component.
9346    ///
9347    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9348    ///
9349    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
9350    /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
9351    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
9352    ///
9353    ///
9354    ///
9355    /// Format of the return value [`ArkUI_AttributeItem`]:
9356    ///
9357    /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
9358    /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
9359    /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
9360    ///
9361    ///
9362    ///
9363    /// Available since API-level: 20
9364    #[cfg(feature = "api-20")]
9365    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9366    pub const NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
9367        ArkUI_NodeAttributeType(1001023);
9368    /// Specifies the responsive column layout policy for the <b>Swiper</b> component.
9369    /// This attribute can be set, reset, and obtained as required through APIs.
9370    ///
9371    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9372    ///
9373    /// .value[0].i32: number of columns at different breakpoint specifications.
9374    /// The data type is [`ArkUI_ItemFillPolicy`].
9375    ///
9376    /// .value[1]?.i32: whether to paginate by group. The value <b>0</b> means to paginate by individual child elements,
9377    /// and <b>1</b> means to paginate by groups of child elements displayed within the viewport.
9378    /// The default value is <b>0</b>.
9379    ///
9380    ///
9381    /// Format of the return value [`ArkUI_AttributeItem`]:
9382    ///
9383    /// .value[0].i32: number of columns at different breakpoint specifications.
9384    /// The data type is [`ArkUI_ItemFillPolicy`].
9385    ///
9386    /// .value[1].i32: whether to paginate by group.
9387    ///
9388    ///
9389    ///
9390    /// Available since API-level: 22
9391    #[cfg(feature = "api-22")]
9392    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
9393    pub const NODE_SWIPER_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
9394        ArkUI_NodeAttributeType(1001024);
9395    /// Set the delineation component of the ListItem, supporting property settings, property resets, and
9396    /// property acquisition interfaces.
9397    ///
9398    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
9399    ///
9400    /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
9401    ///
9402    ///
9403    ///
9404    /// The return value of the attribute acquisition method [`ArkUI_AttributeItem`] format:
9405    ///
9406    /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
9407    pub const NODE_LIST_ITEM_SWIPE_ACTION: ArkUI_NodeAttributeType =
9408        ArkUI_NodeAttributeType(1004000);
9409    /// Defines the header of the list item group.
9410    /// This attribute can be set, reset, and obtained as required through APIs.
9411    ///
9412    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9413    ///
9414    /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
9415    ///
9416    ///
9417    ///
9418    /// Format of the return value [`ArkUI_AttributeItem`]:
9419    ///
9420    /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
9421    pub const NODE_LIST_ITEM_GROUP_SET_HEADER: ArkUI_NodeAttributeType =
9422        ArkUI_NodeAttributeType(1005000);
9423    /// Defines the footer of the list item group. This attribute can be set, reset, and obtained as
9424    /// required through APIs.
9425    ///
9426    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9427    ///
9428    /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
9429    ///
9430    ///
9431    ///
9432    /// Format of the return value [`ArkUI_AttributeItem`]:
9433    ///
9434    /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
9435    pub const NODE_LIST_ITEM_GROUP_SET_FOOTER: ArkUI_NodeAttributeType =
9436        ArkUI_NodeAttributeType(1005001);
9437    /// Defines the style of the divider for the list items. This attribute can be set, reset, and obtained
9438    /// as required through APIs.
9439    ///
9440    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9441    ///
9442    /// .value[0].u32: color of the divider, in 0xARGB format.
9443    ///
9444    /// .value[1].f32: stroke width of the divider, in vp.
9445    ///
9446    /// .value[2].f32: distance between the divider and the start of the list, in vp.
9447    ///
9448    /// .value[3].f32: distance between the divider and the end of the list, in vp.
9449    ///
9450    ///
9451    ///
9452    ///
9453    /// Format of the return value [`ArkUI_AttributeItem`]:
9454    ///
9455    /// .value[0].u32: color of the divider, in 0xARGB format.
9456    ///
9457    /// .value[1].f32: stroke width of the divider, in vp.
9458    ///
9459    /// .value[2].f32: distance between the divider and the start of the list, in vp.
9460    ///
9461    /// .value[3].f32: distance between the divider and the end of the list, in vp.
9462    pub const NODE_LIST_ITEM_GROUP_SET_DIVIDER: ArkUI_NodeAttributeType =
9463        ArkUI_NodeAttributeType(1005002);
9464    /// Set the default spindle size for the ListItem Group subcomponent.
9465    ///
9466    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9467    ///
9468    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
9469    ///
9470    ///
9471    ///
9472    /// Format of the return value [`ArkUI_AttributeItem`]:
9473    ///
9474    /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
9475    pub const NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
9476        ArkUI_NodeAttributeType(1005003);
9477    /// Defines the list item group adapter.
9478    /// This attribute can be set, reset, and obtained as required through APIs.
9479    ///
9480    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9481    ///
9482    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9483    ///
9484    ///
9485    ///
9486    /// Format of the return value [`ArkUI_AttributeItem`]:
9487    ///
9488    /// .object: [`ArkUI_NodeAdapter`] object.
9489    ///
9490    ///
9491    ///
9492    /// Available since API-level: 15
9493    #[cfg(feature = "api-15")]
9494    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9495    pub const NODE_LIST_ITEM_GROUP_NODE_ADAPTER: ArkUI_NodeAttributeType =
9496        ArkUI_NodeAttributeType(1005004);
9497    /// Defines the horizontal alignment mode of child components in the column.
9498    /// This attribute can be set, reset, and obtained as required through APIs.
9499    ///
9500    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9501    ///
9502    /// .value[0].i32: horizontal alignment mode of child components.
9503    /// The parameter type is [`ArkUI_HorizontalAlignment`].
9504    ///
9505    /// Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>.
9506    ///
9507    ///
9508    ///
9509    /// Format of the return value [`ArkUI_AttributeItem`]:
9510    ///
9511    /// .value[0].i32: horizontal alignment mode of child components.
9512    /// The parameter type is [`ArkUI_HorizontalAlignment`].
9513    pub const NODE_COLUMN_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006000);
9514    /// Defines the vertical alignment mode of child components in the column.
9515    /// This attribute can be set, reset, and obtained as required through APIs.
9516    ///
9517    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9518    ///
9519    /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
9520    ///
9521    /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9522    ///
9523    ///
9524    ///
9525    /// Format of the return value [`ArkUI_AttributeItem`]:
9526    ///
9527    /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
9528    pub const NODE_COLUMN_JUSTIFY_CONTENT: ArkUI_NodeAttributeType =
9529        ArkUI_NodeAttributeType(1006001);
9530    /// Defines Row constructor options or Column constructor options used for settting the spacing of child components, which can be set, reset, and obtained as required through APIs.
9531    ///
9532    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9533    ///
9534    /// .value[0].f32: The space of child components, in vp.
9535    ///
9536    ///
9537    ///
9538    /// Format of the return value [`ArkUI_AttributeItem`]:
9539    ///
9540    /// .value[0].f32: The space of child components, in vp.
9541    ///
9542    ///
9543    ///
9544    /// Available since API-level: 23
9545    #[cfg(feature = "api-23")]
9546    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9547    pub const NODE_LINEAR_LAYOUT_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006002);
9548    /// Defines whether the arrangement of child components along the main axis in a Column or Row is reversed, which can be set, reset, and obtained as required through APIs.
9549    ///
9550    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9551    ///
9552    /// .value[0].i32: The value that determines whether the arrangement of child components along the main axis is reversed.
9553    ///
9554    ///
9555    ///
9556    /// Format of the return value [`ArkUI_AttributeItem`]:
9557    ///
9558    /// .value[0].i32: The value that determines whether the arrangement of child components along the main axis is reversed.
9559    ///
9560    ///
9561    ///
9562    /// Available since API-level: 23
9563    #[cfg(feature = "api-23")]
9564    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9565    pub const NODE_LINEAR_LAYOUT_REVERSE: ArkUI_NodeAttributeType =
9566        ArkUI_NodeAttributeType(1006003);
9567    /// Defines the vertical alignment mode of child components in the row.
9568    /// This attribute can be set, reset, and obtained as required through APIs.
9569    ///
9570    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9571    ///
9572    /// .value[0].i32: vertical alignment mode of child components.
9573    /// The parameter type is [`ArkUI_VerticalAlignment`].
9574    ///
9575    /// Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>.
9576    ///
9577    ///
9578    ///
9579    /// Format of the return value [`ArkUI_AttributeItem`]:
9580    ///
9581    /// .value[0].i32: vertical alignment mode of child components.
9582    /// The parameter type is [`ArkUI_VerticalAlignment`].
9583    pub const NODE_ROW_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007000);
9584    /// Defines the horizontal alignment mode of child components in the row.
9585    /// This attribute can be set, reset, and obtained as required through APIs.
9586    ///
9587    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9588    ///
9589    /// .value[0].i32: horizontal alignment mode of child components.
9590    /// The parameter type is [`ArkUI_FlexAlignment`].
9591    ///
9592    /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9593    ///
9594    ///
9595    ///
9596    /// Format of the return value [`ArkUI_AttributeItem`]:
9597    ///
9598    /// .value[0].i32: horizontal alignment mode of child components.
9599    /// The parameter type is [`ArkUI_FlexAlignment`].
9600    pub const NODE_ROW_JUSTIFY_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007001);
9601    /// Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs.
9602    ///
9603    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9604    ///
9605    /// .value[0]?.i32: direction in which flex items are arranged. The parameter type is [`ArkUI_FlexDirection`].
9606    /// The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.
9607    ///
9608    /// .value[1]?.i32: how the flex items are wrapped. The parameter type is [`ArkUI_FlexWrap`].
9609    /// The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.
9610    ///
9611    /// .value[2]?.i32: alignment mode along the main axis. The parameter type is [`ArkUI_FlexAlignment`].
9612    /// The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9613    ///
9614    /// .value[3]?.i32: alignment mode along the cross axis. The parameter type is [`ArkUI_ItemAlignment`].
9615    /// The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.
9616    ///
9617    /// .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is
9618    /// [`ArkUI_FlexAlignment`]. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9619    ///
9620    ///
9621    ///
9622    /// Format of the return value [`ArkUI_AttributeItem`]:
9623    ///
9624    /// .value[0].i32: direction in which flex items are arranged.
9625    ///
9626    /// .value[1].i32: how the flex items are wrapped.
9627    ///
9628    /// .value[2].i32: alignment mode along the main axis.
9629    ///
9630    /// .value[3].i32: alignment mode along the cross axis.
9631    ///
9632    /// .value[4].i32: alignment mode along the cross axis for multi-line content.
9633    pub const NODE_FLEX_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008000);
9634    /// Defines Row constructor options used for settting the spacing of child components, which can be set, reset, and obtained as required through APIs.
9635    ///
9636    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9637    ///
9638    /// .value[0].f32: Space on the main axis of the flex container., in vp.
9639    ///
9640    /// .value[1].f32: Space on the cross axis of a flex container., in vp.
9641    ///
9642    ///
9643    ///
9644    /// Format of the return value [`ArkUI_AttributeItem`]:
9645    ///
9646    /// .value[0].f32: Space on the main axis of the flex container., in vp.
9647    ///
9648    /// .value[1].f32: Space on the cross axis of a flex container., in vp.
9649    ///
9650    ///
9651    ///
9652    /// Available since API-level: 23
9653    #[cfg(feature = "api-23")]
9654    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9655    pub const NODE_FLEX_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008001);
9656    /// Sets whether the component is being refreshed.
9657    /// This attribute can be set and obtained as required through APIs.
9658    ///
9659    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9660    ///
9661    /// .value[0].i32: The parameter type is 1 or 0.
9662    ///
9663    ///
9664    /// Format of the return value [`ArkUI_AttributeItem`]:
9665    ///
9666    /// .value[0].i32: The parameter type is 1 or 0.
9667    pub const NODE_REFRESH_REFRESHING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009000);
9668    /// Sets the custom content in the pull-down area.
9669    /// This attribute can be set, reset, and obtained as required through APIs.
9670    ///
9671    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9672    ///
9673    /// .object: The parameter type is [`ArkUI_NodeHandle`].
9674    pub const NODE_REFRESH_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009001);
9675    /// Set the pull-down hand coefficient.
9676    /// This attribute can be set, reset, and obtained as required through APIs.
9677    ///
9678    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9679    ///
9680    /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
9681    ///
9682    ///
9683    /// Format of the return value [`ArkUI_AttributeItem`]:
9684    ///
9685    /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
9686    pub const NODE_REFRESH_PULL_DOWN_RATIO: ArkUI_NodeAttributeType =
9687        ArkUI_NodeAttributeType(1009002);
9688    /// Sets the pull-down offset that initiates a refresh.
9689    /// This attribute can be set, reset, and obtained as required through APIs.
9690    ///
9691    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9692    ///
9693    /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
9694    ///
9695    ///
9696    /// Format of the return value [`ArkUI_AttributeItem`]:
9697    ///
9698    /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
9699    pub const NODE_REFRESH_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009003);
9700    /// Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>.
9701    /// This attribute can be set, reset, and obtained as required through APIs.
9702    ///
9703    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9704    ///
9705    /// .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and
9706    /// <b>false</b> means the opposite.
9707    ///
9708    ///
9709    /// Format of the return value [`ArkUI_AttributeItem`]:
9710    ///
9711    /// .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and
9712    /// <b>0</b> means the opposite.
9713    pub const NODE_REFRESH_PULL_TO_REFRESH: ArkUI_NodeAttributeType =
9714        ArkUI_NodeAttributeType(1009004);
9715    /// Sets the maximum pull-down distance for refreshing.
9716    /// This attribute can be set, reset, and obtained through the API as required.
9717    ///
9718    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9719    ///
9720    /// .value[0].f32: maximum pull-down distance, in vp.
9721    ///
9722    ///
9723    /// Format of the return value [`ArkUI_AttributeItem`]:
9724    ///
9725    /// .value[0].f32: maximum pull-down distance, in vp.
9726    ///
9727    ///
9728    /// Available since API-level: 20
9729    #[cfg(feature = "api-20")]
9730    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9731    pub const NODE_REFRESH_MAX_PULL_DOWN_DISTANCE: ArkUI_NodeAttributeType =
9732        ArkUI_NodeAttributeType(1009005);
9733    /// Sets whether the pull-up gesture cancels refresh.
9734    /// This attribute can be set, reset, and obtained through the API as required.
9735    ///
9736    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9737    ///
9738    /// .value[0].i32: whether the pull-up gesture cancels refresh. The value <b>1</b> means that the pull-up gesture
9739    /// cancels refresh, and <b>0</b> means the opposite. Default value: <b>1</b>.
9740    ///
9741    ///
9742    /// Format of the return value [`ArkUI_AttributeItem`]:
9743    ///
9744    /// * .value[0].i32: whether the pull-up gesture cancels refresh. The value <b>1</b> means that the pull-up gesture
9745    /// cancels refresh, and <b>0</b> means the opposite.
9746    ///
9747    ///
9748    /// Available since API-level: 23
9749    #[cfg(feature = "api-23")]
9750    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9751    pub const NODE_REFRESH_PULL_UP_TO_CANCEL_REFRESH: ArkUI_NodeAttributeType =
9752        ArkUI_NodeAttributeType(1009006);
9753    /// Defines the main axis direction of the <b><WaterFlow></b> component layout.
9754    /// This attribute can be set, reset, and obtained as required through APIs.
9755    ///
9756    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9757    ///
9758    /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
9759    ///
9760    ///
9761    /// Format of the return value [`ArkUI_AttributeItem`]:
9762    ///
9763    /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
9764    pub const NODE_WATER_FLOW_LAYOUT_DIRECTION: ArkUI_NodeAttributeType =
9765        ArkUI_NodeAttributeType(1010000);
9766    /// Sets the number of columns in the water flow layout. If this parameter is not set, one column is used
9767    /// by default. This attribute can be set, reset, and obtained as required through APIs.
9768    /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
9769    /// component's full width, the second column 1/4, and the third column 2/4.
9770    /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
9771    /// columns based on the specified column width <b>track-size</b>.
9772    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
9773    /// or a valid number.
9774    ///
9775    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9776    ///
9777    /// .string: number of columns in the layout.
9778    ///
9779    ///
9780    ///
9781    /// Format of the return value [`ArkUI_AttributeItem`]:
9782    ///
9783    /// .string: number of columns in the layout.
9784    pub const NODE_WATER_FLOW_COLUMN_TEMPLATE: ArkUI_NodeAttributeType =
9785        ArkUI_NodeAttributeType(1010001);
9786    /// Sets the number of rows in the water flow layout. If this parameter is not set, one row is used
9787    /// by default. This attribute can be set, reset, and obtained as required through APIs.
9788    /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
9789    /// component's full height, the second row 1/4, and the third row 2/4.
9790    /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
9791    /// based on the specified row height <b>track-size</b>.
9792    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
9793    /// or a valid number.
9794    ///
9795    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9796    ///
9797    /// .string: number of rows in the layout.
9798    ///
9799    ///
9800    ///
9801    /// Format of the return value [`ArkUI_AttributeItem`]:
9802    ///
9803    /// .string: number of rows in the layout.
9804    pub const NODE_WATER_FLOW_ROW_TEMPLATE: ArkUI_NodeAttributeType =
9805        ArkUI_NodeAttributeType(1010002);
9806    /// Sets the gap between columns.
9807    /// This attribute can be set, reset, and obtained as required through APIs.
9808    ///
9809    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9810    ///
9811    /// .value[0].f32: gap between columns, in vp.
9812    ///
9813    ///
9814    ///
9815    /// Format of the return value [`ArkUI_AttributeItem`]:
9816    ///
9817    /// .value[0].f32: gap between columns, in vp.
9818    pub const NODE_WATER_FLOW_COLUMN_GAP: ArkUI_NodeAttributeType =
9819        ArkUI_NodeAttributeType(1010003);
9820    /// Sets the gap between rows.
9821    /// This attribute can be set, reset, and obtained as required through APIs.
9822    ///
9823    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9824    ///
9825    /// .value[0].f32: gap between lines, in vp.
9826    ///
9827    ///
9828    ///
9829    /// Format of the return value [`ArkUI_AttributeItem`]:
9830    ///
9831    /// .value[0].f32: gap between lines, in vp.
9832    pub const NODE_WATER_FLOW_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010004);
9833    /// Defines the water flow section configuration.
9834    /// This attribute can be set, reset, and obtained as required through APIs.
9835    ///
9836    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9837    ///
9838    /// .value[0].i32: An index calculated from 0 is converted to an integer,
9839    /// indicating that you want to start changing the position of the group.
9840    /// .object: [`ArkUI_WaterFlowSectionOption`] object.
9841    ///
9842    ///
9843    ///
9844    /// Format of the return value [`ArkUI_AttributeItem`]:
9845    ///
9846    /// .object: [`ArkUI_WaterFlowSectionOption`] object.
9847    pub const NODE_WATER_FLOW_SECTION_OPTION: ArkUI_NodeAttributeType =
9848        ArkUI_NodeAttributeType(1010005);
9849    /// Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs.
9850    ///
9851    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9852    ///
9853    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9854    pub const NODE_WATER_FLOW_NODE_ADAPTER: ArkUI_NodeAttributeType =
9855        ArkUI_NodeAttributeType(1010006);
9856    /// Sets the number of cached items in the water flow adapter.
9857    /// This attribute can be set, reset, and obtained as required through APIs.
9858    ///
9859    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9860    ///
9861    /// value[0].i32:number of cached items in the water flow adapter.
9862    ///
9863    /// .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
9864    /// This parameter is supported since API version 16.
9865    ///
9866    ///
9867    ///
9868    /// Format of the return value [`ArkUI_AttributeItem`]:
9869    ///
9870    /// .value[0].i32: number of cached items in the water flow adapter.
9871    ///
9872    /// .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
9873    /// This parameter is supported since API version 16.
9874    pub const NODE_WATER_FLOW_CACHED_COUNT: ArkUI_NodeAttributeType =
9875        ArkUI_NodeAttributeType(1010007);
9876    /// Set the custom display component at the end of the waterfall flow component.
9877    ///
9878    /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
9879    ///
9880    /// .object: Parameter type [`ArkUI_NodeHandle`].
9881    pub const NODE_WATER_FLOW_FOOTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010008);
9882    /// Scroll to the specified index.
9883    ///
9884    /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
9885    /// lead to performance issues when loading a large number of items.
9886    ///
9887    ///
9888    ///
9889    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9890    ///
9891    /// .value[0].i32: The index value of the target element to be slid to in the current container.
9892    ///
9893    /// .value[1].i32: Set whether there is an action when sliding to the index value of a list item in the list, where
9894    /// 1 indicates an action and 0 indicates no action. This parameter is optional, default value is 0.
9895    ///
9896    /// .value[2].i32: Specify the alignment of the sliding element with the current container, The parameter type is
9897    /// [`ArkUI_ScrollAlignment`]. This parameter is optional, default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>.
9898    ///
9899    /// .value[3].f32: Extra offset after scrolling to a specified index, in vp. This parameter is optional, the default
9900    /// value is <b>0</b>.
9901    /// If value[3] is positive, it will offset further towards the bottom.
9902    /// If value[3] is negative, it will offset further towards the top.
9903    /// This parameter is supported since API version 23.
9904    pub const NODE_WATER_FLOW_SCROLL_TO_INDEX: ArkUI_NodeAttributeType =
9905        ArkUI_NodeAttributeType(1010009);
9906    /// Defines the size constraints to apply to water flow items.
9907    /// This attribute can be set, reset, and obtained as required through APIs.
9908    ///
9909    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9910    ///
9911    /// .value[0].f32: minimum width, in vp.
9912    ///
9913    /// .value[1].f32: maximum width, in vp.
9914    ///
9915    /// .value[2].f32: minimum height, in vp.
9916    ///
9917    /// .value[3].f32: maximum height, in vp.
9918    ///
9919    ///
9920    ///
9921    /// Format of the return value [`ArkUI_AttributeItem`]:
9922    ///
9923    /// .value[0].f32: minimum width, in vp.
9924    ///
9925    /// .value[1].f32: maximum width, in vp.
9926    ///
9927    /// .value[2].f32: minimum height, in vp.
9928    ///
9929    /// .value[3].f32: maximum height, in vp.
9930    pub const NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE: ArkUI_NodeAttributeType =
9931        ArkUI_NodeAttributeType(1010010);
9932    /// Defines the layout mode of the <b><WaterFlow></b> component.
9933    /// This attribute can be set, reset, and obtained as required through APIs.
9934    ///
9935    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9936    ///
9937    /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
9938    ///
9939    ///
9940    /// Format of the return value [`ArkUI_AttributeItem`]:
9941    ///
9942    /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
9943    ///
9944    /// Available since API-level: 18
9945    #[cfg(feature = "api-18")]
9946    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
9947    pub const NODE_WATER_FLOW_LAYOUT_MODE: ArkUI_NodeAttributeType =
9948        ArkUI_NodeAttributeType(1010011);
9949    /// Defines whether the <b>WaterFlow</b> component loads child nodes synchronously.
9950    /// This attribute can be set, reset, and obtained as required through APIs.
9951    ///
9952    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9953    ///
9954    /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
9955    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
9956    ///
9957    ///
9958    ///
9959    /// Format of the return value [`ArkUI_AttributeItem`]:
9960    ///
9961    /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
9962    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
9963    ///
9964    ///
9965    ///
9966    /// Available since API-level: 20
9967    #[cfg(feature = "api-20")]
9968    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9969    pub const NODE_WATER_FLOW_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010012);
9970    /// Specifies the responsive column layout policy for the <b>WaterFlow</b> component.
9971    /// This attribute can be set, reset, and obtained as required through APIs.
9972    ///
9973    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9974    ///
9975    /// .value[0].i32: number of columns at different breakpoint specifications.
9976    /// The data type is [`ArkUI_ItemFillPolicy`].
9977    ///
9978    ///
9979    ///
9980    /// Format of the return value [`ArkUI_AttributeItem`]:
9981    ///
9982    /// .value[0].i32: number of columns at different breakpoint specifications.
9983    /// The data type is [`ArkUI_ItemFillPolicy`].
9984    ///
9985    ///
9986    ///
9987    /// Available since API-level: 22
9988    #[cfg(feature = "api-22")]
9989    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
9990    pub const NODE_WATER_FLOW_COLUMN_TEMPLATE_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
9991        ArkUI_NodeAttributeType(1010013);
9992    /// Set the auxiliary line in the RelativeContaine container, supporting property setting,
9993    /// property reset and property acquisition interfaces.
9994    ///
9995    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
9996    ///
9997    /// .object: Auxiliary lines within the RelativeContaine container:
9998    ///
9999    ///
10000    ///
10001    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
10002    ///
10003    /// .object: Auxiliary lines within the RelativeContaine container:
10004    pub const NODE_RELATIVE_CONTAINER_GUIDE_LINE: ArkUI_NodeAttributeType =
10005        ArkUI_NodeAttributeType(1012000);
10006    /// Sets the barrier within the RelativeContaine container and supports property setting,
10007    /// property reset and property acquisition interfaces.
10008    ///
10009    /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
10010    ///
10011    /// .object: Auxiliary lines within the RelativeContaine container:
10012    ///
10013    ///
10014    ///
10015    /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
10016    ///
10017    /// .object: Barrier within the RelativeContaine container:
10018    pub const NODE_RELATIVE_CONTAINER_BARRIER: ArkUI_NodeAttributeType =
10019        ArkUI_NodeAttributeType(1012001);
10020    /// Sets the number of columns in the grid layout. If this parameter is not set, one column is used
10021    /// by default. This attribute can be set, reset, and obtained as required through APIs.
10022    /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
10023    /// component's full width, the second column 1/4, and the third column 2/4.
10024    /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
10025    /// columns based on the specified column width <b>track-size</b>.
10026    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
10027    /// or a valid number.
10028    ///
10029    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10030    ///
10031    /// .string: number of columns in the layout.
10032    ///
10033    ///
10034    ///
10035    /// Format of the return value [`ArkUI_AttributeItem`]:
10036    ///
10037    /// .string: number of columns in the layout.
10038    pub const NODE_GRID_COLUMN_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013000);
10039    /// Sets the number of rows in the grid layout. If this parameter is not set, one row is used
10040    /// by default. This attribute can be set, reset, and obtained as required through APIs.
10041    /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
10042    /// component's full height, the second row 1/4, and the third row 2/4.
10043    /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
10044    /// based on the specified row height <b>track-size</b>.
10045    /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
10046    /// or a valid number.
10047    ///
10048    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10049    ///
10050    /// .string: number of rows in the layout.
10051    ///
10052    ///
10053    ///
10054    /// Format of the return value [`ArkUI_AttributeItem`]:
10055    ///
10056    /// .string: number of rows in the layout.
10057    pub const NODE_GRID_ROW_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013001);
10058    /// Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
10059    ///
10060    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10061    ///
10062    /// .value[0].f32: gap between columns, in vp.
10063    ///
10064    ///
10065    ///
10066    /// Format of the return value [`ArkUI_AttributeItem`]:
10067    ///
10068    /// .value[0].f32: gap between columns, in vp.
10069    pub const NODE_GRID_COLUMN_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013002);
10070    /// Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
10071    ///
10072    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10073    ///
10074    /// .value[0].f32: gap between lines, in vp.
10075    ///
10076    ///
10077    ///
10078    /// Format of the return value [`ArkUI_AttributeItem`]:
10079    ///
10080    /// .value[0].f32: gap between lines, in vp.
10081    pub const NODE_GRID_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013003);
10082    /// Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs.
10083    ///
10084    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10085    ///
10086    /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
10087    pub const NODE_GRID_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013004);
10088    /// Sets the number of cached items in the grid adapter.
10089    /// This attribute can be set, reset, and obtained as required through APIs.
10090    ///
10091    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10092    ///
10093    /// .value[0].i32: number of cached items in the grid adapter.
10094    pub const NODE_GRID_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013005);
10095    /// Defines the focus wrap mode for the <b>Grid</b> component.
10096    /// This attribute can be set, reset, and obtained as required through APIs.
10097    ///
10098    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10099    ///
10100    /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
10101    /// The parameter type is [`ArkUI_FocusWrapMode`].
10102    ///
10103    ///
10104    ///
10105    /// Format of the return value [`ArkUI_AttributeItem`]:
10106    ///
10107    /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
10108    /// The parameter type is [`ArkUI_FocusWrapMode`].
10109    ///
10110    ///
10111    ///
10112    /// Available since API-level: 20
10113    #[cfg(feature = "api-20")]
10114    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10115    pub const NODE_GRID_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013006);
10116    /// Defines whether the <b>Grid</b> component loads child nodes synchronously.
10117    /// This attribute can be set, reset, and obtained as required through APIs.
10118    ///
10119    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10120    ///
10121    /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
10122    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
10123    ///
10124    ///
10125    ///
10126    /// Format of the return value [`ArkUI_AttributeItem`]:
10127    ///
10128    /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
10129    /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
10130    ///
10131    ///
10132    ///
10133    /// Available since API-level: 20
10134    #[cfg(feature = "api-20")]
10135    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10136    pub const NODE_GRID_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013007);
10137    /// Specifies the alignment of <b>GridItem</b> components in the parent <b>Grid</b> container.
10138    /// This attribute can be set, reset, and obtained as required through APIs.
10139    ///
10140    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10141    ///
10142    /// .value[0].i32: alignment of <b>GridItem</b> components in the parent <b>Grid</b> container,
10143    ///
10144    /// specified using the [`ArkUI_GridItemAlignment`] enum.
10145    ///
10146    /// The default value is <b>GRID_ITEM_ALIGNMENT_DEFAULT</b>.
10147    ///
10148    ///
10149    ///
10150    /// Format of the return value [`ArkUI_AttributeItem`]:
10151    ///
10152    /// .value[0].i32: alignment of <b>GridItem</b> components in the parent <b>Grid</b> container,
10153    ///
10154    /// specified using the [`ArkUI_GridItemAlignment`] enum.
10155    ///
10156    ///
10157    ///
10158    /// Available since API-level: 22
10159    #[cfg(feature = "api-22")]
10160    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10161    pub const NODE_GRID_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013008);
10162    /// Specifies the layout options of the <b>Grid</b> component.
10163    /// This attribute can be set, reset, and obtained as required through APIs.
10164    ///
10165    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10166    ///
10167    /// .object: layout options, with the parameter format of [`ArkUI_GridLayoutOptions`].
10168    ///
10169    ///
10170    ///
10171    /// Format of the return value [`ArkUI_AttributeItem`]:
10172    ///
10173    /// .object: current [`ArkUI_GridLayoutOptions`] object.
10174    ///
10175    ///
10176    ///
10177    /// Available since API-level: 22
10178    #[cfg(feature = "api-22")]
10179    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10180    pub const NODE_GRID_LAYOUT_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013009);
10181    /// Specifies the responsive column layout policy for the <b>Grid</b> component.
10182    /// This attribute can be set, reset, and obtained as required through APIs.
10183    ///
10184    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10185    ///
10186    /// .value[0].i32: number of columns at different breakpoint specifications.
10187    /// The data type is [`ArkUI_ItemFillPolicy`].
10188    ///
10189    ///
10190    ///
10191    /// Format of the return value [`ArkUI_AttributeItem`]:
10192    ///
10193    /// .value[0].i32: number of columns at different breakpoint specifications.
10194    /// The data type is [`ArkUI_ItemFillPolicy`].
10195    ///
10196    ///
10197    ///
10198    /// Available since API-level: 22
10199    #[cfg(feature = "api-22")]
10200    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10201    pub const NODE_GRID_COLUMN_TEMPLATE_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
10202        ArkUI_NodeAttributeType(1013010);
10203    /// Specifies whether to enable edit mode for the <b>Grid</b> component.
10204    /// In edit mode, <b>GridItem</b> components can be dragged through the <b>NODE_GRID_ON_ITEM_DRAG_START</b> event.
10205    /// This attribute can be set, reset, and obtained as required through APIs.
10206    ///
10207    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10208    ///
10209    /// .value[0].i32: whether to enable edit mode for the <b>Grid</b> component.
10210    /// </b>: Disable edit mode. <b>1</b>: Enable edit mode. Default value: <b>0</b>.
10211    ///
10212    ///
10213    ///
10214    /// Format of the return value [`ArkUI_AttributeItem`]:
10215    ///
10216    /// .value[0].i32: whether to enable edit mode for the <b>Grid</b> component.
10217    /// <b>0</b>: Disable edit mode. <b>1</b>: Enable edit mode.
10218    ///
10219    ///
10220    ///
10221    /// Available since API-level: 23
10222    #[cfg(feature = "api-23")]
10223    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10224    pub const NODE_GRID_EDIT_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013011);
10225    /// Specifies whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b>
10226    /// container. This attribute can be set, reset, and obtained as required through APIs.
10227    /// Animations are supported only in scrolling mode (when either <b>NODE_GRID_ROW_TEMPLATE</b> or
10228    /// <b>NODE_GRID_COLUMN_TEMPLATE</b> is set, but not both). Drag animations are only supported in regularly sized
10229    /// grid layouts; scenarios involving spanning across rows or columns are not supported.
10230    ///
10231    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10232    ///
10233    /// .value[0].i32: whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b> container.
10234    /// <b>0</b>: Disable the drag animation. <b>1</b>: Enable the drag animation. Default value: <b>0</b>.
10235    ///
10236    ///
10237    ///
10238    /// Format of the return value [`ArkUI_AttributeItem`]:
10239    ///
10240    /// .value[0].i32: whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b> container.
10241    /// <b>0</b>: Disable the drag animation. <b>1</b>: Enable the drag animation.
10242    ///
10243    ///
10244    ///
10245    /// Available since API-level: 23
10246    #[cfg(feature = "api-23")]
10247    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10248    pub const NODE_GRID_DRAG_ANIMATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013012);
10249    /// Specifies whether to enable mouse-based multi-selection in the <b>Grid</b> container. This attribute can
10250    /// be set, reset, and obtained as required through APIs. When enabled, mouse-based multi-selection within the
10251    /// <b>Grid</b> area triggers the <b>NODE_GRID_ITEM_EVENT_ON_SELECT</b> event on <b>GridItem</b> components.
10252    ///
10253    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10254    ///
10255    /// .value[0].i32: whether to enable mouse-based multi-selection.
10256    /// <b>0</b>: Disable mouse-based multi-selection. <b>1</b>: Enable mouse-based multi-selection. Default value:
10257    /// <b>0</b>.
10258    ///
10259    /// Format of the return value [`ArkUI_AttributeItem`]:
10260    /// .value[0].i32: whether to enable
10261    /// mouse-based multi-selection. <b>0</b>: Disable mouse-based multi-selection. <b>1</b>: Enable mouse-based
10262    /// multi-selection.
10263    ///
10264    ///
10265    ///
10266    /// Available since API-level: 23
10267    #[cfg(feature = "api-23")]
10268    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10269    pub const NODE_GRID_MULTI_SELECTABLE: ArkUI_NodeAttributeType =
10270        ArkUI_NodeAttributeType(1013013);
10271    /// Scroll to the specified index.
10272    ///
10273    /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
10274    /// lead to performance issues when loading a large number of items.
10275    ///
10276    ///
10277    ///
10278    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10279    ///
10280    /// .value[0].i32: The index value of the target element to be slid to in the current container.
10281    ///
10282    /// .value[1].i32: Set whether there is an animation when sliding to the target element, where
10283    /// 1 indicates an animation and 0 indicates no animation. This parameter is optional. default value is 0.
10284    ///
10285    /// .value[2].i32: Specify the alignment of the target element with the current container. The parameter type is
10286    /// [`ArkUI_ScrollAlignment`]. This parameter is optional, default value is </b>ARKUI_SCROLL_ALIGNMENT_AUTO</b>.
10287    ///
10288    /// .value[3].f32: Extra offset after scrolling to a specified index, in vp. This parameter is optional, the default
10289    /// value is <b>0</b>.
10290    /// If value[3] is positive, it will offset further towards the bottom.
10291    /// If value[3] is negative, it will offset further towards the top.
10292    ///
10293    ///
10294    ///
10295    /// Available since API-level: 23
10296    #[cfg(feature = "api-23")]
10297    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10298    pub const NODE_GRID_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013014);
10299    /// Specifies whether to support empty branch rendering in lazy loading mode for the <b>Grid</b> container.
10300    /// This attribute can be set, reset, and obtained as required through APIs. When enabled in lazy loading mode,
10301    /// empty branches (items without content) in the <b>Grid</b> will be rendered and set to width 0 and height 0,
10302    /// which may affect the overall layout and scrolling behavior. This is typically used in scenarios where the
10303    /// data source may have gaps or when maintaining specific layout positions is required.
10304    ///
10305    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10306    ///
10307    /// .value[0].i32: whether to support empty branch rendering in lazy loading mode.
10308    /// <b>0</b>: Disable empty branch support. Empty branches will not be rendered. <b>1</b>: Enable empty branch support.
10309    /// Empty branches will be rendered as placeholder items. Default value: <b>0</b>.
10310    ///
10311    ///
10312    ///
10313    /// Format of the return value [`ArkUI_AttributeItem`]:
10314    ///
10315    /// .value[0].i32: whether empty branch rendering is enabled. <b>0</b>: Disabled. <b>1</b>: Enabled.
10316    ///
10317    ///
10318    ///
10319    /// Available since API-level: 23
10320    #[cfg(feature = "api-23")]
10321    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10322    pub const NODE_GRID_SUPPORT_EMPTY_BRANCH_IN_LAZY_LOADING: ArkUI_NodeAttributeType =
10323        ArkUI_NodeAttributeType(1013015);
10324    /// Sets the style of the <b>GridItem</b> component.
10325    /// This attribute can be set, reset, and obtained as required through APIs.
10326    ///
10327    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10328    ///
10329    /// .value[0].i32: style of the <b>GridItem</b> component, specified using [`ArkUI_SliderStyle`].
10330    ///
10331    /// The default value is <b>GRID_ITEM_STYLE_NONE</b>.
10332    ///
10333    ///
10334    ///
10335    /// Format of the return value [`ArkUI_AttributeItem`]:
10336    ///
10337    /// .value[0].i32: style of the <b>GridItem</b> component, specified using [`ArkUI_SliderStyle`].
10338    ///
10339    ///
10340    ///
10341    /// Available since API-level: 22
10342    #[cfg(feature = "api-22")]
10343    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10344    pub const NODE_GRID_ITEM_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014000);
10345    /// Specifies whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10346    /// This attribute can be set, reset, and obtained as required through APIs.
10347    ///
10348    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10349    ///
10350    /// .value[0].i32: whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10351    /// <b>0</b>: not selectable. <b>1</b>: selectable. Default value: <b>1</b>.
10352    ///
10353    ///
10354    ///
10355    /// Format of the return value [`ArkUI_AttributeItem`]:
10356    ///
10357    /// .value[0].i32: whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10358    /// <b>0</b>: not selectable. <b>1</b>: selectable.
10359    ///
10360    ///
10361    ///
10362    /// Available since API-level: 23
10363    #[cfg(feature = "api-23")]
10364    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10365    pub const NODE_GRID_ITEM_SELECTABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014001);
10366    /// Sets the selected state of the <b>GridItem</b> component.
10367    /// This attribute can be set, reset, and obtained as required through APIs.
10368    ///
10369    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10370    ///
10371    /// .value[0].i32: selected state of the <b>GridItem</b> component.
10372    /// <b>0</b>: not selected. <b>1</b>: selected. Default value: <b>0</b>.
10373    ///
10374    ///
10375    ///
10376    /// Format of the return value [`ArkUI_AttributeItem`]:
10377    ///
10378    /// .value[0].i32: selected state of the <b>GridItem</b> component. <b>0</b>: not selected. <b>1</b>: selected.
10379    ///
10380    ///
10381    ///
10382    /// Available since API-level: 23
10383    #[cfg(feature = "api-23")]
10384    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10385    pub const NODE_GRID_ITEM_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014002);
10386    /// Defines the column width of the text picker.
10387    /// This attribute can be set, reset, and obtained as required through APIs.
10388    ///
10389    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10390    ///
10391    /// .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.
10392    ///
10393    /// .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10394    ///
10395    /// .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10396    ///
10397    /// ...
10398    ///
10399    /// .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10400    ///
10401    ///
10402    ///
10403    /// Format of the return value [`ArkUI_AttributeItem`]:
10404    ///
10405    /// value[0].f32: percentage of total width.
10406    ///
10407    /// value[1].f32: percentage of total width.
10408    ///
10409    /// value[2].f32: percentage of total width.
10410    ///
10411    /// ...
10412    ///
10413    /// value[n].f32: percentage of total width.
10414    ///
10415    ///
10416    ///
10417    /// Available since API-level: 18
10418    #[cfg(feature = "api-18")]
10419    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10420    pub const NODE_TEXT_PICKER_COLUMN_WIDTHS: ArkUI_NodeAttributeType =
10421        ArkUI_NodeAttributeType(15009);
10422    /// Defines the disabled date range of the calendar picker.
10423    /// This attribute can be set, reset, and obtained as required through APIs.
10424    ///
10425    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10426    ///
10427    /// .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`,
10428    /// ...,`nth start date`,`nth end date` of the disabled date range.
10429    ///
10430    /// Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31
10431    ///
10432    ///
10433    ///
10434    /// Format of the return value [`ArkUI_AttributeItem`]:
10435    ///
10436    /// .string: A string of dates.
10437    ///
10438    ///
10439    ///
10440    /// Available since API-level: 19
10441    #[cfg(feature = "api-19")]
10442    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
10443    pub const NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE: ArkUI_NodeAttributeType =
10444        ArkUI_NodeAttributeType(16006);
10445    /// Defines whether the calendar picker marks today.
10446    /// This attribute can be set, reset, and obtained as required through APIs.
10447    ///
10448    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10449    ///
10450    /// value[0].i32: whether the calendar picker marks today. The default value is <b>false</b>.
10451    ///
10452    ///
10453    ///
10454    /// Format of the return value [`ArkUI_AttributeItem`]:
10455    ///
10456    /// value[0].i32: whether the calendar picker marks today.
10457    ///
10458    ///
10459    ///
10460    /// Available since API-level: 19
10461    #[cfg(feature = "api-19")]
10462    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
10463    pub const NODE_CALENDAR_PICKER_MARK_TODAY: ArkUI_NodeAttributeType =
10464        ArkUI_NodeAttributeType(16007);
10465    /// Defines the want used to start EmbeddedAbility.
10466    /// This attribute can be set as required through APIs.
10467    ///
10468    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10469    ///
10470    /// .object: The want of EmbeddedComponent, with parameter type [`AbilityBase_Want`].
10471    /// The default value is <b>nullptr</b>.
10472    ///
10473    ///
10474    ///
10475    /// Available since API-level: 20
10476    #[cfg(feature = "api-20")]
10477    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10478    pub const NODE_EMBEDDED_COMPONENT_WANT: ArkUI_NodeAttributeType =
10479        ArkUI_NodeAttributeType(1016000);
10480    /// Set onError and onTerminated callbacks for EMBEDDED_COMPONENT.
10481    /// This attribute can be set as required through APIs.
10482    ///
10483    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10484    ///
10485    /// .object: The option for EmbeddedComponent, with parameter type [`ArkUI_EmbeddedComponentOption`].
10486    ///
10487    ///
10488    ///
10489    /// Available since API-level: 20
10490    #[cfg(feature = "api-20")]
10491    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10492    pub const NODE_EMBEDDED_COMPONENT_OPTION: ArkUI_NodeAttributeType =
10493        ArkUI_NodeAttributeType(1016001);
10494    /// Defines the index of the default selected item in the data selection range of the picker.
10495    /// This attribute can be set, reset, and obtained as required through APIs.
10496    ///
10497    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10498    ///
10499    /// .value[0].u32: index.
10500    ///
10501    ///
10502    ///
10503    /// Format of the return value [`ArkUI_AttributeItem`]:
10504    ///
10505    /// .value[0].u32: index.
10506    ///
10507    ///
10508    ///
10509    /// Available since API-level: 23
10510    #[cfg(feature = "api-23")]
10511    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10512    pub const NODE_PICKER_OPTION_SELECTED_INDEX: ArkUI_NodeAttributeType =
10513        ArkUI_NodeAttributeType(1018000);
10514    /// Defines whether haptic feedback.
10515    /// This attribute can be set, reset, and obtained as required through APIs.
10516    ///
10517    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10518    ///
10519    /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
10520    /// <b>false</b> means the opposite.
10521    ///
10522    ///
10523    ///
10524    /// Format of the return value [`ArkUI_AttributeItem`]:
10525    ///
10526    /// value[0].i32: whether to feedback.
10527    ///
10528    ///
10529    ///
10530    /// Available since API-level: 23
10531    #[cfg(feature = "api-23")]
10532    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10533    pub const NODE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
10534        ArkUI_NodeAttributeType(1018001);
10535    /// Defines whether to support scroll looping for the picker.
10536    /// This attribute can be set, reset, and obtained as required through APIs.
10537    ///
10538    /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10539    ///
10540    /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
10541    /// <b>false</b> means the opposite.
10542    ///
10543    ///
10544    ///
10545    /// Format of the return value [`ArkUI_AttributeItem`]:
10546    ///
10547    /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
10548    ///
10549    ///
10550    ///
10551    /// Available since API-level: 23
10552    #[cfg(feature = "api-23")]
10553    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10554    pub const NODE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018002);
10555    /// Sets the type and parameters of the selection indicator.
10556    /// This attribute can be set, reset, and obtained as required through APIs.
10557    ///
10558    /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
10559    ///
10560    /// .object: Parameter type [`ArkUI_PickerIndicatorStyle`].
10561    ///
10562    ///
10563    /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
10564    ///
10565    /// .object: Parameter type [`ArkUI_PickerIndicatorStyle`].
10566    ///
10567    ///
10568    /// Available since API-level: 23
10569    #[cfg(feature = "api-23")]
10570    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10571    pub const NODE_PICKER_SELECTION_INDICATOR: ArkUI_NodeAttributeType =
10572        ArkUI_NodeAttributeType(1018003);
10573}
10574#[repr(transparent)]
10575/// Defines the ArkUI style attributes that can be set on the native side.
10576///
10577///
10578/// Available since API-level: 12
10579#[cfg(feature = "api-12")]
10580#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10581#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10582pub struct ArkUI_NodeAttributeType(pub ::core::ffi::c_uint);
10583/// Defines the parameter type of the component callback event.
10584///
10585///
10586/// Available since API-level: 12
10587#[cfg(feature = "api-12")]
10588#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10589#[repr(C)]
10590pub struct ArkUI_NodeComponentEvent {
10591    /// Data array object.
10592    pub data: [ArkUI_NumberValue; 12usize],
10593}
10594/// Defines the string type parameter used by the component callback event.
10595///
10596///
10597/// Available since API-level: 12
10598#[cfg(feature = "api-12")]
10599#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10600#[repr(C)]
10601#[derive(Debug, Copy, Clone)]
10602pub struct ArkUI_StringAsyncEvent {
10603    /// String.
10604    pub pStr: *const ::core::ffi::c_char,
10605}
10606/// Defines a hybrid data structure for component events.
10607///
10608///
10609/// Available since API-level: 15
10610#[cfg(feature = "api-15")]
10611#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10612#[repr(C)]
10613#[derive(Debug, Copy, Clone)]
10614pub struct ArkUI_TextChangeEvent {
10615    /// String data
10616    pub pStr: *const ::core::ffi::c_char,
10617    /// Extended string data
10618    pub pExtendStr: *const ::core::ffi::c_char,
10619    /// Numeric data
10620    pub number: i32,
10621}
10622#[cfg(feature = "api-12")]
10623#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10624impl ArkUI_NodeEventType {
10625    /// Defines the gesture event type.
10626    ///
10627    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is [`ArkUI_UIInputEvent`].
10628    pub const NODE_TOUCH_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(0);
10629    /// Defines the mount event.
10630    ///
10631    /// This event is triggered when the component is mounted and displayed.
10632    ///
10633    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10634    /// [`ArkUI_NodeComponentEvent`].
10635    ///
10636    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10637    pub const NODE_EVENT_ON_APPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(1);
10638    /// Defines the unmount event.
10639    ///
10640    /// This event is triggered when the component is unmounted and hidden.
10641    ///
10642    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10643    /// [`ArkUI_NodeComponentEvent`].
10644    ///
10645    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10646    pub const NODE_EVENT_ON_DISAPPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(2);
10647    /// Defines the area change event.
10648    ///
10649    /// This event is triggered when the component's size, position, or any other attribute that may
10650    /// affect its display area 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 12 parameters:
10656    ///
10657    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp.
10658    /// The value type is number.
10659    ///
10660    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp.
10661    /// The value type is number.
10662    ///
10663    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner
10664    /// relative to the parent element's, in vp. The value type is number.
10665    ///
10666    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner
10667    /// relative to the parent element's, in vp. The value type is number.
10668    ///
10669    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner
10670    /// relative to the page's, in vp. The value type is number.
10671    ///
10672    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner
10673    /// relative to the page's, in vp. The value type is number.
10674    ///
10675    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number.
10676    ///
10677    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number.
10678    ///
10679    /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative
10680    /// to the parent element's, in vp. The value type is number.
10681    ///
10682    /// <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative
10683    /// to the parent element's, in vp. The value type is number.
10684    ///
10685    /// <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative
10686    /// to the page's, in vp. The value type is number.
10687    ///
10688    /// <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative
10689    /// to the page's, in vp. The value type is number.
10690    pub const NODE_EVENT_ON_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(3);
10691    /// Defines the focus event.
10692    ///
10693    /// This event is triggered when the component obtains the focus.
10694    ///
10695    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10696    /// [`ArkUI_NodeComponentEvent`].
10697    ///
10698    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10699    pub const NODE_ON_FOCUS: ArkUI_NodeEventType = ArkUI_NodeEventType(4);
10700    /// Defines the blur event.
10701    ///
10702    /// This event is triggered when the component loses the focus.
10703    ///
10704    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10705    /// [`ArkUI_NodeComponentEvent`].
10706    ///
10707    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10708    pub const NODE_ON_BLUR: ArkUI_NodeEventType = ArkUI_NodeEventType(5);
10709    /// Defines the click event.
10710    ///
10711    /// This event is triggered when the component is clicked.
10712    ///
10713    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10714    /// [`ArkUI_NodeComponentEvent`].
10715    ///
10716    /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
10717    ///
10718    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the
10719    /// clicked component's original area, in vp.
10720    ///
10721    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the
10722    /// clicked component's original area, in vp.
10723    ///
10724    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event
10725    /// is triggered and the time when the system starts, in microseconds.
10726    ///
10727    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse,
10728    /// <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key.
10729    ///
10730    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the
10731    /// application window, in vp.
10732    ///
10733    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the
10734    /// application window, in vp.
10735    ///
10736    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the
10737    /// application screen, in vp.
10738    ///
10739    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the
10740    /// application screen, in vp.
10741    pub const NODE_ON_CLICK: ArkUI_NodeEventType = ArkUI_NodeEventType(6);
10742    /// Defines event interception.
10743    ///
10744    /// This event is triggered when the component is touched.
10745    ///
10746    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10747    /// [`ArkUI_UIInputEvent`].
10748    pub const NODE_ON_TOUCH_INTERCEPT: ArkUI_NodeEventType = ArkUI_NodeEventType(7);
10749    /// Defines the visible area change event.
10750    ///
10751    /// This event is triggered when the ratio of the component's visible area to its total area is greater than or less
10752    /// than the threshold.
10753    /// Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>.
10754    ///
10755    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10756    /// [`ArkUI_NodeComponentEvent`].
10757    ///
10758    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10759    ///
10760    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
10761    /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a
10762    /// decrease.
10763    ///
10764    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this
10765    /// callback is invoked.
10766    pub const NODE_EVENT_ON_VISIBLE_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8);
10767    /// Defines the event triggered when the mouse pointer is moved over or away from the component.
10768    ///
10769    ///
10770    ///
10771    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10772    /// [`ArkUI_NodeComponentEvent`].
10773    ///
10774    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10775    ///
10776    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component.
10777    /// The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that
10778    /// the mouse pointer is moved away from the component.
10779    pub const NODE_ON_HOVER: ArkUI_NodeEventType = ArkUI_NodeEventType(9);
10780    /// Defines the click event.
10781    ///
10782    /// This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves
10783    /// within the component.
10784    ///
10785    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10786    /// [`ArkUI_UIInputEvent`].
10787    pub const NODE_ON_MOUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(10);
10788    /// Defines the attach event.
10789    ///
10790    /// This event is triggered when the component is attached.
10791    ///
10792    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10793    /// [`ArkUI_NodeComponentEvent`].
10794    ///
10795    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10796    pub const NODE_EVENT_ON_ATTACH: ArkUI_NodeEventType = ArkUI_NodeEventType(11);
10797    /// Defines the detach event.
10798    ///
10799    /// This event is triggered when the component is detached.
10800    ///
10801    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10802    /// [`ArkUI_NodeComponentEvent`].
10803    ///
10804    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10805    pub const NODE_EVENT_ON_DETACH: ArkUI_NodeEventType = ArkUI_NodeEventType(12);
10806    /// Defines the accessibility action event.
10807    ///
10808    /// This event is triggered when The accessibility operation type has been set and
10809    /// corresponding operations have been carried out.
10810    ///
10811    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10812    /// [`ArkUI_NodeComponentEvent`].
10813    ///
10814    /// [`ArkUI_NodeComponentEvent`] contains one parameters:
10815    ///
10816    /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is
10817    /// [`ArkUI_AccessibilityActionType`]
10818    pub const NODE_ON_ACCESSIBILITY_ACTIONS: ArkUI_NodeEventType = ArkUI_NodeEventType(13);
10819    /// Notifies the listener of the interaction state prior to a drop and drop operation.
10820    ///
10821    /// This event is triggered when a drag operation is about to start on a draggable item.
10822    ///
10823    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10824    /// [`ArkUI_NodeComponentEvent`].
10825    ///
10826    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10827    ///
10828    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to [`ArkUI_PreDragStatus`].
10829    pub const NODE_ON_PRE_DRAG: ArkUI_NodeEventType = ArkUI_NodeEventType(14);
10830    /// Called when the user starts to drag an ite
10831    ///
10832    /// A drag operation is recognized only when the dragged item is moved far enough.
10833    ///
10834    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10835    /// [`ArkUI_NodeEvent`] object.
10836    pub const NODE_ON_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(15);
10837    /// Called when a dragged item enters the boundaries of the current component.
10838    ///
10839    /// The current component refers to the component that listens for this event.
10840    ///
10841    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10842    /// [`ArkUI_NodeEvent`] object.
10843    pub const NODE_ON_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(16);
10844    /// Called when a dragged item moves in the current component.
10845    ///
10846    /// The current component refers to the component that listens for this event.
10847    ///
10848    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10849    /// [`ArkUI_NodeEvent`] object.
10850    pub const NODE_ON_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(17);
10851    /// Called when a dragged item leaves the boundaries of the current component.
10852    ///
10853    /// The current component refers to the component that listens for this event.
10854    ///
10855    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10856    /// [`ArkUI_NodeEvent`] object.
10857    pub const NODE_ON_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(18);
10858    /// Called when a dragged item is dropped on the current component.
10859    /// The component can obtain the drag data for processing through the callback.
10860    ///
10861    /// The current component refers to the component that listens for this event.
10862    ///
10863    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10864    /// [`ArkUI_NodeEvent`] object.
10865    pub const NODE_ON_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(19);
10866    /// Called when a drag operation ends.
10867    /// The drag source can obtain the drag result by registering this callback.
10868    ///
10869    /// A drag operation ends when the dragged item is released.
10870    /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10871    /// [`ArkUI_NodeEvent`] object.
10872    pub const NODE_ON_DRAG_END: ArkUI_NodeEventType = ArkUI_NodeEventType(20);
10873    /// Defines the event triggered when a key event occurs.
10874    ///
10875    /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
10876    /// device.
10877    ///
10878    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10879    /// [`ArkUI_NodeComponentEvent`].
10880    ///
10881    ///
10882    ///
10883    /// Available since API-level: 14
10884    #[cfg(feature = "api-14")]
10885    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
10886    pub const NODE_ON_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(21);
10887    /// Defines the event triggered before the input method responds to the key action.
10888    ///
10889    /// If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
10890    /// subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
10891    /// and no longer triggered.
10892    /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
10893    /// device.
10894    ///
10895    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10896    /// [`ArkUI_NodeComponentEvent`].
10897    ///
10898    ///
10899    ///
10900    /// Available since API-level: 14
10901    #[cfg(feature = "api-14")]
10902    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
10903    pub const NODE_ON_KEY_PRE_IME: ArkUI_NodeEventType = ArkUI_NodeEventType(22);
10904    /// Defines the event triggered when the bound component receives a focus axis event after gaining focus.
10905    ///
10906    /// The event callback is triggered by interactions with a joystick and a focused component.
10907    ///
10908    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10909    /// [`ArkUI_UIInputEvent`].
10910    ///
10911    ///
10912    ///
10913    /// Available since API-level: 15
10914    #[cfg(feature = "api-15")]
10915    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10916    pub const NODE_ON_FOCUS_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(23);
10917    /// Dispatch key event on the component node.
10918    ///
10919    /// When the component node receives a key event, this callback will be triggered instead of dispatching event to its
10920    /// children.
10921    ///
10922    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10923    /// [`ArkUI_NodeComponentEvent`].
10924    ///
10925    ///
10926    ///
10927    /// Available since API-level: 15
10928    #[cfg(feature = "api-15")]
10929    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10930    pub const NODE_DISPATCH_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(24);
10931    /// Defines the event triggered when the bound component receives an axis event.
10932    ///
10933    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10934    /// [`ArkUI_UIInputEvent`].
10935    ///
10936    ///
10937    ///
10938    /// Available since API-level: 17
10939    #[cfg(feature = "api-17")]
10940    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10941    pub const NODE_ON_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(25);
10942    /// Defines the event triggered when the bound component is clicked.
10943    ///
10944    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10945    /// [`ArkUI_UIInputEvent`].
10946    ///
10947    ///
10948    ///
10949    /// Available since API-level: 18
10950    #[cfg(feature = "api-18")]
10951    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10952    pub const NODE_ON_CLICK_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(26);
10953    /// Defines the event triggered when the mouse pointer hovers over or moves away from a component.
10954    ///
10955    /// This event is triggered when the mouse pointer enters or leaves the component's bounding box.
10956    ///
10957    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10958    /// [`ArkUI_UIInputEvent`].
10959    ///
10960    ///
10961    ///
10962    /// Available since API-level: 17
10963    #[cfg(feature = "api-17")]
10964    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10965    pub const NODE_ON_HOVER_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(27);
10966    /// Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval.
10967    ///
10968    /// The callback is triggered when the ratio of the component's visible area to its total area is greater than or
10969    /// less than the threshold. Before registering the callback, you must configure the threshold and update interval
10970    /// using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>.
10971    ///
10972    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10973    /// [`ArkUI_NodeComponentEvent`].
10974    ///
10975    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10976    ///
10977    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
10978    /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates
10979    /// a decrease.
10980    ///
10981    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area
10982    /// when this callback is invoked.
10983    ///
10984    ///
10985    ///
10986    /// Available since API-level: 17
10987    #[cfg(feature = "api-17")]
10988    #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10989    pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT: ArkUI_NodeEventType =
10990        ArkUI_NodeEventType(28);
10991    /// Defines the hover event.
10992    ///
10993    /// The event is triggered when the pointer is hovered by a pen device.
10994    /// within the component.
10995    ///
10996    /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
10997    /// [`ArkUI_UIInputEvent`] object.
10998    ///
10999    ///
11000    /// Available since API-level: 15
11001    #[cfg(feature = "api-15")]
11002    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11003    pub const NODE_ON_HOVER_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(29);
11004    /// Defines the size change event.
11005    ///
11006    /// The event will be triggered when the component size changes.
11007    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11008    /// [`ArkUI_NodeComponentEvent`].
11009    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11010    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: the width of the old rectangle.
11011    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: the height of the old rectangle.
11012    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the width of the new rectangle.
11013    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: the height of the new rectangle.
11014    ///
11015    /// Available since API-level: 21
11016    #[cfg(feature = "api-21")]
11017    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
11018    pub const NODE_ON_SIZE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(30);
11019    /// Defines the coasting axis event.
11020    ///
11021    /// The event is triggered when user swipes with two fingers on the touchpad, the system constructs
11022    /// sliding events based on the speed at the moment the fingers are lifted, according to a certain
11023    /// decay curve. You can listen for such events to handle the flick effect immediately after the
11024    /// regular axis events.
11025    ///
11026    /// When the event callback occurs, the [`ArkUI_UIInputEvent`] object can be obtained from the
11027    /// [`ArkUI_NodeEvent`] object through [`OH_ArkUI_NodeEvent_GetInputEvent`].
11028    /// And the [`ArkUI_CoastingAxisEvent`] object can be obtained from the [`ArkUI_UIInputEvent`]
11029    /// object through [`OH_ArkUI_UIInputEvent_GetCoastingAxisEvent`].
11030    ///
11031    ///
11032    ///
11033    /// Available since API-level: 22
11034    #[cfg(feature = "api-22")]
11035    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
11036    pub const NODE_ON_COASTING_AXIS_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(31);
11037    /// Defines the pre-touch test of sub component in touch events. Called to specify how to perform the touch test on the children of this component.
11038    ///
11039    /// The event is triggered when the component is touched.
11040    ///
11041    /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
11042    /// [`ArkUI_TouchTestInfo`] object.
11043    ///
11044    ///
11045    /// Available since API-level: 22
11046    #[cfg(feature = "api-22")]
11047    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
11048    pub const NODE_ON_CHILD_TOUCH_TEST: ArkUI_NodeEventType = ArkUI_NodeEventType(32);
11049    /// Triggers onDetectResultUpdate callback
11050    /// when the text is set to TextDataDetectorConfig and recognized successfully.
11051    ///
11052    /// Trigger this event when TextDataDetectorConfig is set and recognized successfully.
11053    ///
11054    /// When the event callback occurs, the event parameter[`ArkUI_NodeEvent`]The union type in the object is
11055    /// [`ArkUI_StringAsyncEvent`].
11056    ///
11057    /// [`ArkUI_StringAsyncEvent`]contains 1 parameter
11058    ///
11059    /// <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.
11060    pub const NODE_TEXT_ON_DETECT_RESULT_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1000);
11061    /// Defines the long press event for span.
11062    ///
11063    /// The event is triggered when the span is long pressed.
11064    /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
11065    /// [`ArkUI_UIInputEvent`] object.
11066    ///
11067    ///
11068    /// Available since API-level: 20
11069    #[cfg(feature = "api-20")]
11070    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11071    pub const NODE_TEXT_SPAN_ON_LONG_PRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(1001);
11072    /// Defines the image loading success event.
11073    ///
11074    /// This event is triggered when an image is successfully loaded or decoded.
11075    ///
11076    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11077    /// [`ArkUI_NodeComponentEvent`].
11078    ///
11079    /// [`ArkUI_NodeComponentEvent`] contains nine parameters:
11080    ///
11081    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is
11082    /// loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully.
11083    ///
11084    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px.
11085    ///
11086    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px.
11087    ///
11088    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px.
11089    ///
11090    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px.
11091    ///
11092    /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the
11093    /// x-axis, in px.
11094    ///
11095    /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the
11096    /// y-axis, in px.
11097    ///
11098    /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px.
11099    ///
11100    /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px.
11101    pub const NODE_IMAGE_ON_COMPLETE: ArkUI_NodeEventType = ArkUI_NodeEventType(4000);
11102    /// Defines the image loading failure event.
11103    ///
11104    /// This event is triggered when an error occurs during image loading.
11105    ///
11106    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11107    /// [`ArkUI_NodeComponentEvent`].
11108    ///
11109    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11110    ///
11111    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:
11112    ///
11113    /// 401: The image could not be obtained because the image path is invalid.
11114    ///
11115    /// 103101: The image format is not supported.
11116    pub const NODE_IMAGE_ON_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(4001);
11117    /// Defines the SVG animation playback completion event.
11118    ///
11119    /// This event is triggered when the animation playback in the loaded SVG image is complete.
11120    ///
11121    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11122    /// [`ArkUI_NodeComponentEvent`].
11123    ///
11124    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
11125    pub const NODE_IMAGE_ON_SVG_PLAY_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(4002);
11126    /// Defines image download process event.
11127    ///
11128    /// This event is triggered when downloading webpage images from page components.
11129    ///
11130    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11131    /// [`ArkUI_NodeComponentEvent`].
11132    ///
11133    /// [`ArkUI_NodeComponentEvent`] contains two parameter:
11134    ///
11135    /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded.
11136    ///
11137    /// <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download.
11138    pub const NODE_IMAGE_ON_DOWNLOAD_PROGRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(4003);
11139    /// Defines the event triggered when the toggle status changes.
11140    ///
11141    ///
11142    ///
11143    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11144    /// [`ArkUI_NodeComponentEvent`].
11145    ///
11146    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11147    ///
11148    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off.
11149    pub const NODE_TOGGLE_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(5000);
11150    /// Defines the event triggered when the text input content changes.
11151    ///
11152    ///
11153    ///
11154    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11155    /// [`ArkUI_StringAsyncEvent`].
11156    ///
11157    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11158    ///
11159    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text input.
11160    pub const NODE_TEXT_INPUT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7000);
11161    /// Defines the event triggered when the Enter key of the text input method is pressed.
11162    ///
11163    ///
11164    ///
11165    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11166    /// [`ArkUI_NodeComponentEvent`].
11167    ///
11168    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11169    ///
11170    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method.
11171    pub const NODE_TEXT_INPUT_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(7001);
11172    /// Defines the event triggered when the cut button on the pasteboard, which displays when the text box
11173    /// is long pressed, is clicked.
11174    ///
11175    ///
11176    ///
11177    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11178    /// [`ArkUI_StringAsyncEvent`].
11179    ///
11180    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11181    ///
11182    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut.
11183    pub const NODE_TEXT_INPUT_ON_CUT: ArkUI_NodeEventType = ArkUI_NodeEventType(7002);
11184    /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box
11185    /// is long pressed, is clicked.
11186    ///
11187    ///
11188    ///
11189    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11190    /// [`ArkUI_StringAsyncEvent`].
11191    ///
11192    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11193    ///
11194    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
11195    pub const NODE_TEXT_INPUT_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(7003);
11196    /// Defines the event triggered when the text selection position changes.
11197    ///
11198    ///
11199    ///
11200    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11201    /// [`ArkUI_NodeComponentEvent`].
11202    ///
11203    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11204    ///
11205    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
11206    ///
11207    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
11208    pub const NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
11209        ArkUI_NodeEventType(7004);
11210    /// Defines the event triggered when the input status changes.
11211    ///
11212    ///
11213    ///
11214    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11215    /// [`ArkUI_NodeComponentEvent`].
11216    ///
11217    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11218    ///
11219    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
11220    pub const NODE_TEXT_INPUT_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7005);
11221    /// textInput This event is triggered when the input content changes.
11222    ///
11223    /// Conditions for triggering this event: When the input content changes.
11224    ///
11225    /// When the event callback occurs, the union type in the event parameter
11226    /// [`ArkUI_NodeEvent`] object is [`ArkUI_NodeComponentEvent`].
11227    ///
11228    /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
11229    ///
11230    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
11231    ///
11232    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
11233    pub const NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
11234        ArkUI_NodeEventType(7006);
11235    /// Defines the event triggered when matching with the regular expression specified by
11236    /// <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails.
11237    ///
11238    ///
11239    ///
11240    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11241    /// [`ArkUI_StringAsyncEvent`].
11242    ///
11243    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11244    ///
11245    /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
11246    pub const NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType =
11247        ArkUI_NodeEventType(7007);
11248    /// This callback is triggered when the text content is scrolled.
11249    ///
11250    ///
11251    ///
11252    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11253    /// [`ArkUI_NodeComponentEvent`].
11254    ///
11255    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11256    ///
11257    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
11258    ///
11259    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
11260    ///
11261    /// the text in the content area.
11262    pub const NODE_TEXT_INPUT_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(7008);
11263    /// Defines the event triggered when text is about to be entered.
11264    ///
11265    /// The event parameter is [`ArkUI_NodeEvent`].
11266    ///
11267    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11268    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11269    ///
11270    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11271    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11272    ///
11273    /// # Returns
11274    ///
11275    /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
11276    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11277    pub const NODE_TEXT_INPUT_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7009);
11278    /// Defines the event triggered when text is entered.
11279    ///
11280    /// The event parameter is [`ArkUI_NodeEvent`].
11281    ///
11282    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11283    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11284    ///
11285    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11286    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11287    pub const NODE_TEXT_INPUT_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7010);
11288    /// Defines the event triggered when text is about to be deleted.
11289    ///
11290    /// The event parameter is [`ArkUI_NodeEvent`].
11291    ///
11292    /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
11293    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11294    ///
11295    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11296    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11297    /// forward-delete.
11298    ///
11299    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11300    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11301    ///
11302    /// # Returns
11303    ///
11304    /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
11305    ///
11306    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11307    pub const NODE_TEXT_INPUT_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7011);
11308    /// Defines the event triggered when text is deleted.
11309    ///
11310    /// The event parameter is [`ArkUI_NodeEvent`].
11311    ///
11312    /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
11313    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11314    ///
11315    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11316    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11317    /// forward-delete.
11318    ///
11319    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11320    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11321    pub const NODE_TEXT_INPUT_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7012);
11322    /// Defines the event triggered when content (including preview text) changes in the <b>TextInput</b>
11323    /// component.
11324    ///
11325    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11326    ///
11327    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11328    ///
11329    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
11330    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
11331    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
11332    ///
11333    ///
11334    /// Available since API-level: 15
11335    #[cfg(feature = "api-15")]
11336    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11337    pub const NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
11338        ArkUI_NodeEventType(7013);
11339    /// Defines the event triggered before content changes
11340    ///
11341    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11342    ///
11343    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11344    ///
11345    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
11346    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
11347    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
11348    ///
11349    ///
11350    /// Available since API-level: 20
11351    #[cfg(feature = "api-20")]
11352    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11353    pub const NODE_TEXT_INPUT_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7014);
11354    /// Defines the event triggered when the input in the text box changes.
11355    ///
11356    ///
11357    ///
11358    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11359    /// [`ArkUI_StringAsyncEvent`].
11360    ///
11361    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11362    ///
11363    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text entered.
11364    pub const NODE_TEXT_AREA_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8000);
11365    /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box is
11366    /// long pressed, is clicked.
11367    ///
11368    ///
11369    ///
11370    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11371    /// [`ArkUI_StringAsyncEvent`].
11372    ///
11373    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11374    ///
11375    /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
11376    pub const NODE_TEXT_AREA_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(8001);
11377    /// Defines the event triggered when the text selection position changes.
11378    ///
11379    ///
11380    ///
11381    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11382    /// [`ArkUI_NodeComponentEvent`].
11383    ///
11384    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11385    ///
11386    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
11387    ///
11388    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
11389    pub const NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
11390        ArkUI_NodeEventType(8002);
11391    /// Defines the event triggered when matching with the regular expression specified by
11392    /// <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails.
11393    ///
11394    ///
11395    ///
11396    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11397    /// [`ArkUI_StringAsyncEvent`].
11398    ///
11399    /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11400    ///
11401    /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
11402    pub const NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(8003);
11403    /// This callback is triggered when the text content is scrolled.
11404    ///
11405    ///
11406    ///
11407    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11408    /// [`ArkUI_NodeComponentEvent`].
11409    ///
11410    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11411    ///
11412    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
11413    ///
11414    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
11415    ///
11416    /// the text in the content area.
11417    pub const NODE_TEXT_AREA_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(8004);
11418    /// Defines the event triggered when the input status changes.
11419    ///
11420    ///
11421    ///
11422    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11423    ///
11424    /// [`ArkUI_NodeComponentEvent`].
11425    ///
11426    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11427    ///
11428    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
11429    pub const NODE_TEXT_AREA_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8005);
11430    /// Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box.
11431    ///
11432    /// This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>.
11433    ///
11434    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11435    ///
11436    /// [`ArkUI_NodeComponentEvent`].
11437    ///
11438    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11439    ///
11440    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key.
11441    pub const NODE_TEXT_AREA_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(8006);
11442    /// textArea This event is triggered when the input content changes.
11443    ///
11444    /// Conditions for triggering this event: When the input content changes.
11445    ///
11446    /// When the event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11447    ///
11448    /// [`ArkUI_NodeComponentEvent`].
11449    ///
11450    /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
11451    ///
11452    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
11453    ///
11454    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
11455    pub const NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
11456        ArkUI_NodeEventType(8007);
11457    /// Defines the event triggered when text is about to be entered.
11458    ///
11459    /// The event parameter is [`ArkUI_NodeEvent`].
11460    ///
11461    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11462    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11463    ///
11464    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11465    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11466    ///
11467    /// # Returns
11468    ///
11469    /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
11470    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11471    pub const NODE_TEXT_AREA_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8008);
11472    /// Defines the event triggered when text is entered.
11473    ///
11474    /// The event parameter is [`ArkUI_NodeEvent`].
11475    ///
11476    /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11477    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11478    ///
11479    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11480    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11481    pub const NODE_TEXT_AREA_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8009);
11482    /// Defines the event triggered when text is about to be deleted.
11483    ///
11484    /// The event parameter is [`ArkUI_NodeEvent`].
11485    ///
11486    /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
11487    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11488    ///
11489    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11490    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11491    /// forward-delete.
11492    ///
11493    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11494    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11495    ///
11496    /// # Returns
11497    ///
11498    /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
11499    ///
11500    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11501    pub const NODE_TEXT_AREA_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8010);
11502    /// Defines the event triggered when text is deleted.
11503    ///
11504    /// The event parameter is [`ArkUI_NodeEvent`].
11505    ///
11506    /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
11507    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11508    ///
11509    /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11510    /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11511    /// forward-delete.
11512    ///
11513    /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11514    /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11515    pub const NODE_TEXT_AREA_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8011);
11516    /// Defines the event triggered when content (including preview text) changes in the <b>TextArea</b>
11517    /// component.
11518    ///
11519    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11520    ///
11521    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11522    ///
11523    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
11524    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
11525    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
11526    ///
11527    ///
11528    /// Available since API-level: 15
11529    #[cfg(feature = "api-15")]
11530    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11531    pub const NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
11532        ArkUI_NodeEventType(8012);
11533    /// Defines the event triggered before content changes.
11534    ///
11535    /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11536    ///
11537    /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11538    ///
11539    /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
11540    /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
11541    /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
11542    ///
11543    ///
11544    /// Available since API-level: 20
11545    #[cfg(feature = "api-20")]
11546    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11547    pub const NODE_TEXT_AREA_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8013);
11548    /// Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes.
11549    ///
11550    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11551    /// [`ArkUI_NodeComponentEvent`].
11552    ///
11553    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.
11554    pub const NODE_CHECKBOX_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(11000);
11555    /// Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component.
11556    ///
11557    ///
11558    ///
11559    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11560    /// [`ArkUI_NodeComponentEvent`].
11561    ///
11562    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11563    ///
11564    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date.
11565    ///
11566    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11].
11567    ///
11568    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date.
11569    pub const NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE: ArkUI_NodeEventType =
11570        ArkUI_NodeEventType(13000);
11571    /// Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component.
11572    ///
11573    ///
11574    ///
11575    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11576    /// [`ArkUI_NodeComponentEvent`].
11577    ///
11578    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11579    ///
11580    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23].
11581    ///
11582    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59].
11583    pub const NODE_TIME_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(14000);
11584    /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component.
11585    ///
11586    ///
11587    ///
11588    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11589    /// [`ArkUI_NodeComponentEvent`].
11590    ///
11591    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11592    ///
11593    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
11594    pub const NODE_TEXT_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(15000);
11595    /// Defines the event triggered when an item is selected and scrolling has stopped in the
11596    /// <b>ARKUI_NODE_TEXT_PICKER</b> component.
11597    ///
11598    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11599    /// [`ArkUI_NodeComponentEvent`].
11600    ///
11601    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11602    ///
11603    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
11604    ///
11605    ///
11606    ///
11607    /// Available since API-level: 14
11608    #[cfg(feature = "api-14")]
11609    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
11610    pub const NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType =
11611        ArkUI_NodeEventType(15001);
11612    /// Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>.
11613    ///
11614    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11615    /// [`ArkUI_NodeComponentEvent`].
11616    ///
11617    /// <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date.
11618    ///
11619    /// <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date.
11620    ///
11621    /// <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date.
11622    pub const NODE_CALENDAR_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType =
11623        ArkUI_NodeEventType(16000);
11624    /// Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked.
11625    ///
11626    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11627    /// [`ArkUI_NodeComponentEvent`].
11628    ///
11629    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11630    ///
11631    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value.
11632    ///
11633    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.
11634    pub const NODE_SLIDER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(17000);
11635    /// Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO.
11636    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11637    ///
11638    /// [`ArkUI_NodeComponentEvent`].
11639    ///
11640    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11641    ///
11642    /// ArkUI_NodeComponentEvent.data[0].i32: option button status.
11643    pub const NODE_RADIO_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(18000);
11644    /// Defines the event callback function triggered when the animation starts to play.
11645    ///
11646    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11647    ///
11648    /// [`ArkUI_NodeComponentEvent`].
11649    ///
11650    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11651    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_START: ArkUI_NodeEventType = ArkUI_NodeEventType(19000);
11652    /// Defines the event callback function triggered when the animation playback is paused.
11653    ///
11654    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11655    ///
11656    /// [`ArkUI_NodeComponentEvent`].
11657    ///
11658    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11659    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(19001);
11660    /// Defines the event callback function triggered when the animation playback is repeated.
11661    ///
11662    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11663    ///
11664    /// [`ArkUI_NodeComponentEvent`].
11665    ///
11666    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11667    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT: ArkUI_NodeEventType = ArkUI_NodeEventType(19002);
11668    /// Defines the event callback function when the animation playback returns to the initial state.
11669    ///
11670    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11671    ///
11672    /// [`ArkUI_NodeComponentEvent`].
11673    ///
11674    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11675    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL: ArkUI_NodeEventType = ArkUI_NodeEventType(19003);
11676    /// Defines the event callback function triggered when the animation playback is complete or stopped.
11677    ///
11678    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11679    ///
11680    /// [`ArkUI_NodeComponentEvent`].
11681    ///
11682    /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11683    pub const NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(19004);
11684    /// Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b>
11685    /// or checkbox changes.
11686    ///
11687    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11688    /// [`ArkUI_StringAsyncEvent`].
11689    ///
11690    /// <b>ArkUI_StringAsyncEvent.pStr</b>
11691    /// Name: The names of the selected checkboxes;
11692    /// Status:
11693    /// 0: All checkboxes are selected.
11694    /// 1: Some checkboxes are selected.
11695    /// 2: No checkboxes are selected.
11696    ///
11697    ///
11698    ///
11699    /// Available since API-level: 15
11700    #[cfg(feature = "api-15")]
11701    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11702    pub const NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(21000);
11703    /// Defines the event triggered when the index of the currently displayed element of this
11704    /// <b>ARKUI_NODE_SWIPER</b> instance changes.
11705    ///
11706    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11707    /// [`ArkUI_NodeComponentEvent`].
11708    ///
11709    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11710    ///
11711    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11712    pub const NODE_SWIPER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1001000);
11713    /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts.
11714    ///
11715    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11716    /// [`ArkUI_NodeComponentEvent`].
11717    ///
11718    /// [`ArkUI_NodeComponentEvent`] contains five parameters:
11719    ///
11720    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11721    ///
11722    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to.
11723    ///
11724    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the
11725    /// start position of the swiper along the main axis.
11726    ///
11727    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position
11728    /// of the swiper along the main axis.
11729    ///
11730    /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity.
11731    pub const NODE_SWIPER_EVENT_ON_ANIMATION_START: ArkUI_NodeEventType =
11732        ArkUI_NodeEventType(1001001);
11733    /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends.
11734    ///
11735    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11736    /// [`ArkUI_NodeComponentEvent`].
11737    ///
11738    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11739    ///
11740    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11741    ///
11742    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
11743    /// start position of the swiper along the main axis.
11744    pub const NODE_SWIPER_EVENT_ON_ANIMATION_END: ArkUI_NodeEventType =
11745        ArkUI_NodeEventType(1001002);
11746    /// Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this
11747    /// <b>ARKUI_NODE_SWIPER</b> instance.
11748    ///
11749    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11750    /// [`ArkUI_NodeComponentEvent`].
11751    ///
11752    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11753    ///
11754    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11755    ///
11756    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
11757    /// start position of the swiper along the main axis.
11758    pub const NODE_SWIPER_EVENT_ON_GESTURE_SWIPE: ArkUI_NodeEventType =
11759        ArkUI_NodeEventType(1001003);
11760    /// Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events.
11761    /// Instruction:
11762    ///
11763    /// 1. If the [`ArkUI_SwiperDisplayModeType`] attribute is set to
11764    ///
11765    /// ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect.
11766    ///
11767    /// 2, circular scenario, set prevMargin and nextMargin attributes,
11768    ///
11769    /// so that Swiper front and back end display the same page, the interface does not take effect.
11770    ///
11771    /// 3. During page sliding, the ContentDidScrollCallback callback is
11772    ///
11773    /// triggered frame-by-frame for all pages in the window.
11774    ///
11775    /// For example, when there are two pages in the window with subscripts 0 and 1,
11776    ///
11777    /// callbacks with index values 0 and 1 are triggered twice per frame.
11778    ///
11779    /// 4, set the swipeByGroup parameter of the displayCount property to
11780    ///
11781    /// true if at least one page in the same group is in the window,
11782    ///
11783    /// A callback is triggered for all pages in the group.
11784    ///
11785    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11786    /// [`ArkUI_NodeComponentEvent`].
11787    ///
11788    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11789    ///
11790    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component,
11791    ///
11792    /// which is consistent with the index change in the onChange event.
11793    ///
11794    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window.
11795    ///
11796    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to
11797    ///
11798    /// the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page).
11799    ///
11800    /// <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction.
11801    pub const NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL: ArkUI_NodeEventType =
11802        ArkUI_NodeEventType(1001004);
11803    /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
11804    ///
11805    /// This event is triggered under the following scenarios:
11806    ///
11807    /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
11808    /// the threshold for page turning.
11809    ///
11810    /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
11811    /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
11812    ///
11813    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11814    /// [`ArkUI_NodeComponentEvent`].
11815    ///
11816    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11817    ///
11818    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element.
11819    ///
11820    ///
11821    ///
11822    /// Available since API-level: 18
11823    #[cfg(feature = "api-18")]
11824    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
11825    pub const NODE_SWIPER_EVENT_ON_SELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001005);
11826    /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
11827    ///
11828    /// This event is triggered under the following scenarios:
11829    ///
11830    /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
11831    /// the threshold for page turning.
11832    ///
11833    /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
11834    /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
11835    ///
11836    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11837    /// [`ArkUI_NodeComponentEvent`].
11838    ///
11839    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11840    ///
11841    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected.
11842    ///
11843    ///
11844    ///
11845    /// Available since API-level: 18
11846    #[cfg(feature = "api-18")]
11847    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
11848    pub const NODE_SWIPER_EVENT_ON_UNSELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001006);
11849    /// Defines the event triggered when content in the swiper component will scroll.
11850    /// Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked.
11851    ///
11852    ///
11853    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11854    /// [`ArkUI_NodeComponentEvent`].
11855    ///
11856    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11857    ///
11858    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page.
11859    ///
11860    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display.
11861    ///
11862    /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame.
11863    /// Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating
11864    /// slide forward(e.g. from index=0 to index=1).
11865    ///
11866    ///
11867    ///
11868    /// Available since API-level: 15
11869    #[cfg(feature = "api-15")]
11870    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11871    pub const NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL: ArkUI_NodeEventType =
11872        ArkUI_NodeEventType(1001007);
11873    /// Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event.
11874    /// This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging,
11875    /// during the animation phase after the user lifts their finger, or upon stopping of scrolling.
11876    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11877    /// [`ArkUI_NodeComponentEvent`].
11878    ///
11879    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11880    ///
11881    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is
11882    /// [`ArkUI_ScrollState`].
11883    ///
11884    ///
11885    ///
11886    /// Available since API-level: 20
11887    #[cfg(feature = "api-20")]
11888    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11889    pub const NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED: ArkUI_NodeEventType =
11890        ArkUI_NodeEventType(1001008);
11891    /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls.
11892    ///
11893    /// Notes for triggering the event:
11894    ///
11895    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
11896    /// settings, such as keyboard and mouse operations.
11897    ///
11898    /// 2. Scrolling can be initiated by calling the controller API.
11899    ///
11900    /// 3. The out-of-bounds bounce effect is supported.
11901    ///
11902    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11903    /// [`ArkUI_NodeComponentEvent`].
11904    ///
11905    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11906    ///
11907    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset.
11908    ///
11909    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset.
11910    pub const NODE_SCROLL_EVENT_ON_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002000);
11911    /// Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
11912    ///
11913    /// Notes for triggering the event:
11914    ///
11915    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
11916    /// settings, such as keyboard and mouse operations.
11917    ///
11918    /// 2. This event is not triggered when the controller API is called.
11919    ///
11920    /// 3. This event does not support the out-of-bounds bounce effect.
11921    ///
11922    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11923    /// [`ArkUI_NodeComponentEvent`].
11924    ///
11925    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11926    ///
11927    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by.
11928    ///
11929    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state.
11930    ///
11931    /// <b>::ArkUI_NodeComponentEvent</b> contains one return value:
11932    ///
11933    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component
11934    /// needs to scroll based on the real-world situation and return the result in this parameter.
11935    pub const NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN: ArkUI_NodeEventType =
11936        ArkUI_NodeEventType(1002001);
11937    /// Define the enumeration value of the pre sliding trigger event for the scrolling container component.
11938    ///
11939    /// The conditions that trigger this event:
11940    ///
11941    /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
11942    /// operations that trigger scrolling.
11943    ///
11944    /// 2. Called through the rolling controller API interface.
11945    ///
11946    /// 3. Cross boundary rebound.
11947    ///
11948    /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11949    /// [`ArkUI_NodeComponentEvent`].
11950    ///
11951    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11952    ///
11953    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
11954    /// the left and negative when scrolling to the right, measured in vp.
11955    ///
11956    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
11957    /// scrolling up and a negative offset when scrolling down, measured in vp.
11958    ///
11959    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
11960    ///
11961    /// parameter type is [`ArkUI_ScrollState`].
11962    ///
11963    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source,
11964    ///
11965    /// parameter type is [`ArkUI_ScrollSource`].
11966    ///
11967    ///
11968    /// # Returns
11969    ///
11970    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
11971    pub const NODE_SCROLL_EVENT_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002002);
11972    /// Define the event enumeration value triggered when sliding a scrolling container component.
11973    ///
11974    /// The conditions that trigger this event:
11975    ///
11976    /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
11977    /// operations that trigger scrolling.
11978    ///
11979    /// 2. Called through the rolling controller API interface.
11980    ///
11981    /// 3. Cross boundary rebound.
11982    ///
11983    /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11984    /// [`ArkUI_NodeComponentEvent`].
11985    ///
11986    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11987    ///
11988    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
11989    /// the left and negative when scrolling to the right, measured in vp.
11990    ///
11991    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
11992    /// scrolling up and a negative offset when scrolling down, measured in vp.
11993    ///
11994    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
11995    ///
11996    /// parameter type is [`ArkUI_ScrollState`].
11997    pub const NODE_SCROLL_EVENT_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002003);
11998    /// Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
11999    ///
12000    /// Notes for triggering the event:
12001    ///
12002    /// 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard
12003    /// and mouse operations.
12004    ///
12005    /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
12006    ///
12007    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12008    /// [`ArkUI_NodeComponentEvent`].
12009    ///
12010    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12011    pub const NODE_SCROLL_EVENT_ON_SCROLL_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002004);
12012    /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops.
12013    ///
12014    /// Notes for triggering the event:
12015    ///
12016    /// 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input
12017    /// settings, such as keyboard and mouse operations.
12018    ///
12019    /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
12020    ///
12021    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12022    /// [`ArkUI_NodeComponentEvent`].
12023    ///
12024    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12025    pub const NODE_SCROLL_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002005);
12026    /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches
12027    /// one of the edges.
12028    ///
12029    /// Notes for triggering the event:
12030    ///
12031    /// 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b>
12032    /// component or other input settings, such as keyboard and mouse operations.
12033    ///
12034    /// 2. Scrolling can be initiated by calling the controller API.
12035    ///
12036    /// 3. The out-of-bounds bounce effect is supported.
12037    ///
12038    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12039    /// [`ArkUI_NodeComponentEvent`].
12040    ///
12041    /// [`ArkUI_NodeComponentEvent`] contains one parameter.
12042    ///
12043    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches.
12044    pub const NODE_SCROLL_EVENT_ON_SCROLL_EDGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1002006);
12045    /// Define that a callback is triggered when the scrolling container component reaches the start position.
12046    /// Condition for triggering the event:
12047    ///
12048    /// Triggered when the component reaches the start position.
12049    ///
12050    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12051    /// [`ArkUI_NodeComponentEvent`].
12052    ///
12053    /// [`ArkUI_NodeComponentEvent`] contains no parameters.
12054    pub const NODE_SCROLL_EVENT_ON_REACH_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002007);
12055    /// Define that a callback is triggered when the scrolling container component ends.
12056    ///
12057    /// Condition for triggering the event:
12058    ///
12059    /// Triggered when the component reaches the end.
12060    ///
12061    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12062    /// [`ArkUI_NodeComponentEvent`].
12063    ///
12064    /// [`ArkUI_NodeComponentEvent`] contains no parameters.
12065    pub const NODE_SCROLL_EVENT_ON_REACH_END: ArkUI_NodeEventType = ArkUI_NodeEventType(1002008);
12066    /// Defines the callback for when the user is about to release the drag on the scrollable container component.
12067    ///
12068    /// This event is triggered when the user is about to release the drag on the scrollable container component.
12069    ///
12070    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12071    /// [`ArkUI_NodeComponentEvent`].
12072    ///
12073    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12074    ///
12075    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp.
12076    ///
12077    ///
12078    ///
12079    /// Available since API-level: 20
12080    #[cfg(feature = "api-20")]
12081    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12082    pub const NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING: ArkUI_NodeEventType =
12083        ArkUI_NodeEventType(1002009);
12084    /// Defines the callback for the <b>Scroll</b> component's zoom event,
12085    /// triggered at the end of each frame during zooming.
12086    ///
12087    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12088    /// is [`ArkUI_NodeComponentEvent`].
12089    ///
12090    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12091    ///
12092    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale.
12093    ///
12094    ///
12095    ///
12096    /// Available since API-level: 20
12097    #[cfg(feature = "api-20")]
12098    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12099    pub const NODE_SCROLL_EVENT_ON_DID_ZOOM: ArkUI_NodeEventType = ArkUI_NodeEventType(1002010);
12100    /// Defines the callback for the <b>Scroll</b> component's zoom start event,
12101    /// triggered when zooming begins.
12102    ///
12103    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12104    /// is [`ArkUI_NodeComponentEvent`].
12105    ///
12106    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12107    ///
12108    ///
12109    ///
12110    /// Available since API-level: 20
12111    #[cfg(feature = "api-20")]
12112    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12113    pub const NODE_SCROLL_EVENT_ON_ZOOM_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002011);
12114    /// Defines the callback for the <b>Scroll</b> component's zoom end event,
12115    /// triggered when zooming ends.
12116    ///
12117    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12118    /// is [`ArkUI_NodeComponentEvent`].
12119    ///
12120    /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12121    ///
12122    ///
12123    ///
12124    /// Available since API-level: 20
12125    #[cfg(feature = "api-20")]
12126    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12127    pub const NODE_SCROLL_EVENT_ON_ZOOM_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002012);
12128    /// Defines the callback for when the scrollable will start dragging.
12129    ///
12130    /// This event is triggered when the scrollable will start dragging.
12131    ///
12132    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12133    /// [`ArkUI_NodeComponentEvent`].
12134    ///
12135    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12136    ///
12137    ///
12138    /// Available since API-level: 21
12139    #[cfg(feature = "api-21")]
12140    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12141    pub const NODE_SCROLL_EVENT_ON_WILL_START_DRAGGING: ArkUI_NodeEventType =
12142        ArkUI_NodeEventType(1002013);
12143    /// Defines the callback for when the scrollable did end dragging.
12144    ///
12145    /// This event is triggered when the scrollable did end dragging.
12146    ///
12147    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12148    /// [`ArkUI_NodeComponentEvent`].
12149    ///
12150    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12151    ///
12152    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether start fling animation.
12153    ///
12154    ///
12155    ///
12156    /// Available since API-level: 21
12157    #[cfg(feature = "api-21")]
12158    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12159    pub const NODE_SCROLL_EVENT_ON_DID_STOP_DRAGGING: ArkUI_NodeEventType =
12160        ArkUI_NodeEventType(1002014);
12161    /// Defines the callback for when the scrollable will start fling.
12162    ///
12163    /// This event is triggered when the scrollable will start fling.
12164    ///
12165    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12166    /// [`ArkUI_NodeComponentEvent`].
12167    ///
12168    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12169    ///
12170    ///
12171    /// Available since API-level: 21
12172    #[cfg(feature = "api-21")]
12173    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12174    pub const NODE_SCROLL_EVENT_ON_WILL_START_FLING: ArkUI_NodeEventType =
12175        ArkUI_NodeEventType(1002015);
12176    /// Defines the callback for when the scrollable did end fling.
12177    ///
12178    /// This event is triggered when the scrollable did end fling.
12179    ///
12180    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12181    /// [`ArkUI_NodeComponentEvent`].
12182    ///
12183    /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12184    ///
12185    ///
12186    /// Available since API-level: 21
12187    #[cfg(feature = "api-21")]
12188    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12189    pub const NODE_SCROLL_EVENT_ON_DID_STOP_FLING: ArkUI_NodeEventType =
12190        ArkUI_NodeEventType(1002016);
12191    /// Defines the enumerated values of the event triggered,
12192    ///
12193    /// when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area.
12194    ///
12195    /// Condition for triggering the event:
12196    ///
12197    /// This method is triggered once during list initialization.
12198    ///
12199    /// It is triggered when the index value of the first or last subcomponent in the list display area changes.
12200    ///
12201    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12202    /// [`ArkUI_NodeComponentEvent`].
12203    ///
12204    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12205    ///
12206    /// ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of
12207    ///
12208    /// the first child component in the region.
12209    ///
12210    /// ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of
12211    ///
12212    /// the last child component in the region.
12213    ///
12214    /// ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of
12215    ///
12216    /// the subcomponent in the middle of the area.
12217    pub const NODE_LIST_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1003000);
12218    /// Defines the enumerated values of the event triggered
12219    /// before the sliding of the ARKUI_NODE_LIST component.
12220    ///
12221    /// Condition for triggering the event:
12222    ///
12223    /// This event is triggered when the scrolling component triggers scrolling.
12224    ///
12225    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12226    ///
12227    /// Called through the scroll controller API.
12228    ///
12229    /// Out-of-bounds rebound.
12230    ///
12231    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12232    ///
12233    /// [`ArkUI_NodeComponentEvent`].
12234    ///
12235    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12236    ///
12237    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12238    ///
12239    /// The offset is positive when the list content is scrolled up and
12240    ///
12241    /// is negative when the list content is scrolled down.
12242    ///
12243    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12244    ///
12245    /// parameter type is [`ArkUI_ScrollState`].
12246    ///
12247    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
12248    ///
12249    /// parameter type is [`ArkUI_ScrollSource`].
12250    ///
12251    ///
12252    /// # Returns
12253    ///
12254    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
12255    pub const NODE_LIST_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003001);
12256    /// Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked.
12257    /// Condition for triggering the event:
12258    ///
12259    /// This event is triggered when the scrolling component triggers scrolling.
12260    ///
12261    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12262    ///
12263    /// Called through the scroll controller API.
12264    ///
12265    /// Out-of-bounds rebound.
12266    ///
12267    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12268    ///
12269    /// [`ArkUI_NodeComponentEvent`].
12270    ///
12271    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12272    ///
12273    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12274    ///
12275    /// The offset is positive when the list content is scrolled up and
12276    ///
12277    /// is negative when the list content is scrolled down.
12278    ///
12279    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12280    pub const NODE_LIST_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003002);
12281    /// Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes.
12282    ///
12283    /// Notes for triggering the event:
12284    ///
12285    /// This event is triggered once when the list is initialized and when the index of the first child component or the
12286    /// next child component in the list display area changes.
12287    /// During index calculation, the list item, header of the list item group, and footer of the list item group each
12288    /// are counted as a child component.
12289    ///
12290    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12291    /// [`ArkUI_NodeComponentEvent`].
12292    ///
12293    /// [`ArkUI_NodeComponentEvent`] contains six parameters:
12294    ///
12295    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area.
12296    ///
12297    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts.
12298    /// The type is [`ArkUI_ListItemGroupArea`].
12299    ///
12300    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area
12301    /// in the list item group.
12302    /// If the start of the list display area is not on a list item, the value is <b>-1</b>.
12303    ///
12304    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area.
12305    ///
12306    /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends.
12307    /// The type is [`ArkUI_ListItemGroupArea`].
12308    ///
12309    /// <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the
12310    /// list item group.
12311    /// If the end of the list display area is not on a list item, the value is <b>-1</b>.
12312    ///
12313    ///
12314    ///
12315    /// Available since API-level: 15
12316    #[cfg(feature = "api-15")]
12317    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12318    pub const NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE: ArkUI_NodeEventType =
12319        ArkUI_NodeEventType(1003003);
12320    /// Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes.
12321    ///
12322    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12323    /// [`ArkUI_NodeComponentEvent`].
12324    ///
12325    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12326    ///
12327    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state.
12328    pub const NODE_REFRESH_STATE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009000);
12329    /// Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state.
12330    ///
12331    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12332    /// [`ArkUI_NodeComponentEvent`].
12333    ///
12334    /// [`ArkUI_NodeComponentEvent`] does not contain parameters:
12335    pub const NODE_REFRESH_ON_REFRESH: ArkUI_NodeEventType = ArkUI_NodeEventType(1009001);
12336    /// Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes.
12337    ///
12338    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12339    /// [`ArkUI_NodeComponentEvent`].
12340    ///
12341    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12342    ///
12343    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance.
12344    pub const NODE_REFRESH_ON_OFFSET_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009002);
12345    /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll.
12346    ///
12347    /// Notes for triggering the event:
12348    ///
12349    /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other
12350    /// input settings, such as keyboard and mouse operations.
12351    ///
12352    /// 2. Scrolling can be initiated by calling the controller API.
12353    ///
12354    /// 3. The out-of-bounds bounce effect is supported.
12355    ///
12356    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12357    /// [`ArkUI_NodeComponentEvent`].
12358    ///
12359    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12360    ///
12361    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12362    ///
12363    /// The offset is positive when the list content is scrolled up and
12364    ///
12365    /// is negative when the list content is scrolled down.
12366    ///
12367    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12368    ///
12369    /// parameter type is [`ArkUI_ScrollState`].
12370    ///
12371    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
12372    ///
12373    /// parameter type is [`ArkUI_ScrollSource`].
12374    ///
12375    ///
12376    /// # Returns
12377    ///
12378    /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
12379    pub const NODE_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010000);
12380    /// Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides.
12381    /// Condition for triggering the event:
12382    ///
12383    /// This event is triggered when the scrolling component triggers scrolling.
12384    /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12385    ///
12386    /// Called through the scroll controller API.
12387    ///
12388    /// Out-of-bounds rebound.
12389    ///
12390    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12391    ///
12392    /// [`ArkUI_NodeComponentEvent`].
12393    ///
12394    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12395    ///
12396    /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12397    ///
12398    /// The offset is positive when the content is scrolled up and is negative when the content is scrolled down.
12399    ///
12400    /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12401    pub const NODE_WATER_FLOW_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010001);
12402    /// Defines the enumerated values of the event triggered,
12403    /// when the subcomponent of the start position or end position displayed in the current waterfall changes.
12404    /// Condition for triggering the event:
12405    ///
12406    /// This event is triggered when the index value of the
12407    ///
12408    /// first or last subcomponent in the waterfall display area changes.
12409    ///
12410    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12411    ///
12412    /// [`ArkUI_NodeComponentEvent`].
12413    ///
12414    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12415    ///
12416    /// ArkUI_NodeComponentEvent.data[0].i32: The index value of the
12417    ///
12418    /// start position of the currently displayed WaterFlow.
12419    ///
12420    /// ArkUI_NodeComponentEvent.data[1].i32: The index value of
12421    ///
12422    /// the end position of the currently displayed waterfall.
12423    pub const NODE_WATER_FLOW_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1010002);
12424    /// Defines the event triggered when a child component enters or leaves the grid display area.
12425    ///
12426    /// Notes for triggering the event:
12427    ///
12428    /// This event is triggered once when the grid is initialized and when the index of the first or
12429    ///
12430    /// last child component in the grid display area changes.
12431    ///
12432    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12433    ///
12434    /// [`ArkUI_NodeComponentEvent`].
12435    ///
12436    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12437    ///
12438    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the grid display area.
12439    ///
12440    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the grid display area.
12441    ///
12442    ///
12443    ///
12444    /// Available since API-level: 22
12445    #[cfg(feature = "api-22")]
12446    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12447    pub const NODE_GRID_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1013000);
12448    /// Defines the event triggered when the grid is about to scroll.
12449    ///
12450    /// Notes for triggering the event:
12451    ///
12452    /// 1. This event is triggered when scrolling is started by the scrollable component or other input settings,
12453    /// such as keyboard and mouse operations.
12454    ///
12455    /// 2. Scrolling can be initiated by calling the controller API.
12456    ///
12457    /// 3. The out-of-bounds bounce effect is supported.
12458    ///
12459    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12460    /// [`ArkUI_NodeComponentEvent`].
12461    ///
12462    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12463    ///
12464    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>:
12465    /// Scroll offset of each frame. A positive offset indicates content scrolling upward,
12466    ///
12467    /// and a negative offset indicates content scrolling downward.
12468    ///
12469    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. The parameter type is
12470    /// [`ArkUI_ScrollState`].
12471    ///
12472    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: scroll source. The parameter type is [`ArkUI_ScrollSource`].
12473    ///
12474    ///
12475    /// # Returns
12476    ///
12477    /// * Returns one or no number to indicate the actual amount by which the scroll component scrolls.
12478    ///
12479    ///
12480    /// Available since API-level: 22
12481    #[cfg(feature = "api-22")]
12482    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12483    pub const NODE_GRID_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1013001);
12484    /// Defines the event triggered when the grid scrolls.
12485    ///
12486    /// Notes for triggering the event:
12487    ///
12488    /// 1. This event is triggered when scrolling is started by the scrollable component or other input settings,
12489    /// such as keyboard and mouse operations.
12490    ///
12491    /// 2. Scrolling can be initiated by calling the controller API.
12492    ///
12493    /// 3. The out-of-bounds bounce effect is supported.
12494    ///
12495    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12496    /// [`ArkUI_NodeComponentEvent`].
12497    ///
12498    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12499    ///
12500    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>:
12501    /// Scroll offset of each frame. A positive offset indicates content scrolling upward,
12502    ///
12503    /// and a negative offset indicates content scrolling downward.
12504    ///
12505    /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state.
12506    ///
12507    ///
12508    ///
12509    /// Available since API-level: 22
12510    #[cfg(feature = "api-22")]
12511    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12512    pub const NODE_GRID_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1013002);
12513    /// Defines the event triggered at the end of each frame layout of the <b>ARKUI_NODE_GRID</b> component,
12514    /// which is used to set the position and length of the scrollbar.
12515    ///
12516    /// The event parameter is [`ArkUI_NodeEvent`].
12517    ///
12518    /// value.i32 at index 0:offset of the first visible grid item,
12519    /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12520    ///
12521    /// value.f32 at index 1: offset of the first visible item relative to the grid's display starting position, in vp,
12522    /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12523    ///
12524    ///
12525    /// # Returns
12526    ///
12527    /// * Information about the scrollbar position and length.
12528    ///
12529    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
12530    ///
12531    /// value.f32 at index 0: total offset of the grid content relative to the display area, in px.
12532    ///
12533    /// value.f32 at index 1: total length of the grid content, in px.
12534    ///
12535    ///
12536    ///
12537    /// Available since API-level: 22
12538    #[cfg(feature = "api-22")]
12539    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12540    pub const NODE_GRID_ON_SCROLL_BAR_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013003);
12541    /// Defines the <b>Grid</b> component's child drag start event.
12542    ///
12543    /// This event is triggered under the following scenarios:
12544    ///
12545    /// 1. <b>NODE_GRID_EDIT_MODE</b> is set to <b>1</b>.
12546    ///
12547    /// 2. The user long-presses and drags a <b>Grid</b> child component with sufficient displacement.
12548    ///
12549    /// The event parameter is [`ArkUI_NodeEvent`].
12550    ///
12551    /// value.f32 at index 0: x-coordinate of the current drag point relative to the <b>Grid</b> component, in vp,
12552    /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12553    ///
12554    /// value.f32 at index 1: y-coordinate of the current drag point relative to the <b>Grid</b> component, in vp,
12555    /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12556    ///
12557    /// value.i32 at index 2: index of the dragged child component in the <b>Grid</b> component,
12558    /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12559    ///
12560    ///
12561    ///
12562    /// # Returns
12563    ///
12564    /// * Whether the drag operation is allowed.
12565    ///
12566    /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
12567    ///
12568    /// value.i32 at index 0 in the return value indicates whether dragging is allowed.
12569    /// <b>0</b>: not allowed. <b>1</b>: allowed.
12570    ///
12571    ///
12572    ///
12573    /// Available since API-level: 23
12574    #[cfg(feature = "api-23")]
12575    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12576    pub const NODE_GRID_ON_ITEM_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1013004);
12577    /// Defines the event triggered when a dragged child component enters this <b>Grid</b> component's area.
12578    ///
12579    /// This event is triggered under the following scenarios:
12580    ///
12581    /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> enters the current <b>Grid</b>
12582    /// component's area.
12583    ///
12584    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12585    /// [`ArkUI_NodeComponentEvent`].
12586    ///
12587    /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12588    ///
12589    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12590    /// component, in vp.
12591    ///
12592    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12593    /// component, in vp.
12594    ///
12595    ///
12596    ///
12597    /// Available since API-level: 23
12598    #[cfg(feature = "api-23")]
12599    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12600    pub const NODE_GRID_ON_ITEM_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(1013005);
12601    /// Defines the event triggered when a dragged child component moves within this <b>Grid</b> component's area.
12602    ///
12603    /// This event is triggered under the following scenarios:
12604    ///
12605    /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> moves within the current
12606    /// <b>Grid</b> component's area.
12607    ///
12608    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12609    /// [`ArkUI_NodeComponentEvent`].
12610    ///
12611    /// [`ArkUI_NodeComponentEvent`] contains four parameters:
12612    ///
12613    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12614    /// component, in vp.
12615    ///
12616    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12617    /// component, in vp.
12618    ///
12619    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12620    /// component.
12621    ///
12622    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the dragged child component in the current <b>Grid</b>
12623    /// component.
12624    ///
12625    ///
12626    ///
12627    /// Available since API-level: 23
12628    #[cfg(feature = "api-23")]
12629    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12630    pub const NODE_GRID_ON_ITEM_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013006);
12631    /// Defines the event triggered when a dragged child component leaves this <b>Grid</b> component's area.
12632    ///
12633    /// This event is triggered under the following scenarios:
12634    ///
12635    /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> leaves the current <b>Grid</b>
12636    /// component's area.
12637    ///
12638    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12639    /// [`ArkUI_NodeComponentEvent`].
12640    ///
12641    /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12642    ///
12643    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12644    /// component, in vp.
12645    ///
12646    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12647    /// component, in vp.
12648    ///
12649    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12650    /// component.
12651    ///
12652    ///
12653    ///
12654    /// Available since API-level: 23
12655    #[cfg(feature = "api-23")]
12656    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12657    pub const NODE_GRID_ON_ITEM_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013007);
12658    /// Defines the event triggered when a dragged child component is released.
12659    ///
12660    /// This event is triggered under the following scenarios:
12661    ///
12662    /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> is released.
12663    ///
12664    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12665    /// [`ArkUI_NodeComponentEvent`].
12666    ///
12667    /// [`ArkUI_NodeComponentEvent`] contains five parameters:
12668    ///
12669    /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12670    /// component, in vp.
12671    ///
12672    /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12673    /// component, in vp.
12674    ///
12675    /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12676    /// component.
12677    ///
12678    /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the dragged child component in the current <b>Grid</b>
12679    /// component.
12680    ///
12681    /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: whether the dragged child component is successfully released.
12682    ///
12683    /// <b>1</b>: The component is released within the <b>Grid</b> component's area.
12684    /// <b>0</b>: The component is released outside the <b>Grid</b> component's area.
12685    ///
12686    ///
12687    ///
12688    /// Available since API-level: 23
12689    #[cfg(feature = "api-23")]
12690    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12691    pub const NODE_GRID_ON_ITEM_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(1013008);
12692    /// Defines the selected state change event of the <b>GridItem</b> component.
12693    ///
12694    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12695    /// [`ArkUI_NodeComponentEvent`].
12696    ///
12697    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12698    ///
12699    /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: selected state. <b>0</b>: not selected. <b>1</b>: selected.
12700    ///
12701    ///
12702    ///
12703    /// Available since API-level: 23
12704    #[cfg(feature = "api-23")]
12705    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12706    pub const NODE_GRID_ITEM_ON_SELECT: ArkUI_NodeEventType = ArkUI_NodeEventType(1014000);
12707    /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_PICKER</b> component.
12708    ///
12709    ///
12710    ///
12711    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12712    /// [`ArkUI_NodeComponentEvent`].
12713    ///
12714    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12715    ///
12716    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
12717    ///
12718    ///
12719    ///
12720    /// Available since API-level: 23
12721    #[cfg(feature = "api-23")]
12722    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12723    pub const NODE_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1018000);
12724    /// Defines the event triggered when an item is selected and scrolling has stopped in the
12725    /// <b>ARKUI_NODE_PICKER</b> component.
12726    ///
12727    /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12728    /// [`ArkUI_NodeComponentEvent`].
12729    ///
12730    /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12731    ///
12732    /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
12733    ///
12734    ///
12735    ///
12736    /// Available since API-level: 23
12737    #[cfg(feature = "api-23")]
12738    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12739    pub const NODE_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1018001);
12740}
12741#[repr(transparent)]
12742/// Enumerates the event types supported by the NativeNode component.
12743///
12744///
12745/// Available since API-level: 12
12746#[cfg(feature = "api-12")]
12747#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12748#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12749pub struct ArkUI_NodeEventType(pub ::core::ffi::c_uint);
12750/// Defines the common structure type of a component event.
12751///
12752///
12753/// Available since API-level: 12
12754#[cfg(feature = "api-12")]
12755#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12756#[repr(C)]
12757pub struct ArkUI_NodeEvent {
12758    _unused: [u8; 0],
12759}
12760#[cfg(feature = "api-12")]
12761#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12762impl ArkUI_NodeDirtyFlag {
12763    /// Remeasure.
12764    ///
12765    /// When this type of flag is specified, re-layout is triggered by default.
12766    pub const NODE_NEED_MEASURE: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(1);
12767    /// Re-layout.
12768    pub const NODE_NEED_LAYOUT: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(2);
12769    /// Re-rendering.
12770    pub const NODE_NEED_RENDER: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(3);
12771}
12772#[repr(transparent)]
12773/// Defines the dirty area flag passed in the <b>::markDirty</b> API.
12774///
12775///
12776/// Available since API-level: 12
12777#[cfg(feature = "api-12")]
12778#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12779#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12780pub struct ArkUI_NodeDirtyFlag(pub ::core::ffi::c_uint);
12781#[cfg(feature = "api-12")]
12782#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12783impl ArkUI_NodeCustomEventType {
12784    /// Measure type.
12785    pub const ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE: ArkUI_NodeCustomEventType =
12786        ArkUI_NodeCustomEventType(1);
12787    /// Layout type.
12788    pub const ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT: ArkUI_NodeCustomEventType =
12789        ArkUI_NodeCustomEventType(2);
12790    /// Draw type.
12791    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW: ArkUI_NodeCustomEventType =
12792        ArkUI_NodeCustomEventType(4);
12793    /// Foreground type.
12794    pub const ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW: ArkUI_NodeCustomEventType =
12795        ArkUI_NodeCustomEventType(8);
12796    /// Overlay type.
12797    pub const ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW: ArkUI_NodeCustomEventType =
12798        ArkUI_NodeCustomEventType(16);
12799    /// Draw front type.
12800    ///
12801    /// Available since API-level: 20
12802    #[cfg(feature = "api-20")]
12803    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12804    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT: ArkUI_NodeCustomEventType =
12805        ArkUI_NodeCustomEventType(32);
12806    /// Draw behind type.
12807    ///
12808    /// Available since API-level: 20
12809    #[cfg(feature = "api-20")]
12810    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12811    pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND: ArkUI_NodeCustomEventType =
12812        ArkUI_NodeCustomEventType(64);
12813}
12814#[repr(transparent)]
12815/// Defines the custom component event type.
12816///
12817///
12818/// Available since API-level: 12
12819#[cfg(feature = "api-12")]
12820#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12822pub struct ArkUI_NodeCustomEventType(pub ::core::ffi::c_uint);
12823/// Defines the general structure of a custom component event.
12824///
12825///
12826/// Available since API-level: 12
12827#[cfg(feature = "api-12")]
12828#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12829#[repr(C)]
12830pub struct ArkUI_NodeCustomEvent {
12831    _unused: [u8; 0],
12832}
12833#[repr(C)]
12834pub struct ArkUI_NodeAdapter {
12835    _unused: [u8; 0],
12836}
12837/// Defines the component adapter, which is used for lazy loading of elements of scrollable components.
12838///
12839///
12840/// Available since API-level: 12
12841#[cfg(feature = "api-12")]
12842#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12843pub type ArkUI_NodeAdapterHandle = *mut ArkUI_NodeAdapter;
12844/// Defines the component adapter event.
12845///
12846///
12847/// Available since API-level: 12
12848#[cfg(feature = "api-12")]
12849#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12850#[repr(C)]
12851pub struct ArkUI_NodeAdapterEvent {
12852    _unused: [u8; 0],
12853}
12854#[cfg(feature = "api-12")]
12855#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12856impl ArkUI_NodeAdapterEventType {
12857    /// This event occurs when the component is attached to the adapter.
12858    pub const NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE: ArkUI_NodeAdapterEventType =
12859        ArkUI_NodeAdapterEventType(1);
12860    /// This event occurs when the component is detached from the adapter.
12861    pub const NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE: ArkUI_NodeAdapterEventType =
12862        ArkUI_NodeAdapterEventType(2);
12863    /// This event occurs when the adapter obtains the unique ID of the new element to add.
12864    pub const NODE_ADAPTER_EVENT_ON_GET_NODE_ID: ArkUI_NodeAdapterEventType =
12865        ArkUI_NodeAdapterEventType(3);
12866    /// This event occurs when the adapter obtains the content of the new element to add.
12867    pub const NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER: ArkUI_NodeAdapterEventType =
12868        ArkUI_NodeAdapterEventType(4);
12869    /// This event occurs when the adapter removes an element.
12870    pub const NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER: ArkUI_NodeAdapterEventType =
12871        ArkUI_NodeAdapterEventType(5);
12872}
12873#[repr(transparent)]
12874/// Enumerates component adapter events.
12875///
12876///
12877/// Available since API-level: 12
12878#[cfg(feature = "api-12")]
12879#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12880#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12881pub struct ArkUI_NodeAdapterEventType(pub ::core::ffi::c_uint);
12882/// Declares a collection of native node APIs provided by ArkUI.
12883///
12884/// The APIs related to the native node must be called in the main thread.
12885///
12886///
12887/// Version: 1
12888///
12889/// Available since API-level: 12
12890#[cfg(feature = "api-12")]
12891#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12892#[repr(C)]
12893#[derive(Debug, Copy, Clone)]
12894pub struct ArkUI_NativeNodeAPI_1 {
12895    /// Struct version.
12896    ///
12897    ///
12898    /// Available since API-level: 12
12899    pub version: i32,
12900    /// Creates a component based on [`ArkUI_NodeType`] and returns the pointer to the created component.
12901    ///
12902    /// # Arguments
12903    ///
12904    /// * `type` - Indicates the type of component to create.
12905    ///
12906    /// # Returns
12907    ///
12908    /// * Returns the pointer to the created component. If the component fails to be created, NULL is returned.
12909    ///
12910    /// Available since API-level: 12
12911    pub createNode:
12912        ::core::option::Option<unsafe extern "C" fn(type_: ArkUI_NodeType) -> ArkUI_NodeHandle>,
12913    /// Destroys the component to which the specified pointer points.
12914    ///
12915    /// # Arguments
12916    ///
12917    /// * `node` - Indicates the pointer.
12918    ///
12919    /// Available since API-level: 12
12920    pub disposeNode: ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle)>,
12921    /// Adds a component to a parent node.
12922    ///
12923    /// # Arguments
12924    ///
12925    /// * `parent` - Indicates the pointer to the parent node.
12926    ///
12927    /// * `child` - Indicates the pointer to the child node.
12928    ///
12929    /// # Returns
12930    ///
12931    /// * Returns the error code.
12932    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12933    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12934    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on
12935    /// BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
12936    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
12937    ///
12938    /// Available since API-level: 12
12939    pub addChild: ::core::option::Option<
12940        unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
12941    >,
12942    /// Removes a component from its parent node.
12943    ///
12944    /// # Arguments
12945    ///
12946    /// * `parent` - Indicates the pointer to the parent node.
12947    ///
12948    /// * `child` - Indicates the pointer to the child node.
12949    ///
12950    /// # Returns
12951    ///
12952    /// * Returns the error code.
12953    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12954    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12955    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
12956    /// on BuilderNode generated nodes:
12957    /// setting or resetting attributes, setting events, or adding or editing subnodes.
12958    ///
12959    /// Available since API-level: 12
12960    pub removeChild: ::core::option::Option<
12961        unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
12962    >,
12963    /// Inserts a component to a parent node after the specified <b>sibling</b> node.
12964    ///
12965    /// # Arguments
12966    ///
12967    /// * `parent` - Indicates the pointer to the parent node.
12968    ///
12969    /// * `child` - Indicates the pointer to the child node.
12970    ///
12971    /// * `sibling` - Indicates the pointer to the sibling node after which the target node is to be inserted.
12972    /// If the value is null, the node is inserted at the start of the parent node.
12973    ///
12974    /// # Returns
12975    ///
12976    /// * Returns the error code.
12977    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12978    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12979    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
12980    /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
12981    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
12982    ///
12983    /// Available since API-level: 12
12984    pub insertChildAfter: ::core::option::Option<
12985        unsafe extern "C" fn(
12986            parent: ArkUI_NodeHandle,
12987            child: ArkUI_NodeHandle,
12988            sibling: ArkUI_NodeHandle,
12989        ) -> i32,
12990    >,
12991    /// Inserts a component to a parent node before the specified <b>sibling</b> node.
12992    ///
12993    /// # Arguments
12994    ///
12995    /// * `parent` - Indicates the pointer to the parent node.
12996    ///
12997    /// * `child` - Indicates the pointer to the child node.
12998    ///
12999    /// * `sibling` - Indicates the pointer to the sibling node before which the target node is to be inserted.
13000    /// If the value is null, the node is inserted at the end of the parent node.
13001    ///
13002    /// # Returns
13003    ///
13004    /// * Returns the error code.
13005    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13006    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13007    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
13008    /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
13009    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
13010    ///
13011    /// Available since API-level: 12
13012    pub insertChildBefore: ::core::option::Option<
13013        unsafe extern "C" fn(
13014            parent: ArkUI_NodeHandle,
13015            child: ArkUI_NodeHandle,
13016            sibling: ArkUI_NodeHandle,
13017        ) -> i32,
13018    >,
13019    /// Inserts a component to the specified position in a parent node.
13020    ///
13021    /// # Arguments
13022    ///
13023    /// * `parent` - Indicates the pointer to the parent node.
13024    ///
13025    /// * `child` - Indicates the pointer to the child node.
13026    ///
13027    /// * `position` - Indicates the position to which the target child node is to be inserted. If the value is a
13028    /// negative number or invalid, the node is inserted at the end of the parent node.
13029    ///
13030    /// # Returns
13031    ///
13032    /// * Returns the error code.
13033    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13034    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13035    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
13036    /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
13037    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
13038    ///
13039    /// Available since API-level: 12
13040    pub insertChildAt: ::core::option::Option<
13041        unsafe extern "C" fn(
13042            parent: ArkUI_NodeHandle,
13043            child: ArkUI_NodeHandle,
13044            position: i32,
13045        ) -> i32,
13046    >,
13047    /// Sets the attribute of a node.
13048    ///
13049    /// # Arguments
13050    ///
13051    /// * `node` - Indicates the node whose attribute needs to be set.
13052    ///
13053    /// * `attribute` - Indicates the type of attribute to set.
13054    ///
13055    /// * `value` - Indicates the attribute value.
13056    ///
13057    /// # Returns
13058    ///
13059    /// * Returns the error code.
13060    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13061    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13062    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13063    /// of the native API was not found.
13064    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13065    /// on BuilderNode generated nodes:
13066    /// setting or resetting attributes, setting events, or adding or editing subnodes.
13067    ///
13068    /// Available since API-level: 12
13069    pub setAttribute: ::core::option::Option<
13070        unsafe extern "C" fn(
13071            node: ArkUI_NodeHandle,
13072            attribute: ArkUI_NodeAttributeType,
13073            item: *const ArkUI_AttributeItem,
13074        ) -> i32,
13075    >,
13076    /// Obtains an attribute.
13077    ///
13078    /// The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need
13079    /// to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next
13080    /// time. Otherwise, the pointer may be overwritten by other values.
13081    /// # Arguments
13082    ///
13083    /// * `node` - Indicates the node whose attribute needs to be obtained.
13084    ///
13085    /// * `attribute` - Indicates the type of attribute to obtain.
13086    ///
13087    /// # Returns
13088    ///
13089    /// * Returns the attribute value. If the operation fails, a null pointer is returned.
13090    ///
13091    /// Available since API-level: 12
13092    pub getAttribute: ::core::option::Option<
13093        unsafe extern "C" fn(
13094            node: ArkUI_NodeHandle,
13095            attribute: ArkUI_NodeAttributeType,
13096        ) -> *const ArkUI_AttributeItem,
13097    >,
13098    /// Resets an attribute.
13099    ///
13100    /// # Arguments
13101    ///
13102    /// * `node` - Indicates the node whose attribute needs to be reset.
13103    ///
13104    /// * `attribute` - Indicates the type of attribute to reset.
13105    ///
13106    /// # Returns
13107    ///
13108    /// * Returns the error code.
13109    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13110    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13111    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13112    /// of the native API was not found.
13113    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13114    /// on BuilderNode generated nodes:
13115    /// setting or resetting attributes, setting events, or adding or editing subnodes.
13116    ///
13117    /// Available since API-level: 12
13118    pub resetAttribute: ::core::option::Option<
13119        unsafe extern "C" fn(node: ArkUI_NodeHandle, attribute: ArkUI_NodeAttributeType) -> i32,
13120    >,
13121    /// Registers an event for the specified node.
13122    ///
13123    /// When the component is being displayed, this API must be called in the main thread.
13124    ///
13125    /// # Arguments
13126    ///
13127    /// * `node` - Indicates the target node.
13128    ///
13129    /// * `eventType` - Indicates the type of event to register.
13130    ///
13131    /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeEvent`]
13132    /// when the event is triggered.
13133    ///
13134    /// * `userData` - Indicates the custom event parameter, which is passed in the callback of [`ArkUI_NodeEvent`]
13135    ///
13136    /// # Returns
13137    ///
13138    /// * Returns the error code.
13139    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13140    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13141    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13142    /// of the native API was not found.
13143    /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13144    /// on BuilderNode generated nodes:
13145    /// setting or resetting attributes, setting events, or adding or editing subnodes.
13146    ///
13147    /// Available since API-level: 12
13148    pub registerNodeEvent: ::core::option::Option<
13149        unsafe extern "C" fn(
13150            node: ArkUI_NodeHandle,
13151            eventType: ArkUI_NodeEventType,
13152            targetId: i32,
13153            userData: *mut ::core::ffi::c_void,
13154        ) -> i32,
13155    >,
13156    /// Unregisters an event for the specified node.
13157    ///
13158    /// When the component is being displayed, this API must be called in the main thread.
13159    ///
13160    /// # Arguments
13161    ///
13162    /// * `node` - Indicates the target node.
13163    ///
13164    /// * `eventType` - Indicates the type of event to unregister.
13165    ///
13166    /// Available since API-level: 12
13167    pub unregisterNodeEvent: ::core::option::Option<
13168        unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeEventType),
13169    >,
13170    /// Registers an event receiver.
13171    ///
13172    /// The ArkUI framework collects component events generated during the process and calls back the events through
13173    /// the registered event receiver.
13174    ///
13175    /// A new call to this API will overwrite the previously registered event receiver.
13176    ///
13177    /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the
13178    /// callback is complete.
13179    ///
13180    /// To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function.
13181    ///
13182    ///
13183    /// # Arguments
13184    ///
13185    /// * `eventReceiver` - Indicates the event receiver to register.
13186    ///
13187    /// Available since API-level: 12
13188    pub registerNodeEventReceiver: ::core::option::Option<
13189        unsafe extern "C" fn(
13190            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13191        ),
13192    >,
13193    /// Unregisters the event receiver.
13194    ///
13195    ///
13196    /// Available since API-level: 12
13197    pub unregisterNodeEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
13198    /// Forcibly marks the current node that needs to be measured, laid out, or rendered again.
13199    ///
13200    /// Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs
13201    /// measuring, layout, or rendering again. In this case, you do not need to call this API.
13202    /// # Arguments
13203    ///
13204    /// * `node` - Indicates the node for which you want to mark as dirty area.
13205    ///
13206    /// * `dirtyFlag` - Indicates type of dirty area.
13207    ///
13208    /// Available since API-level: 12
13209    pub markDirty: ::core::option::Option<
13210        unsafe extern "C" fn(node: ArkUI_NodeHandle, dirtyFlag: ArkUI_NodeDirtyFlag),
13211    >,
13212    /// Obtains the number of subnodes.
13213    ///
13214    /// # Arguments
13215    ///
13216    /// * `node` - Indicates the target node.
13217    ///
13218    /// # Returns
13219    ///
13220    /// * the number of subnodes. If not, returns 0.
13221    ///
13222    /// Available since API-level: 12
13223    pub getTotalChildCount:
13224        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> u32>,
13225    /// Obtains a subnode.
13226    ///
13227    /// # Arguments
13228    ///
13229    /// * `node` - Indicates the target node.
13230    ///
13231    /// * `position` - Indicates the position of the subnode.
13232    ///
13233    /// # Returns
13234    ///
13235    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13236    ///
13237    /// Available since API-level: 12
13238    pub getChildAt: ::core::option::Option<
13239        unsafe extern "C" fn(node: ArkUI_NodeHandle, position: i32) -> ArkUI_NodeHandle,
13240    >,
13241    /// Obtains the first subnode.
13242    ///
13243    /// # Arguments
13244    ///
13245    /// * `node` - Indicates the target node.
13246    ///
13247    /// # Returns
13248    ///
13249    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13250    ///
13251    /// Available since API-level: 12
13252    pub getFirstChild:
13253        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13254    /// Obtains the last subnode.
13255    ///
13256    /// # Arguments
13257    ///
13258    /// * `node` - Indicates the target node.
13259    ///
13260    /// # Returns
13261    ///
13262    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13263    ///
13264    /// Available since API-level: 12
13265    pub getLastChild:
13266        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13267    /// Obtains the previous sibling node.
13268    ///
13269    /// # Arguments
13270    ///
13271    /// * `node` - Indicates the target node.
13272    ///
13273    /// # Returns
13274    ///
13275    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13276    ///
13277    /// Available since API-level: 12
13278    pub getPreviousSibling:
13279        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13280    /// Obtains the next sibling node.
13281    ///
13282    /// # Arguments
13283    ///
13284    /// * `node` - Indicates the target node.
13285    ///
13286    /// # Returns
13287    ///
13288    /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13289    ///
13290    /// Available since API-level: 12
13291    pub getNextSibling:
13292        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13293    /// Registers a custom event for a node. When the event is triggered, the value is returned through the entry
13294    /// point function registered by <b>registerNodeCustomEventReceiver</b>.
13295    ///
13296    /// # Arguments
13297    ///
13298    /// * `node` - Indicates the target node.
13299    ///
13300    /// * `eventType` - Indicates the type of event to register.
13301    ///
13302    /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeCustomEvent`]
13303    /// when the event is triggered.
13304    ///
13305    /// * `userData` - Indicates the custom event parameter, which is passed in the callback of
13306    /// [`ArkUI_NodeCustomEvent`] when the event is triggered.
13307    ///
13308    /// # Returns
13309    ///
13310    /// * Returns the error code.
13311    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13312    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13313    /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13314    /// of the native API was not found.
13315    ///
13316    /// Available since API-level: 12
13317    pub registerNodeCustomEvent: ::core::option::Option<
13318        unsafe extern "C" fn(
13319            node: ArkUI_NodeHandle,
13320            eventType: ArkUI_NodeCustomEventType,
13321            targetId: i32,
13322            userData: *mut ::core::ffi::c_void,
13323        ) -> i32,
13324    >,
13325    /// Unregisters a custom event for a node.
13326    ///
13327    /// # Arguments
13328    ///
13329    /// * `node` - Indicates the target node.
13330    ///
13331    /// * `eventType` - Indicates the type of event to unregister.
13332    ///
13333    /// Available since API-level: 12
13334    pub unregisterNodeCustomEvent: ::core::option::Option<
13335        unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeCustomEventType),
13336    >,
13337    /// Registers a unified entry point function for custom node event callbacks.
13338    ///
13339    /// The ArkUI framework collects custom component events generated during the process and calls back the events
13340    /// through the registered <b>registerNodeCustomEventReceiver</b>.
13341    ///
13342    /// A new call to this API will overwrite the previously registered event receiver.
13343    /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
13344    /// The data will be destroyed after the callback is complete.
13345    ///
13346    /// To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function.
13347    ///
13348    ///
13349    /// # Arguments
13350    ///
13351    /// * `eventReceiver` - Indicates the event receiver to register.
13352    ///
13353    /// Available since API-level: 12
13354    pub registerNodeCustomEventReceiver: ::core::option::Option<
13355        unsafe extern "C" fn(
13356            eventReceiver: ::core::option::Option<
13357                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13358            >,
13359        ),
13360    >,
13361    /// Unregisters the unified entry point function for custom node event callbacks.
13362    ///
13363    ///
13364    /// Available since API-level: 12
13365    pub unregisterNodeCustomEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
13366    /// Sets the width and height for a component after the measurement.
13367    ///
13368    /// # Arguments
13369    ///
13370    /// * `node` - Indicates the target node.
13371    ///
13372    /// * `width` - Indicates the width.
13373    ///
13374    /// * `height` - Indicates the height.
13375    ///
13376    /// # Returns
13377    ///
13378    /// * Returns the error code.
13379    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13380    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13381    ///
13382    /// Available since API-level: 12
13383    pub setMeasuredSize: ::core::option::Option<
13384        unsafe extern "C" fn(node: ArkUI_NodeHandle, width: i32, height: i32) -> i32,
13385    >,
13386    /// Sets the position for a component.
13387    ///
13388    /// # Arguments
13389    ///
13390    /// * `node` - Indicates the target node.
13391    ///
13392    /// * `positionX` - Indicates the X coordinate.
13393    ///
13394    /// * `positionY` - Indicates the Y coordinate.
13395    ///
13396    /// # Returns
13397    ///
13398    /// * Returns the error code.
13399    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13400    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13401    ///
13402    /// Available since API-level: 12
13403    pub setLayoutPosition: ::core::option::Option<
13404        unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
13405    >,
13406    /// Obtains the width and height of a component after measurement.
13407    ///
13408    /// # Arguments
13409    ///
13410    /// * `node` - Indicates the target node.
13411    ///
13412    /// # Returns
13413    ///
13414    /// * Returns the width and height of the component.
13415    ///
13416    /// Available since API-level: 12
13417    pub getMeasuredSize:
13418        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntSize>,
13419    /// Obtains the position of a component after the layout is complete.
13420    ///
13421    /// # Arguments
13422    ///
13423    /// * `node` - Indicates the target node.
13424    ///
13425    /// # Returns
13426    ///
13427    /// * Returns the position of the component.
13428    ///
13429    /// Available since API-level: 12
13430    pub getLayoutPosition:
13431        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntOffset>,
13432    /// Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement.
13433    ///
13434    /// # Arguments
13435    ///
13436    /// * `node` - Indicates the target node.
13437    ///
13438    /// * `Constraint` - Indicates the size constraint.
13439    ///
13440    /// # Returns
13441    ///
13442    /// * Returns the error code.
13443    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13444    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13445    ///
13446    /// Available since API-level: 12
13447    pub measureNode: ::core::option::Option<
13448        unsafe extern "C" fn(
13449            node: ArkUI_NodeHandle,
13450            Constraint: *mut ArkUI_LayoutConstraint,
13451        ) -> i32,
13452    >,
13453    /// Lays outs a component and passes the expected position of the component relative to its parent component.
13454    ///
13455    /// When the component is being displayed, this API must be called in the main thread.
13456    ///
13457    /// # Arguments
13458    ///
13459    /// * `node` - Indicates the target node.
13460    ///
13461    /// * `positionX` - Indicates the X coordinate.
13462    ///
13463    /// * `positionY` - Indicates the Y coordinate.
13464    ///
13465    /// # Returns
13466    ///
13467    /// * Returns the error code.
13468    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13469    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13470    ///
13471    /// Available since API-level: 12
13472    pub layoutNode: ::core::option::Option<
13473        unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
13474    >,
13475    /// Adds a component event callback function to a component to receive component events generated
13476    /// by the component.
13477    ///
13478    /// Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event
13479    /// receivers to be added to the same component.
13480    ///
13481    /// The callback added by this API is triggered before the global callback registered by
13482    /// <b>registerNodeEventReceiver</b>.
13483    ///
13484    /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer.
13485    /// The data will be destroyed after the callback is complete.
13486    ///
13487    ///
13488    /// # Arguments
13489    ///
13490    /// * `node` - Indicates the component for which you want to add the event callback function.
13491    ///
13492    /// * `eventReceiver` - Indicates the component event callback function to add.
13493    ///
13494    /// # Returns
13495    ///
13496    /// * Returns the error code.
13497    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13498    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13499    ///
13500    /// Available since API-level: 12
13501    pub addNodeEventReceiver: ::core::option::Option<
13502        unsafe extern "C" fn(
13503            node: ArkUI_NodeHandle,
13504            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13505        ) -> i32,
13506    >,
13507    /// Removes the registered component event callback function from a component.
13508    ///
13509    /// # Arguments
13510    ///
13511    /// * `node` - Indicates the component from which you want to remove the event callback function.
13512    ///
13513    /// * `eventReceiver` - Indicates the component event callback function to remove.
13514    ///
13515    /// # Returns
13516    ///
13517    /// * Returns the error code.
13518    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13519    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13520    ///
13521    /// Available since API-level: 12
13522    pub removeNodeEventReceiver: ::core::option::Option<
13523        unsafe extern "C" fn(
13524            node: ArkUI_NodeHandle,
13525            eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13526        ) -> i32,
13527    >,
13528    /// Adds a custom event callback function to a component to receive custom events
13529    /// (such as layout and drawing events) generated by the component.
13530    ///
13531    /// Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows
13532    /// multiple event receivers to be added to the same component.
13533    ///
13534    /// The callback added by this API is triggered before the global callback registered by
13535    /// <b>registerNodeCustomEventReceiver</b>.
13536    ///
13537    /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
13538    /// The data will be destroyed after the callback is complete.
13539    ///
13540    ///
13541    /// # Arguments
13542    ///
13543    /// * `node` - Indicates the component for which you want to add the custom event callback function.
13544    ///
13545    /// * `eventReceiver` - Indicates the custom event callback function to add.
13546    ///
13547    /// # Returns
13548    ///
13549    /// * Returns the error code.
13550    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13551    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13552    ///
13553    /// Available since API-level: 12
13554    pub addNodeCustomEventReceiver: ::core::option::Option<
13555        unsafe extern "C" fn(
13556            node: ArkUI_NodeHandle,
13557            eventReceiver: ::core::option::Option<
13558                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13559            >,
13560        ) -> i32,
13561    >,
13562    /// Removes a registered custom event callback function from a component.
13563    ///
13564    /// # Arguments
13565    ///
13566    /// * `node` - Indicates the component from which you want to remove the custom event callback function.
13567    ///
13568    /// * `eventReceiver` - Indicates the custom event callback function to remove.
13569    ///
13570    /// # Returns
13571    ///
13572    /// * Returns the error code.
13573    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13574    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13575    ///
13576    /// Available since API-level: 12
13577    pub removeNodeCustomEventReceiver: ::core::option::Option<
13578        unsafe extern "C" fn(
13579            node: ArkUI_NodeHandle,
13580            eventReceiver: ::core::option::Option<
13581                unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13582            >,
13583        ) -> i32,
13584    >,
13585    /// Saves custom data on the specified component.
13586    ///
13587    /// # Arguments
13588    ///
13589    /// * `node` - Indicates the component on which the custom data will be saved.
13590    ///
13591    /// * `userData` - Indicates the custom data to be saved.
13592    ///
13593    /// # Returns
13594    ///
13595    /// * Returns the error code.
13596    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13597    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13598    ///
13599    /// Available since API-level: 12
13600    pub setUserData: ::core::option::Option<
13601        unsafe extern "C" fn(node: ArkUI_NodeHandle, userData: *mut ::core::ffi::c_void) -> i32,
13602    >,
13603    /// Obtains the custom data saved on the specified component.
13604    ///
13605    /// # Arguments
13606    ///
13607    /// * `node` - Indicates the target component.
13608    ///
13609    /// # Returns
13610    ///
13611    /// * Returns the custom data.
13612    ///
13613    /// Available since API-level: 12
13614    pub getUserData: ::core::option::Option<
13615        unsafe extern "C" fn(node: ArkUI_NodeHandle) -> *mut ::core::ffi::c_void,
13616    >,
13617    /// Sets the unit for a component.
13618    ///
13619    /// # Arguments
13620    ///
13621    /// * `node` - Indicates the component for which you want to set the unit.
13622    ///
13623    /// * `unit` - Indicates the unit, which is an enumerated value of [`ArkUI_LengthMetricUnit`].
13624    /// The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>.
13625    ///
13626    /// # Returns
13627    ///
13628    /// * Returns the error code.
13629    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13630    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13631    ///
13632    /// Available since API-level: 12
13633    pub setLengthMetricUnit: ::core::option::Option<
13634        unsafe extern "C" fn(node: ArkUI_NodeHandle, unit: ArkUI_LengthMetricUnit) -> i32,
13635    >,
13636    /// Get the parent node.
13637    ///
13638    /// # Arguments
13639    ///
13640    /// * `node` - target node object.
13641    ///
13642    /// # Returns
13643    ///
13644    /// * Returns the pointer of the component, if not return NULL
13645    ///
13646    /// Available since API-level: 12
13647    pub getParent:
13648        ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13649    /// Uninstall all child nodes from the parent component.
13650    ///
13651    /// # Arguments
13652    ///
13653    /// * `parent` - target node object.
13654    ///
13655    /// # Returns
13656    ///
13657    /// * Returns the error code.
13658    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13659    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13660    ///
13661    /// Available since API-level: 12
13662    pub removeAllChildren:
13663        ::core::option::Option<unsafe extern "C" fn(parent: ArkUI_NodeHandle) -> i32>,
13664}
13665#[cfg(feature = "api-12")]
13666#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13667impl ArkUI_NodeContentEventType {
13668    /// Defines the attach event.
13669    pub const NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW: ArkUI_NodeContentEventType =
13670        ArkUI_NodeContentEventType(0);
13671    /// Defines the detach event.
13672    pub const NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW: ArkUI_NodeContentEventType =
13673        ArkUI_NodeContentEventType(1);
13674}
13675#[repr(transparent)]
13676/// Defines the node content event type.
13677///
13678///
13679/// Available since API-level: 12
13680#[cfg(feature = "api-12")]
13681#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13682#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13683pub struct ArkUI_NodeContentEventType(pub ::core::ffi::c_uint);
13684#[cfg(feature = "api-15")]
13685#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13686impl ArkUI_InspectorErrorCode {
13687    /// Success.
13688    pub const ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL: ArkUI_InspectorErrorCode =
13689        ArkUI_InspectorErrorCode(0);
13690    /// Invalid parameter.
13691    pub const ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER: ArkUI_InspectorErrorCode =
13692        ArkUI_InspectorErrorCode(-1);
13693}
13694#[repr(transparent)]
13695/// Enumerates the inspector error codes.
13696///
13697/// Available since API-level: 15
13698#[cfg(feature = "api-15")]
13699#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13700#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13701pub struct ArkUI_InspectorErrorCode(pub ::core::ffi::c_int);
13702/// Defines the general structure of a node content event.
13703///
13704/// Available since API-level: 12
13705#[cfg(feature = "api-12")]
13706#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13707#[repr(C)]
13708pub struct ArkUI_NodeContentEvent {
13709    _unused: [u8; 0],
13710}
13711/// Defines the callback function of a node content event.
13712///
13713/// Available since API-level: 12
13714#[cfg(feature = "api-12")]
13715#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13716pub type ArkUI_NodeContentCallback =
13717    ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeContentEvent)>;
13718extern "C" {
13719    /// Obtains the type of a component event.
13720    ///
13721    /// # Arguments
13722    ///
13723    /// * `event` - Indicates the pointer to the component event.
13724    ///
13725    /// # Returns
13726    ///
13727    /// * Returns the type of the component event.
13728    ///
13729    /// Available since API-level: 12
13730    #[cfg(feature = "api-12")]
13731    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13732    pub fn OH_ArkUI_NodeEvent_GetEventType(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeEventType;
13733    /// Obtains the custom ID of a component event.
13734    ///
13735    /// The event ID is passed in as a parameter when the [`registerNodeEvent`] function is called and can be applied
13736    /// to the dispatch logic of the same event entry function [`registerNodeEventReceiver`].
13737    ///
13738    /// # Arguments
13739    ///
13740    /// * `event` - Indicates the pointer to the component event.
13741    ///
13742    /// # Returns
13743    ///
13744    /// * Returns the custom ID of the component event.
13745    ///
13746    /// Available since API-level: 12
13747    #[cfg(feature = "api-12")]
13748    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13749    pub fn OH_ArkUI_NodeEvent_GetTargetId(event: *mut ArkUI_NodeEvent) -> i32;
13750    /// Obtains the component object that triggers a component event.
13751    ///
13752    /// # Arguments
13753    ///
13754    /// * `event` - Indicates the pointer to the component event.
13755    ///
13756    /// # Returns
13757    ///
13758    /// * Returns the component object that triggers the component event.
13759    ///
13760    /// Available since API-level: 12
13761    #[cfg(feature = "api-12")]
13762    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13763    pub fn OH_ArkUI_NodeEvent_GetNodeHandle(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeHandle;
13764    /// Obtains input event (for example, touch event) data for a component event.
13765    ///
13766    /// # Arguments
13767    ///
13768    /// * `event` - Indicates the pointer to the component event.
13769    ///
13770    /// # Returns
13771    ///
13772    /// * Returns the pointer to the input event data.
13773    ///
13774    /// Available since API-level: 12
13775    #[cfg(feature = "api-12")]
13776    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13777    pub fn OH_ArkUI_NodeEvent_GetInputEvent(event: *mut ArkUI_NodeEvent)
13778        -> *mut ArkUI_UIInputEvent;
13779    /// Obtains the numerical data in a component event.
13780    ///
13781    /// # Arguments
13782    ///
13783    /// * `event` - Indicates the pointer to the component event.
13784    ///
13785    /// # Returns
13786    ///
13787    /// * Returns the pointer to the numerical data.
13788    ///
13789    /// Available since API-level: 12
13790    #[cfg(feature = "api-12")]
13791    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13792    pub fn OH_ArkUI_NodeEvent_GetNodeComponentEvent(
13793        event: *mut ArkUI_NodeEvent,
13794    ) -> *mut ArkUI_NodeComponentEvent;
13795    /// Obtains the string data in a component event.
13796    ///
13797    /// # Arguments
13798    ///
13799    /// * `event` - Indicates the pointer to the component event.
13800    ///
13801    /// # Returns
13802    ///
13803    /// * Returns the pointer to the string data.
13804    ///
13805    /// Available since API-level: 12
13806    #[cfg(feature = "api-12")]
13807    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13808    pub fn OH_ArkUI_NodeEvent_GetStringAsyncEvent(
13809        event: *mut ArkUI_NodeEvent,
13810    ) -> *mut ArkUI_StringAsyncEvent;
13811    /// Obtains the ArkUI_TextChangeEvent data from a component event.
13812    ///
13813    /// # Arguments
13814    ///
13815    /// * `event` - Pointer to a component event. It cannot be null.
13816    ///
13817    /// # Returns
13818    ///
13819    /// * Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object.
13820    ///
13821    /// Available since API-level: 15
13822    #[cfg(feature = "api-15")]
13823    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13824    pub fn OH_ArkUI_NodeEvent_GetTextChangeEvent(
13825        event: *mut ArkUI_NodeEvent,
13826    ) -> *mut ArkUI_TextChangeEvent;
13827    /// Obtains the custom data in a component event.
13828    ///
13829    /// This parameter is passed in [`registerNodeEvent`] and can be applied to the service logic when the event
13830    /// is triggered.
13831    ///
13832    /// # Arguments
13833    ///
13834    /// * `event` - Indicates the pointer to the component event.
13835    ///
13836    /// # Returns
13837    ///
13838    /// * Returns the pointer to the custom data.
13839    ///
13840    /// Available since API-level: 12
13841    #[cfg(feature = "api-12")]
13842    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13843    pub fn OH_ArkUI_NodeEvent_GetUserData(event: *mut ArkUI_NodeEvent) -> *mut ::core::ffi::c_void;
13844    /// Obtains the numeric-type parameter of a component event.
13845    ///
13846    /// # Arguments
13847    ///
13848    /// * `event` - Indicates the pointer to the component event.
13849    ///
13850    /// * `index` - Indicates the index of the return value.
13851    ///
13852    /// * `value` - Indicates the return value.
13853    ///
13854    /// # Returns
13855    ///
13856    /// * Returns the error code.
13857    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13858    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
13859    /// the limit.
13860    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
13861    ///
13862    /// Available since API-level: 12
13863    #[cfg(feature = "api-12")]
13864    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13865    pub fn OH_ArkUI_NodeEvent_GetNumberValue(
13866        event: *mut ArkUI_NodeEvent,
13867        index: i32,
13868        value: *mut ArkUI_NumberValue,
13869    ) -> i32;
13870    /// Obtains the string-type parameter of a component event. The string data is valid only during an event
13871    /// callback. To use it outside an event callback, you are advised to copy the string data.
13872    ///
13873    /// # Arguments
13874    ///
13875    /// * `event` - Indicates the pointer to the component event.
13876    ///
13877    /// * `index` - Indicates the index of the return value.
13878    ///
13879    /// * `string` - Indicates the pointer to the string array.
13880    ///
13881    /// * `stringSize` - Indicates the length of the string array.
13882    ///
13883    /// # Returns
13884    ///
13885    /// * Returns the error code.
13886    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13887    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
13888    /// the limit.
13889    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
13890    ///
13891    /// Available since API-level: 12
13892    #[cfg(feature = "api-12")]
13893    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13894    pub fn OH_ArkUI_NodeEvent_GetStringValue(
13895        event: *mut ArkUI_NodeEvent,
13896        index: i32,
13897        string: *mut *mut ::core::ffi::c_char,
13898        stringSize: *mut i32,
13899    ) -> i32;
13900    /// Sets the return value for a component event.
13901    ///
13902    /// # Arguments
13903    ///
13904    /// * `event` - Indicates the pointer to the component event.
13905    ///
13906    /// * `value` - Indicates the numeric-type array.
13907    ///
13908    /// * `size` - Indicates the array length.
13909    ///
13910    /// # Returns
13911    ///
13912    /// * Returns the error code.
13913    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13914    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN`] if the component event does not support return values.
13915    /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if data does not exist in the component event.
13916    ///
13917    /// Available since API-level: 12
13918    #[cfg(feature = "api-12")]
13919    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13920    pub fn OH_ArkUI_NodeEvent_SetReturnNumberValue(
13921        event: *mut ArkUI_NodeEvent,
13922        value: *mut ArkUI_NumberValue,
13923        size: i32,
13924    ) -> i32;
13925    /// Obtains a <b>ArkUI_TouchTestInfo</b> object from the specified <b>ArkUI_NodeEvent</b> object.
13926    ///
13927    /// # Arguments
13928    ///
13929    /// {pointer} nodeEvent Indicates the pointer to an <b>ArkUI_NodeEvent</b> object.
13930    ///
13931    /// # Returns
13932    ///
13933    /// * Returns the pointer to an <b>ArkUI_TouchTestInfo</b> object.
13934    /// Returns <b>null</b> if the parameter passed in is invalid or is not a touch test info.
13935    ///
13936    /// Available since API-level: 22
13937    #[cfg(feature = "api-22")]
13938    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
13939    pub fn OH_ArkUI_NodeEvent_GetTouchTestInfo(
13940        nodeEvent: *mut ArkUI_NodeEvent,
13941    ) -> *mut ArkUI_TouchTestInfo;
13942    /// Creates a component adapter.
13943    ///
13944    ///
13945    /// Available since API-level: 12
13946    #[cfg(feature = "api-12")]
13947    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13948    pub fn OH_ArkUI_NodeAdapter_Create() -> ArkUI_NodeAdapterHandle;
13949    /// Destroys a component adapter.
13950    ///
13951    /// # Arguments
13952    ///
13953    /// * `handle` - Indicates the target component adapter.
13954    ///
13955    /// Available since API-level: 12
13956    #[cfg(feature = "api-12")]
13957    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13958    pub fn OH_ArkUI_NodeAdapter_Dispose(handle: ArkUI_NodeAdapterHandle);
13959    /// Sets the total number of elements in the specified adapter.
13960    ///
13961    /// # Arguments
13962    ///
13963    /// * `handle` - Indicates the target component adapter.
13964    ///
13965    /// * `size` - Indicates the number of elements.
13966    ///
13967    /// # Returns
13968    ///
13969    /// * Returns the error code.
13970    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13971    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13972    ///
13973    /// Available since API-level: 12
13974    #[cfg(feature = "api-12")]
13975    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13976    pub fn OH_ArkUI_NodeAdapter_SetTotalNodeCount(
13977        handle: ArkUI_NodeAdapterHandle,
13978        size: u32,
13979    ) -> i32;
13980    /// Obtains the total number of elements in the specified adapter.
13981    ///
13982    /// # Arguments
13983    ///
13984    /// * `handle` - Indicates the target component adapter.
13985    ///
13986    /// # Returns
13987    ///
13988    /// * Returns the total number of elements in the adapter.
13989    ///
13990    /// Available since API-level: 12
13991    #[cfg(feature = "api-12")]
13992    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13993    pub fn OH_ArkUI_NodeAdapter_GetTotalNodeCount(handle: ArkUI_NodeAdapterHandle) -> u32;
13994    /// Registers an event callback for the adapter.
13995    ///
13996    /// # Arguments
13997    ///
13998    /// * `handle` - Indicates the target component adapter.
13999    ///
14000    /// * `userData` - Indicates custom data.
14001    ///
14002    /// * `receiver` - Indicates the event receiver callback.
14003    ///
14004    /// # Returns
14005    ///
14006    /// * Returns the error code.
14007    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14008    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14009    ///
14010    /// Available since API-level: 12
14011    #[cfg(feature = "api-12")]
14012    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14013    pub fn OH_ArkUI_NodeAdapter_RegisterEventReceiver(
14014        handle: ArkUI_NodeAdapterHandle,
14015        userData: *mut ::core::ffi::c_void,
14016        receiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeAdapterEvent)>,
14017    ) -> i32;
14018    /// Deregisters an event callback for the adapter.
14019    ///
14020    /// # Arguments
14021    ///
14022    /// * `handle` - Indicates the target component adapter.
14023    ///
14024    /// Available since API-level: 12
14025    #[cfg(feature = "api-12")]
14026    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14027    pub fn OH_ArkUI_NodeAdapter_UnregisterEventReceiver(handle: ArkUI_NodeAdapterHandle);
14028    /// Instructs the specified adapter to reload all elements.
14029    ///
14030    /// # Arguments
14031    ///
14032    /// * `handle` - Indicates the target component adapter.
14033    ///
14034    /// # Returns
14035    ///
14036    /// * Returns the error code.
14037    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14038    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14039    ///
14040    /// Available since API-level: 12
14041    #[cfg(feature = "api-12")]
14042    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14043    pub fn OH_ArkUI_NodeAdapter_ReloadAllItems(handle: ArkUI_NodeAdapterHandle) -> i32;
14044    /// Instructs the specified adapter to reload certain elements.
14045    ///
14046    /// # Arguments
14047    ///
14048    /// * `handle` - Indicates the target component adapter.
14049    ///
14050    /// * `startPosition` - Indicates the start position of the elements to reload.
14051    ///
14052    /// * `itemCount` - Indicates the number of the elements to reload.
14053    ///
14054    /// # Returns
14055    ///
14056    /// * Returns the error code.
14057    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14058    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14059    ///
14060    /// Available since API-level: 12
14061    #[cfg(feature = "api-12")]
14062    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14063    pub fn OH_ArkUI_NodeAdapter_ReloadItem(
14064        handle: ArkUI_NodeAdapterHandle,
14065        startPosition: u32,
14066        itemCount: u32,
14067    ) -> i32;
14068    /// Instructs the specified adapter to remove certain elements.
14069    ///
14070    /// # Arguments
14071    ///
14072    /// * `handle` - Indicates the target component adapter.
14073    ///
14074    /// * `startPosition` - Indicates the start position of the elements to remove.
14075    ///
14076    /// * `itemCount` - Indicates the number of the elements to remove.
14077    ///
14078    /// # Returns
14079    ///
14080    /// * Returns the error code.
14081    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14082    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14083    ///
14084    /// Available since API-level: 12
14085    #[cfg(feature = "api-12")]
14086    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14087    pub fn OH_ArkUI_NodeAdapter_RemoveItem(
14088        handle: ArkUI_NodeAdapterHandle,
14089        startPosition: u32,
14090        itemCount: u32,
14091    ) -> i32;
14092    /// Instructs the specified adapter to insert certain elements.
14093    ///
14094    /// # Arguments
14095    ///
14096    /// * `handle` - Indicates the target component adapter.
14097    ///
14098    /// * `startPosition` - Indicates the start position of the elements to insert.
14099    ///
14100    /// * `itemCount` - Indicates the number of the elements to insert.
14101    ///
14102    /// # Returns
14103    ///
14104    /// * Returns the error code.
14105    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14106    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14107    ///
14108    /// Available since API-level: 12
14109    #[cfg(feature = "api-12")]
14110    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14111    pub fn OH_ArkUI_NodeAdapter_InsertItem(
14112        handle: ArkUI_NodeAdapterHandle,
14113        startPosition: u32,
14114        itemCount: u32,
14115    ) -> i32;
14116    /// Instructs the specified adapter to move certain elements.
14117    ///
14118    /// # Arguments
14119    ///
14120    /// * `handle` - Indicates the target component adapter.
14121    ///
14122    /// * `from` - Indicates the start position of the elements to move.
14123    ///
14124    /// * `to` - Indicates the end position of the elements to move.
14125    ///
14126    /// # Returns
14127    ///
14128    /// * Returns the error code.
14129    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14130    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14131    ///
14132    /// Available since API-level: 12
14133    #[cfg(feature = "api-12")]
14134    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14135    pub fn OH_ArkUI_NodeAdapter_MoveItem(
14136        handle: ArkUI_NodeAdapterHandle,
14137        from: u32,
14138        to: u32,
14139    ) -> i32;
14140    /// Obtains all elements stored in the specified adapter.
14141    ///
14142    /// This API returns the pointer to the array of the elements. You need to manually release the memory data
14143    /// to which the pointer points.
14144    ///
14145    /// # Arguments
14146    ///
14147    /// * `handle` - Indicates the target component adapter.
14148    ///
14149    /// * `items` - Indicates the pointer to the array of the elements in the adapter.
14150    ///
14151    /// * `size` - Indicates the number of elements.
14152    ///
14153    /// # Returns
14154    ///
14155    /// * Returns the error code.
14156    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14157    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14158    ///
14159    /// Available since API-level: 12
14160    #[cfg(feature = "api-12")]
14161    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14162    pub fn OH_ArkUI_NodeAdapter_GetAllItems(
14163        handle: ArkUI_NodeAdapterHandle,
14164        items: *mut *mut ArkUI_NodeHandle,
14165        size: *mut u32,
14166    ) -> i32;
14167    /// Obtains the custom data passed in during registration of the specified event.
14168    ///
14169    /// # Arguments
14170    ///
14171    /// * `event` - Indicates the target adapter event.
14172    ///
14173    /// Available since API-level: 12
14174    #[cfg(feature = "api-12")]
14175    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14176    pub fn OH_ArkUI_NodeAdapterEvent_GetUserData(
14177        event: *mut ArkUI_NodeAdapterEvent,
14178    ) -> *mut ::core::ffi::c_void;
14179    /// Obtains the event type.
14180    ///
14181    /// # Arguments
14182    ///
14183    /// * `event` - Indicates the target adapter event.
14184    ///
14185    /// # Returns
14186    ///
14187    /// * Returns the event type.
14188    ///
14189    /// Available since API-level: 12
14190    #[cfg(feature = "api-12")]
14191    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14192    pub fn OH_ArkUI_NodeAdapterEvent_GetType(
14193        event: *mut ArkUI_NodeAdapterEvent,
14194    ) -> ArkUI_NodeAdapterEventType;
14195    /// Obtains the element to be removed for the event to be destroyed.
14196    ///
14197    /// # Arguments
14198    ///
14199    /// * `event` - Indicates the target adapter event.
14200    ///
14201    /// # Returns
14202    ///
14203    /// * Returns the element to be removed.
14204    ///
14205    /// Available since API-level: 12
14206    #[cfg(feature = "api-12")]
14207    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14208    pub fn OH_ArkUI_NodeAdapterEvent_GetRemovedNode(
14209        event: *mut ArkUI_NodeAdapterEvent,
14210    ) -> ArkUI_NodeHandle;
14211    /// Obtains the index of the element to be operated for the specified adapter event.
14212    ///
14213    /// # Arguments
14214    ///
14215    /// * `event` - Indicates the target adapter event.
14216    ///
14217    /// # Returns
14218    ///
14219    /// * Returns the index of the element.
14220    ///
14221    /// Available since API-level: 12
14222    #[cfg(feature = "api-12")]
14223    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14224    pub fn OH_ArkUI_NodeAdapterEvent_GetItemIndex(event: *mut ArkUI_NodeAdapterEvent) -> u32;
14225    /// Obtains the scrollable container node that uses the specified adapter.
14226    ///
14227    /// # Arguments
14228    ///
14229    /// * `event` - Indicates the target adapter event.
14230    ///
14231    /// # Returns
14232    ///
14233    /// * Returns the scrollable container node that uses the specified adapter.
14234    ///
14235    /// Available since API-level: 12
14236    #[cfg(feature = "api-12")]
14237    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14238    pub fn OH_ArkUI_NodeAdapterEvent_GetHostNode(
14239        event: *mut ArkUI_NodeAdapterEvent,
14240    ) -> ArkUI_NodeHandle;
14241    /// Sets the component to be added to the specified adapter.
14242    ///
14243    /// # Arguments
14244    ///
14245    /// * `event` - Indicates the target adapter event.
14246    ///
14247    /// * `node` - Indicates the component to be added.
14248    ///
14249    /// # Returns
14250    ///
14251    /// * Returns the error code.
14252    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14253    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14254    ///
14255    /// Available since API-level: 12
14256    #[cfg(feature = "api-12")]
14257    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14258    pub fn OH_ArkUI_NodeAdapterEvent_SetItem(
14259        event: *mut ArkUI_NodeAdapterEvent,
14260        node: ArkUI_NodeHandle,
14261    ) -> i32;
14262    /// Sets the component ID to be generated.
14263    ///
14264    /// # Arguments
14265    ///
14266    /// * `event` - Indicates the target adapter event.
14267    ///
14268    /// * `id` - Indicates the component ID to set.
14269    ///
14270    /// # Returns
14271    ///
14272    /// * Returns the error code.
14273    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14274    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14275    ///
14276    /// Available since API-level: 12
14277    #[cfg(feature = "api-12")]
14278    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14279    pub fn OH_ArkUI_NodeAdapterEvent_SetNodeId(event: *mut ArkUI_NodeAdapterEvent, id: i32) -> i32;
14280    /// Obtains the size constraint for measurement through a custom component event.
14281    ///
14282    /// # Arguments
14283    ///
14284    /// * `event` - Indicates the pointer to the custom component event.
14285    ///
14286    /// # Returns
14287    ///
14288    /// * Returns the pointer to the size constraint.
14289    ///
14290    /// Available since API-level: 12
14291    #[cfg(feature = "api-12")]
14292    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14293    pub fn OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(
14294        event: *mut ArkUI_NodeCustomEvent,
14295    ) -> *mut ArkUI_LayoutConstraint;
14296    /// Obtains the expected position of a component relative to its parent component in the layout phase through a
14297    /// custom component event.
14298    ///
14299    /// # Arguments
14300    ///
14301    /// * `event` - Indicates the pointer to the custom component event.
14302    ///
14303    /// # Returns
14304    ///
14305    /// * Returns the expected position relative to the parent component.
14306    ///
14307    /// Available since API-level: 12
14308    #[cfg(feature = "api-12")]
14309    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14310    pub fn OH_ArkUI_NodeCustomEvent_GetPositionInLayout(
14311        event: *mut ArkUI_NodeCustomEvent,
14312    ) -> ArkUI_IntOffset;
14313    /// Obtains the drawing context through a custom component event.
14314    ///
14315    /// # Arguments
14316    ///
14317    /// * `event` - Indicates the pointer to the custom component event.
14318    ///
14319    /// # Returns
14320    ///
14321    /// * Returns the drawing context.
14322    ///
14323    /// Available since API-level: 12
14324    #[cfg(feature = "api-12")]
14325    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14326    pub fn OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(
14327        event: *mut ArkUI_NodeCustomEvent,
14328    ) -> *mut ArkUI_DrawContext;
14329    /// Obtains the ID of a custom component event.
14330    ///
14331    /// # Arguments
14332    ///
14333    /// * `event` - Indicates the pointer to the custom component event.
14334    ///
14335    /// # Returns
14336    ///
14337    /// * Returns the ID of the custom component event.
14338    ///
14339    /// Available since API-level: 12
14340    #[cfg(feature = "api-12")]
14341    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14342    pub fn OH_ArkUI_NodeCustomEvent_GetEventTargetId(event: *mut ArkUI_NodeCustomEvent) -> i32;
14343    /// Obtains custom event parameters through a custom component event.
14344    ///
14345    /// # Arguments
14346    ///
14347    /// * `event` - Indicates the pointer to the custom component event.
14348    ///
14349    /// # Returns
14350    ///
14351    /// * Returns the custom event parameters.
14352    ///
14353    /// Available since API-level: 12
14354    #[cfg(feature = "api-12")]
14355    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14356    pub fn OH_ArkUI_NodeCustomEvent_GetUserData(
14357        event: *mut ArkUI_NodeCustomEvent,
14358    ) -> *mut ::core::ffi::c_void;
14359    /// Obtains a component object through a custom component event.
14360    ///
14361    /// # Arguments
14362    ///
14363    /// * `event` - Indicates the pointer to the custom component event.
14364    ///
14365    /// # Returns
14366    ///
14367    /// * Returns the component object.
14368    ///
14369    /// Available since API-level: 12
14370    #[cfg(feature = "api-12")]
14371    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14372    pub fn OH_ArkUI_NodeCustomEvent_GetNodeHandle(
14373        event: *mut ArkUI_NodeCustomEvent,
14374    ) -> ArkUI_NodeHandle;
14375    /// Obtains the event type through a custom component event.
14376    ///
14377    /// # Arguments
14378    ///
14379    /// * `event` - Indicates the pointer to the custom component event.
14380    ///
14381    /// # Returns
14382    ///
14383    /// * Returns the type of the custom component event.
14384    ///
14385    /// Available since API-level: 12
14386    #[cfg(feature = "api-12")]
14387    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14388    pub fn OH_ArkUI_NodeCustomEvent_GetEventType(
14389        event: *mut ArkUI_NodeCustomEvent,
14390    ) -> ArkUI_NodeCustomEventType;
14391    /// Obtains the measurement information of a custom span through a custom component event.
14392    ///
14393    /// # Arguments
14394    ///
14395    /// * `event` - Indicates the pointer to the custom component event.
14396    ///
14397    /// * `info` - Indicates the measurement information to be obtained.
14398    ///
14399    /// # Returns
14400    ///
14401    /// * Returns the result code.
14402    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14403    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14404    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14405    ///
14406    /// Available since API-level: 12
14407    #[cfg(feature = "api-12")]
14408    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14409    pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(
14410        event: *mut ArkUI_NodeCustomEvent,
14411        info: *mut ArkUI_CustomSpanMeasureInfo,
14412    ) -> i32;
14413    /// Sets the measurement metrics of a custom span through a custom component event.
14414    ///
14415    /// # Arguments
14416    ///
14417    /// * `event` - Indicates the pointer to the custom component event.
14418    ///
14419    /// * `metrics` - Indicates the measurement metrics to set.
14420    ///
14421    /// # Returns
14422    ///
14423    /// * Returns the result code.
14424    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14425    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14426    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14427    ///
14428    /// Available since API-level: 12
14429    #[cfg(feature = "api-12")]
14430    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14431    pub fn OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(
14432        event: *mut ArkUI_NodeCustomEvent,
14433        metrics: *mut ArkUI_CustomSpanMetrics,
14434    ) -> i32;
14435    /// Obtains the drawing information of a custom span through a custom component event.
14436    ///
14437    /// # Arguments
14438    ///
14439    /// * `event` - Indicates the pointer to the custom component event.
14440    ///
14441    /// * `info` - Indicates the drawing information to obtain.
14442    ///
14443    /// # Returns
14444    ///
14445    /// * Returns the result code.
14446    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14447    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14448    /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14449    ///
14450    /// Available since API-level: 12
14451    #[cfg(feature = "api-12")]
14452    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14453    pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(
14454        event: *mut ArkUI_NodeCustomEvent,
14455        info: *mut ArkUI_CustomSpanDrawInfo,
14456    ) -> i32;
14457    /// register a callback function to a node content.
14458    ///
14459    /// # Arguments
14460    ///
14461    /// * `content` - Indicates the pointer to the node content instance.
14462    ///
14463    /// * `callback` - Indicates the callback function.
14464    ///
14465    /// # Returns
14466    ///
14467    /// * Returns the error code.
14468    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14469    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14470    ///
14471    /// Available since API-level: 12
14472    #[cfg(feature = "api-12")]
14473    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14474    pub fn OH_ArkUI_NodeContent_RegisterCallback(
14475        content: ArkUI_NodeContentHandle,
14476        callback: ArkUI_NodeContentCallback,
14477    ) -> i32;
14478    /// Obtains the type of a node content event.
14479    ///
14480    /// # Arguments
14481    ///
14482    /// * `event` - Indicates the pointer to the node content event.
14483    ///
14484    /// # Returns
14485    ///
14486    /// * Returns the type of the node content event.
14487    ///
14488    /// Available since API-level: 12
14489    #[cfg(feature = "api-12")]
14490    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14491    pub fn OH_ArkUI_NodeContentEvent_GetEventType(
14492        event: *mut ArkUI_NodeContentEvent,
14493    ) -> ArkUI_NodeContentEventType;
14494    /// Obtains the node content object that triggers a node content event.
14495    ///
14496    /// # Arguments
14497    ///
14498    /// * `event` - Indicates the pointer to the node content event.
14499    ///
14500    /// # Returns
14501    ///
14502    /// * Returns the node content object that triggers the node content event.
14503    ///
14504    /// Available since API-level: 12
14505    #[cfg(feature = "api-12")]
14506    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14507    pub fn OH_ArkUI_NodeContentEvent_GetNodeContentHandle(
14508        event: *mut ArkUI_NodeContentEvent,
14509    ) -> ArkUI_NodeContentHandle;
14510    /// Saves custom data on the specified node content.
14511    ///
14512    /// # Arguments
14513    ///
14514    /// * `content` - Indicates the node content on which the custom data will be saved.
14515    ///
14516    /// * `userData` - Indicates the custom data to be saved.
14517    ///
14518    /// # Returns
14519    ///
14520    /// * Returns the error code.
14521    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14522    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14523    ///
14524    /// Available since API-level: 12
14525    #[cfg(feature = "api-12")]
14526    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14527    pub fn OH_ArkUI_NodeContent_SetUserData(
14528        content: ArkUI_NodeContentHandle,
14529        userData: *mut ::core::ffi::c_void,
14530    ) -> i32;
14531    /// Obtains the custom data saved on the specified node content.
14532    ///
14533    /// # Arguments
14534    ///
14535    /// * `content` - Indicates the target node content.
14536    ///
14537    /// # Returns
14538    ///
14539    /// * Returns the custom data.
14540    ///
14541    /// Available since API-level: 12
14542    #[cfg(feature = "api-12")]
14543    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14544    pub fn OH_ArkUI_NodeContent_GetUserData(
14545        content: ArkUI_NodeContentHandle,
14546    ) -> *mut ::core::ffi::c_void;
14547    /// Add a node to a node content.
14548    ///
14549    /// # Arguments
14550    ///
14551    /// * `content` - Indicates the pointer to the node content instance.
14552    ///
14553    /// * `node` - Indicates the pointer to the node
14554    ///
14555    /// # Returns
14556    ///
14557    /// * Returns the error code.
14558    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14559    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14560    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
14561    ///
14562    /// Available since API-level: 12
14563    #[cfg(feature = "api-12")]
14564    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14565    pub fn OH_ArkUI_NodeContent_AddNode(
14566        content: ArkUI_NodeContentHandle,
14567        node: ArkUI_NodeHandle,
14568    ) -> i32;
14569    /// remove a node from a node content.
14570    ///
14571    /// # Arguments
14572    ///
14573    /// * `content` - Indicates the pointer to the node content instance.
14574    ///
14575    /// * `node` - Indicates the pointer to the node
14576    ///
14577    /// # Returns
14578    ///
14579    /// * Returns the error code.
14580    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14581    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14582    ///
14583    /// Available since API-level: 12
14584    #[cfg(feature = "api-12")]
14585    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14586    pub fn OH_ArkUI_NodeContent_RemoveNode(
14587        content: ArkUI_NodeContentHandle,
14588        node: ArkUI_NodeHandle,
14589    ) -> i32;
14590    /// insert a node into a node content at a given position.
14591    ///
14592    /// # Arguments
14593    ///
14594    /// * `content` - Indicates the pointer to the node content instance.
14595    ///
14596    /// * `node` - Indicates the pointer to the node
14597    ///
14598    /// * `position` - Indicates the position for inserting the node
14599    ///
14600    /// # Returns
14601    ///
14602    /// * Returns the error code.
14603    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14604    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14605    /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
14606    ///
14607    /// Available since API-level: 12
14608    #[cfg(feature = "api-12")]
14609    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14610    pub fn OH_ArkUI_NodeContent_InsertNode(
14611        content: ArkUI_NodeContentHandle,
14612        node: ArkUI_NodeHandle,
14613        position: i32,
14614    ) -> i32;
14615    /// Get the size of the component layout area.
14616    /// The layout area size does not include graphic variation attributes such as scaling.
14617    ///
14618    /// # Arguments
14619    ///
14620    /// * `node` - ArkUI_NodeHandle pointer.
14621    ///
14622    /// * `size` - The drawing area size of the component handle, in px.
14623    ///
14624    /// # Returns
14625    ///
14626    /// * Returns the error code.
14627    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14628    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14629    ///
14630    /// Available since API-level: 12
14631    #[cfg(feature = "api-12")]
14632    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14633    pub fn OH_ArkUI_NodeUtils_GetLayoutSize(
14634        node: ArkUI_NodeHandle,
14635        size: *mut ArkUI_IntSize,
14636    ) -> i32;
14637    /// Obtain the position of the component layout area relative to the parent component.
14638    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14639    ///
14640    /// # Arguments
14641    ///
14642    /// * `node` - ArkUI_NodeHandle pointer.
14643    ///
14644    /// * `localOffset` - The offset value of the component handle relative to the parent component, in px.
14645    ///
14646    /// # Returns
14647    ///
14648    /// * Returns the error code.
14649    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14650    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14651    ///
14652    /// Available since API-level: 12
14653    #[cfg(feature = "api-12")]
14654    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14655    pub fn OH_ArkUI_NodeUtils_GetLayoutPosition(
14656        node: ArkUI_NodeHandle,
14657        localOffset: *mut ArkUI_IntOffset,
14658    ) -> i32;
14659    /// Obtain the position of the component layout area relative to the window.
14660    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14661    ///
14662    /// # Arguments
14663    ///
14664    /// * `node` - ArkUI_NodeHandle pointer.
14665    ///
14666    /// * `globalOffset` - The offset value of the component handle relative to the window, in px.
14667    ///
14668    /// # Returns
14669    ///
14670    /// * Returns the error code.
14671    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14672    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14673    ///
14674    /// Available since API-level: 12
14675    #[cfg(feature = "api-12")]
14676    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14677    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(
14678        node: ArkUI_NodeHandle,
14679        globalOffset: *mut ArkUI_IntOffset,
14680    ) -> i32;
14681    /// Obtain the position of the component layout area relative to the screen.
14682    /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14683    ///
14684    /// # Arguments
14685    ///
14686    /// * `node` - ArkUI_NodeHandle pointer.
14687    ///
14688    /// * `screenOffset` - The offset value of the component handle relative to the screen, in px.
14689    ///
14690    /// # Returns
14691    ///
14692    /// * Returns the error code.
14693    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14694    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14695    ///
14696    /// Available since API-level: 12
14697    #[cfg(feature = "api-12")]
14698    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14699    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(
14700        node: ArkUI_NodeHandle,
14701        screenOffset: *mut ArkUI_IntOffset,
14702    ) -> i32;
14703    /// Obtains the offset of a component relative to the global display.
14704    /// The relative position does not count in transformation attributes, such as translate.
14705    ///
14706    /// # Arguments
14707    ///
14708    /// * `node` - Pointer to the <b>ArkUI_NodeHandle</b> representing the component.
14709    ///
14710    /// * `offset` - Offset of the component relative to the global display, in px.
14711    ///
14712    /// # Returns
14713    ///
14714    /// * Result code.
14715    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14716    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14717    ///
14718    /// Available since API-level: 20
14719    #[cfg(feature = "api-20")]
14720    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
14721    pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(
14722        node: ArkUI_NodeHandle,
14723        offset: *mut ArkUI_IntOffset,
14724    ) -> i32;
14725    /// Obtain the position of the component in the window, including the properties of graphic translation changes.
14726    ///
14727    /// # Arguments
14728    ///
14729    /// * `node` - ArkUI_NodeHandle pointer.
14730    ///
14731    /// * `translateOffset` - The cumulative offset value of the component handle itself,
14732    /// parent components, and ancestor nodes, in px.
14733    ///
14734    /// # Returns
14735    ///
14736    /// * Returns the error code.
14737    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14738    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14739    ///
14740    /// Available since API-level: 12
14741    #[cfg(feature = "api-12")]
14742    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14743    pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(
14744        node: ArkUI_NodeHandle,
14745        translateOffset: *mut ArkUI_IntOffset,
14746    ) -> i32;
14747    /// Obtain the position of the component on the screen, including the attributes of graphic translation changes.
14748    ///
14749    /// # Arguments
14750    ///
14751    /// * `node` - ArkUI_NodeHandle pointer.
14752    ///
14753    /// * `translateOffset` - The cumulative offset value of the component handle itself,
14754    /// parent components, and ancestor nodes, in px.
14755    ///
14756    /// # Returns
14757    ///
14758    /// * Returns the error code.
14759    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14760    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14761    ///
14762    /// Available since API-level: 12
14763    #[cfg(feature = "api-12")]
14764    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14765    pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(
14766        node: ArkUI_NodeHandle,
14767        translateOffset: *mut ArkUI_IntOffset,
14768    ) -> i32;
14769    /// Add the custom property of the component. This interface only works on the main thread.
14770    ///
14771    /// # Arguments
14772    ///
14773    /// * `node` - ArkUI_NodeHandle pointer.
14774    ///
14775    /// * `name` - The name of the custom property. Passing null pointers is not allowed.
14776    ///
14777    /// * `value` - The value of the custom property. Passing null pointers is not allowed.
14778    ///
14779    /// Available since API-level: 13
14780    #[cfg(feature = "api-13")]
14781    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
14782    pub fn OH_ArkUI_NodeUtils_AddCustomProperty(
14783        node: ArkUI_NodeHandle,
14784        name: *const ::core::ffi::c_char,
14785        value: *const ::core::ffi::c_char,
14786    );
14787    /// Remove the custom property of the component.
14788    ///
14789    /// # Arguments
14790    ///
14791    /// * `node` - ArkUI_NodeHandle pointer.
14792    ///
14793    /// * `name` - The name of the custom property.
14794    ///
14795    /// Available since API-level: 13
14796    #[cfg(feature = "api-13")]
14797    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
14798    pub fn OH_ArkUI_NodeUtils_RemoveCustomProperty(
14799        node: ArkUI_NodeHandle,
14800        name: *const ::core::ffi::c_char,
14801    );
14802    /// Get the value of the custom property of the component.
14803    ///
14804    /// # Arguments
14805    ///
14806    /// * `node` - ArkUI-NodeHandle pointer.
14807    ///
14808    /// * `name` - The name of the custom attribute.
14809    ///
14810    /// * `handle` - The structure of the custom attribute corresponding to the key parameter name obtained.
14811    ///
14812    /// # Returns
14813    ///
14814    /// * Error code.
14815    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14816    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14817    ///
14818    /// Available since API-level: 14
14819    #[cfg(feature = "api-14")]
14820    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14821    pub fn OH_ArkUI_NodeUtils_GetCustomProperty(
14822        node: ArkUI_NodeHandle,
14823        name: *const ::core::ffi::c_char,
14824        handle: *mut *mut ArkUI_CustomProperty,
14825    ) -> i32;
14826    /// Get the parent node to obtain the component nodes created by ArkTs.
14827    ///
14828    /// # Arguments
14829    ///
14830    /// * `node` - Target node object.
14831    ///
14832    /// # Returns
14833    ///
14834    /// * Return the pointer of the component.
14835    ///
14836    /// Available since API-level: 14
14837    #[cfg(feature = "api-14")]
14838    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14839    pub fn OH_ArkUI_NodeUtils_GetParentInPageTree(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
14840    /// Retrieve all active child nodes of a node. Span will not be counted in the children.
14841    ///
14842    /// # Arguments
14843    ///
14844    /// * `head` - Pass in the node that needs to be obtained.
14845    ///
14846    /// * `handle` - The structure corresponding to the sub node information of the head node.
14847    ///
14848    /// # Returns
14849    ///
14850    /// * Error code.
14851    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14852    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14853    ///
14854    /// Available since API-level: 14
14855    #[cfg(feature = "api-14")]
14856    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14857    pub fn OH_ArkUI_NodeUtils_GetActiveChildrenInfo(
14858        head: ArkUI_NodeHandle,
14859        handle: *mut *mut ArkUI_ActiveChildrenInfo,
14860    ) -> i32;
14861    /// Retrieve the root node of the current page.
14862    ///
14863    /// # Arguments
14864    ///
14865    /// * `node` - Target node object.
14866    ///
14867    /// # Returns
14868    ///
14869    /// * Return the pointer of the component.
14870    ///
14871    /// Available since API-level: 14
14872    #[cfg(feature = "api-14")]
14873    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14874    pub fn OH_ArkUI_NodeUtils_GetCurrentPageRootNode(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
14875    /// Retrieve whether the component is labeled by C-API.
14876    ///
14877    /// # Arguments
14878    ///
14879    /// * `node` - Target node object.
14880    ///
14881    /// # Returns
14882    ///
14883    /// * Return whether the node is a Tag created by C-API,
14884    /// true represents created by C-API, false represents not created by C-API.
14885    ///
14886    /// Available since API-level: 14
14887    #[cfg(feature = "api-14")]
14888    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14889    pub fn OH_ArkUI_NodeUtils_IsCreatedByNDK(node: ArkUI_NodeHandle) -> bool;
14890    /// Get the type of node.
14891    ///
14892    /// # Arguments
14893    ///
14894    /// * `node` - Target node object.
14895    ///
14896    /// # Returns
14897    ///
14898    /// * Return the type of the node.
14899    /// For specific open types, refer to [`ArkUI_NodeType`]. For unopened nodes, return -1.
14900    ///
14901    /// Available since API-level: 14
14902    #[cfg(feature = "api-14")]
14903    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14904    pub fn OH_ArkUI_NodeUtils_GetNodeType(node: ArkUI_NodeHandle) -> i32;
14905    /// Get info of the window to which the node belongs.
14906    ///
14907    /// # Arguments
14908    ///
14909    /// * `node` - Target node object.
14910    ///
14911    /// * `info` - Window info. Use [`OH_ArkUI_HostWindowInfo_Destroy`] to release memory.
14912    ///
14913    /// # Returns
14914    ///
14915    /// * Error code.
14916    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14917    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14918    /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The node is not mounted.
14919    ///
14920    /// Available since API-level: 15
14921    #[cfg(feature = "api-15")]
14922    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14923    pub fn OH_ArkUI_NodeUtils_GetWindowInfo(
14924        node: ArkUI_NodeHandle,
14925        info: *mut *mut ArkUI_HostWindowInfo,
14926    ) -> i32;
14927    /// Obtains the index of the current FrameNode's first child node which is on the tree.
14928    ///
14929    /// # Arguments
14930    ///
14931    /// * `node` - Indicates the target node.
14932    ///
14933    /// * `index` - The index of the subnode.
14934    ///
14935    /// # Returns
14936    ///
14937    /// * Error code.
14938    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14939    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14940    ///
14941    /// Available since API-level: 15
14942    #[cfg(feature = "api-15")]
14943    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14944    pub fn OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(
14945        node: ArkUI_NodeHandle,
14946        index: *mut u32,
14947    ) -> i32;
14948    /// Obtains the index of the current FrameNode's last child node which is on the tree.
14949    ///
14950    /// # Arguments
14951    ///
14952    /// * `node` - Indicates the target node.
14953    ///
14954    /// * `index` - the index of the subnode.
14955    ///
14956    /// # Returns
14957    ///
14958    /// * Error code.
14959    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14960    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14961    ///
14962    /// Available since API-level: 15
14963    #[cfg(feature = "api-15")]
14964    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14965    pub fn OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(
14966        node: ArkUI_NodeHandle,
14967        index: *mut u32,
14968    ) -> i32;
14969    /// Obtains a subnode by position with the expand mode.
14970    ///
14971    /// # Arguments
14972    ///
14973    /// * `node` - Indicates the target node.
14974    ///
14975    /// * `position` - Indicates the position of the subnode.
14976    ///
14977    /// * `subnode` - The pointer to the subnode.
14978    ///
14979    /// * `expandMode` - Indicates the expand mode. [`ArkUI_ExpandMode`].
14980    ///
14981    /// # Returns
14982    ///
14983    /// * Error code.
14984    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14985    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14986    ///
14987    /// Available since API-level: 15
14988    #[cfg(feature = "api-15")]
14989    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14990    pub fn OH_ArkUI_NodeUtils_GetChildWithExpandMode(
14991        node: ArkUI_NodeHandle,
14992        position: i32,
14993        subnode: *mut ArkUI_NodeHandle,
14994        expandMode: u32,
14995    ) -> i32;
14996    /// Collapse the ListItem in its expanded state.
14997    ///
14998    /// # Arguments
14999    ///
15000    /// * `node` - Node objects that need to be registered for events.
15001    ///
15002    /// * `userData` - Custom event parameters are carried back in the callback parameter when the event is triggered.
15003    ///
15004    /// * `onFinish` - The callback triggered after the completion of the folding animation.
15005    ///
15006    /// # Returns
15007    ///
15008    /// * Error code.
15009    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15010    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15011    /// [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] The component does not support this event.
15012    ///
15013    /// Available since API-level: 12
15014    #[cfg(feature = "api-12")]
15015    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15016    pub fn OH_ArkUI_List_CloseAllSwipeActions(
15017        node: ArkUI_NodeHandle,
15018        userData: *mut ::core::ffi::c_void,
15019        onFinish: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
15020    ) -> i32;
15021    /// Obtain the UIContext pointer to the page where the node is located.
15022    ///
15023    /// # Arguments
15024    ///
15025    /// * `node` - The node.
15026    ///
15027    /// # Returns
15028    ///
15029    /// * The UIContext pointer.
15030    /// If a null pointer is returned, it may be because the node is empty.
15031    ///
15032    /// Available since API-level: 12
15033    #[cfg(feature = "api-12")]
15034    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15035    pub fn OH_ArkUI_GetContextByNode(node: ArkUI_NodeHandle) -> ArkUI_ContextHandle;
15036    /// The event called when the system color mode changes.
15037    /// Only one system color change callback can be registered for the same component.
15038    ///
15039    /// # Arguments
15040    ///
15041    /// * `node` - Indicates the target node.
15042    ///
15043    /// * `userData` - Indicates the custom data to be saved.
15044    ///
15045    /// * `onColorModeChange` - Callback Events.
15046    ///
15047    /// # Returns
15048    ///
15049    /// * Error code.
15050    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15051    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15052    ///
15053    /// Available since API-level: 12
15054    #[cfg(feature = "api-12")]
15055    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15056    pub fn OH_ArkUI_RegisterSystemColorModeChangeEvent(
15057        node: ArkUI_NodeHandle,
15058        userData: *mut ::core::ffi::c_void,
15059        onColorModeChange: ::core::option::Option<
15060            unsafe extern "C" fn(
15061                colorMode: ArkUI_SystemColorMode,
15062                userData: *mut ::core::ffi::c_void,
15063            ),
15064        >,
15065    ) -> i32;
15066    /// Unregister the event callback when the system color mode changes.
15067    ///
15068    /// # Arguments
15069    ///
15070    /// * `node` - Indicates the target node.
15071    ///
15072    /// Available since API-level: 12
15073    #[cfg(feature = "api-12")]
15074    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15075    pub fn OH_ArkUI_UnregisterSystemColorModeChangeEvent(node: ArkUI_NodeHandle);
15076    /// The event called when the system font style changes.
15077    /// Only one system font change callback can be registered for the same component.
15078    ///
15079    /// # Arguments
15080    ///
15081    /// * `node` - Indicates the target node.
15082    ///
15083    /// * `userData` - Indicates the custom data to be saved.
15084    ///
15085    /// * `onFontStyleChange` - Callback Events.
15086    ///
15087    /// # Returns
15088    ///
15089    /// * Error code.
15090    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15091    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15092    ///
15093    /// Available since API-level: 12
15094    #[cfg(feature = "api-12")]
15095    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15096    pub fn OH_ArkUI_RegisterSystemFontStyleChangeEvent(
15097        node: ArkUI_NodeHandle,
15098        userData: *mut ::core::ffi::c_void,
15099        onFontStyleChange: ::core::option::Option<
15100            unsafe extern "C" fn(
15101                event: *mut ArkUI_SystemFontStyleEvent,
15102                userData: *mut ::core::ffi::c_void,
15103            ),
15104        >,
15105    ) -> i32;
15106    /// Unregister the event callback when the system font style changes.
15107    ///
15108    /// # Arguments
15109    ///
15110    /// * `node` - Indicates the target node.
15111    ///
15112    /// Available since API-level: 12
15113    #[cfg(feature = "api-12")]
15114    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15115    pub fn OH_ArkUI_UnregisterSystemFontStyleChangeEvent(node: ArkUI_NodeHandle);
15116    /// Retrieve the font size value for system font change events.
15117    ///
15118    /// # Arguments
15119    ///
15120    /// * `event` - Indicates a pointer to the current system font change event.
15121    ///
15122    /// # Returns
15123    ///
15124    /// * Updated system font size scaling factor. Default value: 1.0.
15125    ///
15126    /// Available since API-level: 12
15127    #[cfg(feature = "api-12")]
15128    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15129    pub fn OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(
15130        event: *const ArkUI_SystemFontStyleEvent,
15131    ) -> f32;
15132    /// Retrieve the font thickness values for system font change events.
15133    ///
15134    /// # Arguments
15135    ///
15136    /// * `event` - Indicates a pointer to the current system font change event.
15137    ///
15138    /// # Returns
15139    ///
15140    /// * The updated system font thickness scaling factor. Default value: 1.0.
15141    ///
15142    /// Available since API-level: 12
15143    #[cfg(feature = "api-12")]
15144    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15145    pub fn OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(
15146        event: *const ArkUI_SystemFontStyleEvent,
15147    ) -> f32;
15148    /// Get the node handle by id.
15149    ///
15150    /// # Arguments
15151    ///
15152    /// * `id` - The id of the target node handle.
15153    ///
15154    /// * `node` - The handle of target node handle.
15155    ///
15156    /// # Returns
15157    ///
15158    /// * Error code.
15159    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15160    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15161    ///
15162    /// Available since API-level: 15
15163    #[cfg(feature = "api-15")]
15164    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15165    pub fn OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(
15166        id: *const ::core::ffi::c_char,
15167        node: *mut ArkUI_NodeHandle,
15168    ) -> i32;
15169    /// Move the node handle to target parent node as child.
15170    ///
15171    /// # Arguments
15172    ///
15173    /// * `node` - The node handle of the node to move.
15174    ///
15175    /// * `target_parent` - The node handle of target parent.
15176    ///
15177    /// * `index` - Indicates the index which the node is moved to. If the value is a nagative number of invalid, the
15178    /// node is moved to the end of the target parent node.
15179    ///
15180    /// # Returns
15181    ///
15182    /// * Error code.
15183    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15184    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15185    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15186    /// [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
15187    ///
15188    /// Available since API-level: 18
15189    #[cfg(feature = "api-18")]
15190    #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
15191    pub fn OH_ArkUI_NodeUtils_MoveTo(
15192        node: ArkUI_NodeHandle,
15193        target_parent: ArkUI_NodeHandle,
15194        index: i32,
15195    ) -> i32;
15196    /// Triggers node updates in the current frame.
15197    /// When node attributes are modified after the current frame's build phase,
15198    /// the node updates will be deferred to the next
15199    /// frame. This function forces immediate node updates within the current frame to
15200    /// ensure rendering effects are applied synchronously.
15201    ///
15202    /// # Arguments
15203    ///
15204    /// * `node` - ArkUI_NodeHandle pointer.
15205    ///
15206    /// # Returns
15207    ///
15208    /// * Error code.
15209    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15210    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15211    ///
15212    /// Available since API-level: 21
15213    #[cfg(feature = "api-21")]
15214    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15215    pub fn OH_ArkUI_NativeModule_InvalidateAttributes(node: ArkUI_NodeHandle) -> i32;
15216    /// Set the cross-language option of the target node handle.
15217    ///
15218    /// # Arguments
15219    ///
15220    /// * `node` - The target node handle.
15221    ///
15222    /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
15223    ///
15224    /// # Returns
15225    ///
15226    /// * Error code.
15227    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15228    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15229    ///
15230    /// Available since API-level: 15
15231    #[cfg(feature = "api-15")]
15232    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15233    pub fn OH_ArkUI_NodeUtils_SetCrossLanguageOption(
15234        node: ArkUI_NodeHandle,
15235        option: *mut ArkUI_CrossLanguageOption,
15236    ) -> i32;
15237    /// Get the cross-language option of the target node handle.
15238    ///
15239    /// # Arguments
15240    ///
15241    /// * `node` - The target node handle.
15242    ///
15243    /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
15244    ///
15245    /// # Returns
15246    ///
15247    /// * Error code.
15248    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15249    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15250    ///
15251    /// Available since API-level: 15
15252    #[cfg(feature = "api-15")]
15253    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15254    pub fn OH_ArkUI_NodeUtils_GetCrossLanguageOption(
15255        node: ArkUI_NodeHandle,
15256        option: *mut ArkUI_CrossLanguageOption,
15257    ) -> i32;
15258    /// Registers a callback for node when layout is completed.
15259    ///
15260    /// # Arguments
15261    ///
15262    /// * `node` - Indicates the target node.
15263    ///
15264    /// * `userData` - Indicates the custom data used in onLayoutCompleted callback function.
15265    ///
15266    /// * `onLayoutCompleted` - Indicates the function when layout completed is callback.
15267    ///
15268    /// # Returns
15269    ///
15270    /// * error code
15271    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15272    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15273    ///
15274    /// Available since API-level: 15
15275    #[cfg(feature = "api-15")]
15276    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15277    pub fn OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(
15278        node: ArkUI_NodeHandle,
15279        userData: *mut ::core::ffi::c_void,
15280        onLayoutCompleted: ::core::option::Option<
15281            unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
15282        >,
15283    ) -> i32;
15284    /// Registers a callback for node when draw is completed.
15285    ///
15286    /// # Arguments
15287    ///
15288    /// * `node` - Indicates the target node.
15289    ///
15290    /// * `userData` - Indicates the custom data used in onDrawCompleted callback function.
15291    ///
15292    /// * `onDrawCompleted` - Indicates the function when draw completed is callback.
15293    ///
15294    /// # Returns
15295    ///
15296    /// * error code
15297    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15298    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15299    ///
15300    /// Available since API-level: 15
15301    #[cfg(feature = "api-15")]
15302    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15303    pub fn OH_ArkUI_RegisterDrawCallbackOnNodeHandle(
15304        node: ArkUI_NodeHandle,
15305        userData: *mut ::core::ffi::c_void,
15306        onDrawCompleted: ::core::option::Option<
15307            unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
15308        >,
15309    ) -> i32;
15310    /// Unregisters the layout completed callback for node.
15311    ///
15312    /// # Arguments
15313    ///
15314    /// * `node` - Indicates the target node.
15315    ///
15316    /// # Returns
15317    ///
15318    /// * error code
15319    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15320    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15321    ///
15322    /// Available since API-level: 15
15323    #[cfg(feature = "api-15")]
15324    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15325    pub fn OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
15326    /// Unregisters the draw completed callback for node.
15327    ///
15328    /// # Arguments
15329    ///
15330    /// * `node` - Indicates the target node.
15331    ///
15332    /// # Returns
15333    ///
15334    /// * error code
15335    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15336    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15337    ///
15338    /// Available since API-level: 15
15339    #[cfg(feature = "api-15")]
15340    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15341    pub fn OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
15342    /// Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the
15343    /// tree or is not rendered yet.
15344    /// Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more.
15345    ///
15346    /// # Arguments
15347    ///
15348    /// * `node` - Indicates the target node.
15349    ///
15350    /// * `snapshotOptions` - the given configuration for taking snapshot, can be null for using default.
15351    ///
15352    /// * `pixelmap` - Pixelmap pointer created by system, it's the out result.
15353    ///
15354    /// # Returns
15355    ///
15356    /// * Returns the result code.
15357    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15358    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15359    /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot taking failed will null pixelmap returned.
15360    /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot taking is timeout.
15361    ///
15362    /// Available since API-level: 15
15363    ////**
15364    /// Obtains a snapshot of a given component. If the node is not in the component tree or has not been rendered,
15365    /// the snapshot operation will fail. When the <b>Pixelmap</b> object created is no longer in use, it should be released
15366    /// by calling [`OH_PixelmapNative_Release`].
15367    ///
15368    ///
15369    /// * `node` - Target node.
15370    ///
15371    /// * `snapshotOptions` - Snapshot settings. If the value is null, the default settings are used.
15372    /// Snapshot settings include scaling, color space, and dynamic range configuration.
15373    /// Scaling: floating-point value greater than 0.
15374    /// Color space: <b>3</b> (DISPLAY_P3), <b>4</b> (SRGB), <b>27</b> (DISPLAY_BT2020_SRGB).
15375    /// Dynamic range: [`ArkUI_DynamicRangeMode`].
15376    ///
15377    /// * `pixelmap` - Pointer to the <b>Pixelmap</b> object created by the system.
15378    ///
15379    /// * Result code.
15380    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15381    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15382    /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot fails, returning a null pointer.
15383    /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot operation times out.
15384    /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_MODE_NOT_SUPPORTED`] if the provided color space or
15385    /// dynamic range mode is not supported.
15386    /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_AUTO_NOT_SUPPORTED`] if the isAuto parameter of the color
15387    /// space or dynamic range mode is set to true for offscreen node snapshot.
15388    ///
15389    /// Available since API-level: 23
15390    #[cfg(feature = "api-15")]
15391    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15392    pub fn OH_ArkUI_GetNodeSnapshot(
15393        node: ArkUI_NodeHandle,
15394        snapshotOptions: *mut ArkUI_SnapshotOptions,
15395        pixelmap: *mut *mut OH_PixelmapNative,
15396    ) -> i32;
15397    /// Obtains the offset of a specific node relative to its parent node.
15398    ///
15399    /// # Arguments
15400    ///
15401    /// * `node` - Target node.
15402    ///
15403    /// * `globalOffset` - Offset of the target node relative to its parent node, in px.
15404    ///
15405    /// # Returns
15406    ///
15407    /// * Returns the result code.
15408    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15409    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15410    ///
15411    /// Available since API-level: 15
15412    #[cfg(feature = "api-15")]
15413    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15414    pub fn OH_ArkUI_NodeUtils_GetPositionToParent(
15415        node: ArkUI_NodeHandle,
15416        globalOffset: *mut ArkUI_IntOffset,
15417    ) -> i32;
15418    /// Adds the UI state style supported by the component. To handle states change efficiently, need to specify the
15419    /// states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed.
15420    /// - You can adjust the UI style based on the current state within the callback. If this API is called multiple
15421    /// times on the same node, the last set of states and handler will take precedence.
15422    /// - Some component types have default system handling for certain states. For example, the <b>Button</b>
15423    /// component has a default style effect for the PRESSED state. When custom state handling is implemented on such
15424    /// components, the default style effect will be applied first, followed by the custom style changes, resulting in
15425    /// a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed
15426    /// by the system implementation.
15427    /// - And when this API is called, the provided handler function will be executed immediately.
15428    /// - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered,
15429    /// the system will automatically notify your application when the state changes back to NORMAL.
15430    ///
15431    /// # Arguments
15432    ///
15433    /// * `node` - Target node.
15434    ///
15435    /// * `uiStates` - Target UI states to be handled on the node.
15436    /// The combined result of all target UI states can be calculated using the <b>|</b> operator.
15437    /// Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>.
15438    ///
15439    /// * `statesChangeHandler` - Handler for UI state changes.
15440    /// It rturns the current UI status. The value is the result of combining all current state enum values using the
15441    /// <b>|</b> operator. You can determine the state using the <b>&</b> operator.
15442    /// Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b>.
15443    /// However, for checking the normal state, use the equality operator directly.
15444    /// Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>.
15445    ///
15446    /// * `excludeInner` - Whether to disable the default state styles.
15447    ///
15448    /// * `userData` - Custom data used in the <b>statesChangeHandler</b> callback.
15449    ///
15450    /// # Returns
15451    ///
15452    /// * Returns the result code.
15453    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15454    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15455    ///
15456    /// Available since API-level: 20
15457    #[cfg(feature = "api-20")]
15458    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15459    pub fn OH_ArkUI_AddSupportedUIStates(
15460        node: ArkUI_NodeHandle,
15461        uiStates: i32,
15462        statesChangeHandler: ::core::option::Option<
15463            unsafe extern "C" fn(currentStates: i32, userData: *mut ::core::ffi::c_void),
15464        >,
15465        excludeInner: bool,
15466        userData: *mut ::core::ffi::c_void,
15467    ) -> ArkUiResult;
15468    /// Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b>
15469    /// are removed, the registered <b>stateChangeHandler</b> will no longer be executed.
15470    ///
15471    /// # Arguments
15472    ///
15473    /// * `node` - Target node.
15474    ///
15475    /// * `uiStates` - Target UI states to be removed.
15476    ///
15477    /// # Returns
15478    ///
15479    /// * Returns the result code.
15480    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15481    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15482    ///
15483    /// Available since API-level: 20
15484    #[cfg(feature = "api-20")]
15485    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15486    pub fn OH_ArkUI_RemoveSupportedUIStates(node: ArkUI_NodeHandle, uiStates: i32) -> ArkUiResult;
15487    /// Run a custom function inside the UIContext scope.
15488    ///
15489    /// # Arguments
15490    ///
15491    /// * `uiContext` - Indicates the pointer to a UI instance.
15492    ///
15493    /// * `userData` - Indicates the pointer to the custom data.
15494    ///
15495    /// * `callback` - The custom function.
15496    ///
15497    /// # Returns
15498    ///
15499    /// * Returns the result code.
15500    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15501    /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15502    /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
15503    /// Returns [`ARKUI_ERROR_CODE_CALLBACK_INVALID`] if the callback function is invalid.
15504    ///
15505    /// Available since API-level: 20
15506    #[cfg(feature = "api-20")]
15507    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15508    pub fn OH_ArkUI_RunTaskInScope(
15509        uiContext: ArkUI_ContextHandle,
15510        userData: *mut ::core::ffi::c_void,
15511        callback: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
15512    ) -> i32;
15513    /// Get the node handle by uniqueId.
15514    ///
15515    /// # Arguments
15516    ///
15517    /// * `uniqueId` - The uniqueId of the target node handle.
15518    ///
15519    /// * `node` - The handle of target node handle.
15520    ///
15521    /// # Returns
15522    ///
15523    /// * Error code.
15524    /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15525    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15526    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15527    ///
15528    /// Available since API-level: 20
15529    #[cfg(feature = "api-20")]
15530    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15531    pub fn OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(
15532        uniqueId: u32,
15533        node: *mut ArkUI_NodeHandle,
15534    ) -> i32;
15535    /// Get the uniqueId of the target node handle.
15536    ///
15537    /// # Arguments
15538    ///
15539    /// * `node` - The ArkUI-NodeHandle pointer.
15540    ///
15541    /// * `uniqueId` - The uniqueId of the target node handle, default value is -1.
15542    ///
15543    /// # Returns
15544    ///
15545    /// * Error code.
15546    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15547    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15548    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15549    ///
15550    /// Available since API-level: 20
15551    #[cfg(feature = "api-20")]
15552    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15553    pub fn OH_ArkUI_NodeUtils_GetNodeUniqueId(node: ArkUI_NodeHandle, uniqueId: *mut i32) -> i32;
15554    /// Returns true if the node is in the render state. A node is considered to be in the render state if its
15555    /// corresponding RenderNode is on the render tree.
15556    ///
15557    /// # Arguments
15558    ///
15559    /// * `node` - ArkUI_NodeHandle pointer.
15560    ///
15561    /// * `isInRenderState` - If the node is in the render state.
15562    ///
15563    /// # Returns
15564    ///
15565    /// * Error code.
15566    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15567    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15568    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15569    ///
15570    /// Available since API-level: 23
15571    #[cfg(feature = "api-23")]
15572    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15573    pub fn OH_ArkUI_NativeModule_IsInRenderState(
15574        node: ArkUI_NodeHandle,
15575        isInRenderState: *mut bool,
15576    ) -> i32;
15577    /// The current node adopts the target child node. The node being adopted must not have an existing parent node.
15578    /// This operation does not actually append it as a child, but only allows it to receive life-cycle
15579    /// callbacks as if it were a child.
15580    ///
15581    /// # Arguments
15582    ///
15583    /// * `node` - ArkUI_NodeHandle pointer, the parent node that will adopt the child node.
15584    ///
15585    /// * `child` - ArkUI_NodeHandle pointer, the target node being adopted.
15586    ///
15587    /// # Returns
15588    ///
15589    /// * Error code.
15590    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15591    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15592    /// [`ARKUI_ERROR_CODE_NODE_HAS_PARENT`] The child already has a parent node.
15593    /// [`ARKUI_ERROR_CODE_NODE_CAN_NOT_BE_ADOPTED`] The child can not be adopted.
15594    /// [`ARKUI_ERROR_CODE_NODE_CAN_NOT_ADOPT_TO`] The node can not adopt children.
15595    ///
15596    /// Available since API-level: 22
15597    #[cfg(feature = "api-22")]
15598    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15599    pub fn OH_ArkUI_NativeModule_AdoptChild(node: ArkUI_NodeHandle, child: ArkUI_NodeHandle)
15600        -> i32;
15601    /// Remove the target adopted child node.
15602    ///
15603    /// # Arguments
15604    ///
15605    /// * `node` - ArkUI_NodeHandle pointer, the parent node.
15606    ///
15607    /// * `child` - ArkUI_NodeHandle pointer, the node being removed.
15608    ///
15609    /// # Returns
15610    ///
15611    /// * Error code.
15612    /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15613    /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15614    /// [`ARKUI_ERROR_CODE_NODE_IS_NOT_IN_ADOPTED_CHILDREN`] This child node is not adopted by the parent node.
15615    ///
15616    /// Available since API-level: 22
15617    #[cfg(feature = "api-22")]
15618    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15619    pub fn OH_ArkUI_NativeModule_RemoveAdoptedChild(
15620        node: ArkUI_NodeHandle,
15621        child: ArkUI_NodeHandle,
15622    ) -> i32;
15623    /// Sets the inverse color algorithm for components and instances.
15624    ///
15625    /// # Arguments
15626    ///
15627    /// * `uiContext` - Indicates the context in which the inverse color feature should take effect.
15628    /// If the value is null, the feature applies to the entire application process.
15629    ///
15630    /// * `forceDark` - Indicates whether the inverse color feature is enabled.
15631    ///
15632    /// * `nodeType` - Indicates the component type for which to enable the inverse color feature.
15633    /// If the value is ARKUI_NODE_UNDEFINED, enabling the feature for all components.
15634    ///
15635    /// * `colorInvertFunc` - Indicates the user-defined inverse color algorithm.
15636    ///
15637    /// # Returns
15638    ///
15639    /// * Returns the error code.
15640    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15641    /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if CAPI init error.
15642    /// Returns [`ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID`] if force dark config is invalid.
15643    ///
15644    /// Available since API-level: 20
15645    #[cfg(feature = "api-20")]
15646    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15647    pub fn OH_ArkUI_SetForceDarkConfig(
15648        uiContext: ArkUI_ContextHandle,
15649        forceDark: bool,
15650        nodeType: ArkUI_NodeType,
15651        colorInvertFunc: ::core::option::Option<unsafe extern "C" fn(color: u32) -> u32>,
15652    ) -> i32;
15653    /// Register common event callback of target node.
15654    ///
15655    /// # Arguments
15656    ///
15657    /// * `node` - The ArkUI-NodeHandle pointer.
15658    ///
15659    /// * `eventType` - Indicates the type of event to set.
15660    ///
15661    /// * `userData` - Indicates the pointer to the custom data.
15662    ///
15663    /// * `callback` - Indicates the event callback function.
15664    ///
15665    /// # Returns
15666    ///
15667    /// * Returns the result code.
15668    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15669    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15670    /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
15671    ///
15672    /// Available since API-level: 21
15673    #[cfg(feature = "api-21")]
15674    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15675    pub fn OH_ArkUI_NativeModule_RegisterCommonEvent(
15676        node: ArkUI_NodeHandle,
15677        eventType: ArkUI_NodeEventType,
15678        userData: *mut ::core::ffi::c_void,
15679        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
15680    ) -> i32;
15681    /// Unregister common event callback of target node.
15682    ///
15683    /// # Arguments
15684    ///
15685    /// * `node` - The ArkUI-NodeHandle pointer.
15686    ///
15687    /// * `eventType` - Indicates the type of event to set.
15688    ///
15689    /// # Returns
15690    ///
15691    /// * Returns the result code.
15692    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15693    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15694    /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
15695    ///
15696    /// Available since API-level: 21
15697    #[cfg(feature = "api-21")]
15698    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15699    pub fn OH_ArkUI_NativeModule_UnregisterCommonEvent(
15700        node: ArkUI_NodeHandle,
15701        eventType: ArkUI_NodeEventType,
15702    ) -> i32;
15703    /// Register common visible area approximate change event callback of target node.
15704    ///
15705    /// # Arguments
15706    ///
15707    /// * `node` - The ArkUI-NodeHandle pointer.
15708    ///
15709    /// * `ratios` - Threshold array representing the visible area of the component.
15710    ///
15711    /// * `size` - The size of the ratios.
15712    ///
15713    /// * `expectedUpdateInterval` - The expected calculation interval for developers.
15714    ///
15715    /// * `userData` - Indicates the pointer to the custom data.
15716    ///
15717    /// * `callback` - Indicates the event callback function.
15718    ///
15719    /// # Returns
15720    ///
15721    /// * Returns the result code.
15722    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15723    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15724    ///
15725    /// Available since API-level: 21
15726    #[cfg(feature = "api-21")]
15727    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15728    pub fn OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(
15729        node: ArkUI_NodeHandle,
15730        ratios: *mut f32,
15731        size: i32,
15732        expectedUpdateInterval: f32,
15733        userData: *mut ::core::ffi::c_void,
15734        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
15735    ) -> i32;
15736    /// Unregister common visible area approximate change event callback of target node.
15737    ///
15738    /// # Arguments
15739    ///
15740    /// * `node` - The ArkUI-NodeHandle pointer.
15741    ///
15742    /// # Returns
15743    ///
15744    /// * Returns the result code.
15745    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15746    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15747    ///
15748    /// Available since API-level: 21
15749    #[cfg(feature = "api-21")]
15750    #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15751    pub fn OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(
15752        node: ArkUI_NodeHandle,
15753    ) -> i32;
15754    /// Converts a point's coordinates from the target node's coordinate system
15755    /// to the current window's coordinate system, with consideration of the node’s transformation.
15756    ///
15757    /// # Arguments
15758    ///
15759    /// {ArkUI_NodeHandle} currentNode ArkUI_NodeHandle The target node.
15760    ///
15761    /// {ArkUI_IntOffset} localPosition The point's coordinates in the target node's local coordinate system, in px.
15762    ///
15763    /// {ArkUI_IntOffset*} windowPosition The converted coordinates in the current window's coordinate system, in px.
15764    ///
15765    /// # Returns
15766    ///
15767    /// * Error code.
15768    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15769    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15770    /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The target node is not on main tree.
15771    ///
15772    /// Available since API-level: 23
15773    #[cfg(feature = "api-23")]
15774    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15775    pub fn OH_ArkUI_NativeModule_ConvertPositionToWindow(
15776        currentNode: ArkUI_NodeHandle,
15777        localPosition: ArkUI_IntOffset,
15778        windowPosition: *mut ArkUI_IntOffset,
15779    ) -> i32;
15780    /// Converts a point's coordinates from the current window's coordinate system
15781    /// to the target node's coordinate system, with consideration of the node’s transformation.
15782    ///
15783    /// # Arguments
15784    ///
15785    /// {ArkUI_NodeHandle } targetNode ArkUI_NodeHandle The target node.
15786    ///
15787    /// {ArkUI_IntOffset} windowPosition The point's coordinates in the current window's coordinate system, in px.
15788    ///
15789    /// {ArkUI_IntOffset*} localPosition The converted coordinates in the target node's local coordinate system, in px.
15790    ///
15791    /// # Returns
15792    ///
15793    /// * Error code.
15794    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15795    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15796    /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The target node is not on main tree.
15797    ///
15798    /// Available since API-level: 23
15799    #[cfg(feature = "api-23")]
15800    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15801    pub fn OH_ArkUI_NativeModule_ConvertPositionFromWindow(
15802        targetNode: ArkUI_NodeHandle,
15803        windowPosition: ArkUI_IntOffset,
15804        localPosition: *mut ArkUI_IntOffset,
15805    ) -> i32;
15806    /// Stop the animation being executed by the Swiper node.
15807    ///
15808    /// # Arguments
15809    ///
15810    /// * `node` - ArkUI_NodeHandle pointer.
15811    ///
15812    /// # Returns
15813    ///
15814    /// * Error code.
15815    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15816    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15817    ///
15818    /// Available since API-level: 22
15819    #[cfg(feature = "api-22")]
15820    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15821    pub fn OH_ArkUI_Swiper_FinishAnimation(node: ArkUI_NodeHandle) -> i32;
15822    /// Post UI task to background threads.
15823    ///
15824    /// # Arguments
15825    ///
15826    /// * `context` - UIContext pointer of the page where the UI task located.
15827    ///
15828    /// * `asyncUITaskData` - Parameter of asyncUITask and onFinish.
15829    ///
15830    /// * `asyncUITask` - Function executed by a background thread.
15831    ///
15832    /// * `onFinish` - Function executed by UI thread after async UI task is executed.
15833    ///
15834    /// # Returns
15835    ///
15836    /// * Returns the result code.
15837    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15838    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or asyncUITask is nullptr.
15839    ///
15840    /// Available since API-level: 22
15841    #[cfg(feature = "api-22")]
15842    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15843    pub fn OH_ArkUI_PostAsyncUITask(
15844        context: ArkUI_ContextHandle,
15845        asyncUITaskData: *mut ::core::ffi::c_void,
15846        asyncUITask: ::core::option::Option<
15847            unsafe extern "C" fn(asyncUITaskData: *mut ::core::ffi::c_void),
15848        >,
15849        onFinish: ::core::option::Option<
15850            unsafe extern "C" fn(asyncUITaskData: *mut ::core::ffi::c_void),
15851        >,
15852    ) -> i32;
15853    /// Post UI task to UI thread.
15854    ///
15855    /// # Arguments
15856    ///
15857    /// * `context` - UIContext pointer of the page where the UI task located.
15858    ///
15859    /// * `taskData` - Parameter of task.
15860    ///
15861    /// * `task` - Function executed by UI thread.
15862    ///
15863    /// # Returns
15864    ///
15865    /// * Returns the result code.
15866    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15867    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or task is nullptr.
15868    ///
15869    /// Available since API-level: 22
15870    #[cfg(feature = "api-22")]
15871    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15872    pub fn OH_ArkUI_PostUITask(
15873        context: ArkUI_ContextHandle,
15874        taskData: *mut ::core::ffi::c_void,
15875        task: ::core::option::Option<unsafe extern "C" fn(taskData: *mut ::core::ffi::c_void)>,
15876    ) -> i32;
15877    /// set the visiblity of the menubar.
15878    ///
15879    /// # Arguments
15880    ///
15881    /// * `uiContext` - ArkUI_ContextHandle. - The designated ArkUI container context.
15882    ///
15883    /// * `visible` - visibility. true indicate the menubar is visible,
15884    /// false indicate the menubar is invisible.
15885    ///
15886    /// # Returns
15887    ///
15888    /// * Returns the result code.
15889    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15890    /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
15891    /// for example, 1.uiContext is nullptr 2.can not get container by uiContext.
15892    /// 3. the uiContext is not belong to atomic service.
15893    ///
15894    /// Available since API-level: 23
15895    #[cfg(feature = "api-23")]
15896    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15897    pub fn OH_ArkUI_NativeModule_AtomicServiceMenuBarSetVisible(
15898        uiContext: ArkUI_ContextHandle,
15899        visible: bool,
15900    ) -> i32;
15901    /// Post UI task to UI thread and wait until UI task finished.
15902    ///
15903    /// # Arguments
15904    ///
15905    /// * `context` - UIContext pointer of the page where the UI task located.
15906    ///
15907    /// * `taskData` - Parameter of task.
15908    ///
15909    /// * `task` - Function executed by UI thread.
15910    ///
15911    /// # Returns
15912    ///
15913    /// * Returns the result code.
15914    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15915    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or task is nullptr.
15916    ///
15917    /// Available since API-level: 22
15918    #[cfg(feature = "api-22")]
15919    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15920    pub fn OH_ArkUI_PostUITaskAndWait(
15921        context: ArkUI_ContextHandle,
15922        taskData: *mut ::core::ffi::c_void,
15923        task: ::core::option::Option<unsafe extern "C" fn(taskData: *mut ::core::ffi::c_void)>,
15924    ) -> i32;
15925    /// Start a fake drag of the Swiper node.
15926    /// Call OH_ArkUI_Swiper_FakeDragBy to simulate the drag motion. Call OH_ArkUI_Swiper_StopFakeDrag to complete the
15927    /// fake drag. A fake drag can be interrupted by a real drag. If you need to ignore touch events and other user input
15928    /// during a fake drag, use NODE_SWIPER_DISABLE_SWIPE.
15929    ///
15930    /// # Arguments
15931    ///
15932    /// * `node` - ArkUI_NodeHandle pointer.
15933    ///
15934    /// * `isSuccessful` - If the fake drag started successfully, return true.
15935    /// If the Swiper is not ready to start the fake drag, or a real or fake drag is already in progress, return false.
15936    ///
15937    /// # Returns
15938    ///
15939    /// * Error code.
15940    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15941    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15942    ///
15943    /// Available since API-level: 23
15944    #[cfg(feature = "api-23")]
15945    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15946    pub fn OH_ArkUI_Swiper_StartFakeDrag(node: ArkUI_NodeHandle, isSuccessful: *mut bool) -> i32;
15947    /// Fake drag by an offset of the Swiper node.
15948    /// The OH_ArkUI_Swiper_StartFakeDrag must be called first.
15949    ///
15950    /// # Arguments
15951    ///
15952    /// * `node` - ArkUI_NodeHandle pointer.
15953    ///
15954    /// * `offset` - The offset that needs to be scrolled. The unit is vp.
15955    ///
15956    /// * `isConsumedOffset` - If not in a fake drag progress, or no offset is consumed, return false.
15957    /// If any offset is consumed, return true.
15958    ///
15959    /// # Returns
15960    ///
15961    /// * Error code.
15962    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15963    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15964    ///
15965    /// Available since API-level: 23
15966    #[cfg(feature = "api-23")]
15967    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15968    pub fn OH_ArkUI_Swiper_FakeDragBy(
15969        node: ArkUI_NodeHandle,
15970        offset: f32,
15971        isConsumedOffset: *mut bool,
15972    ) -> i32;
15973    /// Stop a fake drag of the Swiper node.
15974    ///
15975    /// # Arguments
15976    ///
15977    /// * `node` - ArkUI_NodeHandle pointer.
15978    ///
15979    /// * `isSuccessful` - If the fake drag stopped successfully, return true.
15980    /// If the Swiper is not ready to stop the fake drag, or no fake drag is in progress, return false.
15981    ///
15982    /// # Returns
15983    ///
15984    /// * Error code.
15985    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15986    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15987    ///
15988    /// Available since API-level: 23
15989    #[cfg(feature = "api-23")]
15990    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15991    pub fn OH_ArkUI_Swiper_StopFakeDrag(node: ArkUI_NodeHandle, isSuccessful: *mut bool) -> i32;
15992    /// Get the fake drag state of the Swiper node.
15993    ///
15994    /// # Arguments
15995    ///
15996    /// * `node` - ArkUI_NodeHandle pointer.
15997    ///
15998    /// * `isFakeDragging` - If a fake drag is in progress return true, otherwise return false
15999    ///
16000    /// # Returns
16001    ///
16002    /// * Error code.
16003    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16004    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16005    ///
16006    /// Available since API-level: 23
16007    #[cfg(feature = "api-23")]
16008    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16009    pub fn OH_ArkUI_Swiper_IsFakeDragging(node: ArkUI_NodeHandle, isFakeDragging: *mut bool)
16010        -> i32;
16011    /// Show the previous page of the Swiper node.
16012    ///
16013    /// # Arguments
16014    ///
16015    /// * `node` - ArkUI_NodeHandle pointer.
16016    ///
16017    /// # Returns
16018    ///
16019    /// * Error code.
16020    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16021    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16022    ///
16023    /// Available since API-level: 23
16024    #[cfg(feature = "api-23")]
16025    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16026    pub fn OH_ArkUI_Swiper_ShowPrevious(node: ArkUI_NodeHandle) -> i32;
16027    /// Show the next page of the Swiper node.
16028    ///
16029    /// # Arguments
16030    ///
16031    /// * `node` - ArkUI_NodeHandle pointer.
16032    ///
16033    /// # Returns
16034    ///
16035    /// * Error code.
16036    /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16037    /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16038    ///
16039    /// Available since API-level: 23
16040    #[cfg(feature = "api-23")]
16041    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16042    pub fn OH_ArkUI_Swiper_ShowNext(node: ArkUI_NodeHandle) -> i32;
16043}