• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /**
17  * @addtogroup ArkUI_NativeModule
18  * @{
19  *
20  * @brief Provides UI capabilities of ArkUI on the native side, such as UI component creation and destruction,
21  * tree node operations, attribute setting, and event listening.
22  *
23  * @since 12
24  */
25 
26 /**
27  * @file native_node.h
28  *
29  * @brief Provides type definitions for <b>NativeNode</b> APIs.
30  *
31  * @library libace_ndk.z.so
32  * @syscap SystemCapability.ArkUI.ArkUI.Full
33  * @since 12
34  */
35 
36 #ifndef ARKUI_NATIVE_NODE_H
37 #define ARKUI_NATIVE_NODE_H
38 
39 #include "native_type.h"
40 #include "ui_input_event.h"
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #define MAX_NODE_SCOPE_NUM 1000
47 
48 /**
49  * @brief Enumerates ArkUI component types that can be created on the native side.
50  *
51  * @since 12
52  */
53 typedef enum {
54     /** Custom node. */
55     ARKUI_NODE_CUSTOM = 0,
56     /** Text. */
57     ARKUI_NODE_TEXT = 1,
58     /** Text span. */
59     ARKUI_NODE_SPAN = 2,
60     /** Image span. */
61     ARKUI_NODE_IMAGE_SPAN = 3,
62     /** Image. */
63     ARKUI_NODE_IMAGE = 4,
64     /** Toggle. */
65     ARKUI_NODE_TOGGLE = 5,
66     /** Loading icon. */
67     ARKUI_NODE_LOADING_PROGRESS = 6,
68     /** Single-line text input. */
69     ARKUI_NODE_TEXT_INPUT = 7,
70     /** Multi-line text input. */
71     ARKUI_NODE_TEXT_AREA = 8,
72     /** Button. */
73     ARKUI_NODE_BUTTON = 9,
74     /** Progress indicator. */
75     ARKUI_NODE_PROGRESS = 10,
76     /** Check box. */
77     ARKUI_NODE_CHECKBOX = 11,
78     /** XComponent. */
79     ARKUI_NODE_XCOMPONENT = 12,
80     /** Date picker. */
81     ARKUI_NODE_DATE_PICKER = 13,
82     /** Time picker. */
83     ARKUI_NODE_TIME_PICKER = 14,
84     /** Text picker. */
85     ARKUI_NODE_TEXT_PICKER = 15,
86     /** Calendar picker. */
87     ARKUI_NODE_CALENDAR_PICKER = 16,
88     /** Slider. */
89     ARKUI_NODE_SLIDER = 17,
90     /** Radio button. */
91     ARKUI_NODE_RADIO = 18,
92     /** Frame-by-frame animation component. */
93     ARKUI_NODE_IMAGE_ANIMATOR = 19,
94     /** Check box group.
95      *  @since 15
96      */
97     ARKUI_NODE_CHECKBOX_GROUP = 21,
98     /** Stack container. */
99     ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM,
100     /** Swiper. */
101     ARKUI_NODE_SWIPER,
102     /** Scrolling container. */
103     ARKUI_NODE_SCROLL,
104     /** List. */
105     ARKUI_NODE_LIST,
106     /** List item. */
107     ARKUI_NODE_LIST_ITEM,
108     /** List item group. */
109     ARKUI_NODE_LIST_ITEM_GROUP,
110     /** Column container. */
111     ARKUI_NODE_COLUMN,
112     /** Row container. */
113     ARKUI_NODE_ROW,
114     /** Flex container. */
115     ARKUI_NODE_FLEX,
116     /** Refresh component. */
117     ARKUI_NODE_REFRESH,
118     /** Water flow container. */
119     ARKUI_NODE_WATER_FLOW,
120     /** Water flow item. */
121     ARKUI_NODE_FLOW_ITEM,
122     /** Relative layout component. */
123     ARKUI_NODE_RELATIVE_CONTAINER,
124     /** Grid. */
125     ARKUI_NODE_GRID,
126     /** Grid item. */
127     ARKUI_NODE_GRID_ITEM,
128     /** Custom_Span. */
129     ARKUI_NODE_CUSTOM_SPAN,
130 } ArkUI_NodeType;
131 
132 /**
133  * @brief Defines the general input parameter structure of the {@link setAttribute} function.
134  *
135  * @since 12
136  */
137 typedef struct {
138     /** Numeric array. */
139     const ArkUI_NumberValue* value;
140     /** Size of the numeric array. */
141     int32_t size;
142     /** String type. */
143     const char* string;
144     /** Object type. */
145     void* object;
146 } ArkUI_AttributeItem;
147 
148 /**
149  * @brief Defines the ArkUI style attributes that can be set on the native side.
150  *
151  * @since 12
152  */
153 typedef enum {
154     /**
155      * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs.
156      *
157      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
158      * .value[0].f32: width, in vp.\n
159      * \n
160      * Format of the return value {@link ArkUI_AttributeItem}:\n
161      * .value[0].f32: width, in vp.\n
162      *
163      */
164     NODE_WIDTH = 0,
165     /**
166      * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs.
167      *
168      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
169      * .value[0].f32: height, in vp.\n
170      * \n
171      * Format of the return value {@link ArkUI_AttributeItem}:\n
172      * .value[0].f32: height, in vp.\n
173      *
174      */
175     NODE_HEIGHT,
176     /**
177      * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs.
178      *
179      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
180      * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
181      * \n
182      * Format of the return value {@link ArkUI_AttributeItem}:\n
183      * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
184      *
185      */
186     NODE_BACKGROUND_COLOR,
187     /**
188      * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs.
189      *
190      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
191      * .string: image address;\n
192      * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}.
193      * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n
194      * \n
195      * Format of the return value {@link ArkUI_AttributeItem}:\n
196      * .string: image address;\n
197      * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n
198      *
199      */
200     NODE_BACKGROUND_IMAGE,
201     /**
202      * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
203      *
204      * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n
205      * 1: Specify the same padding for the four directions. \n
206      * .value[0].f32: padding, in vp.\n
207      * 2: Specify different paddings for different directions. \n
208      * .value[0].f32: top padding, in vp.\n
209      * .value[1].f32: right padding, in vp.\n
210      * .value[2].f32: bottom padding, in vp.\n
211      * .value[3].f32: left padding, in vp.\n
212      * \n
213      * Format of the return value {@link ArkUI_AttributeItem}:\n
214      * .value[0].f32: top padding, in vp.\n
215      * .value[1].f32: right padding, in vp.\n
216      * .value[2].f32: bottom padding, in vp.\n
217      * .value[3].f32: left padding, in vp.\n
218      *
219      */
220     NODE_PADDING,
221     /**
222      * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs.
223      *
224      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
225      * .string: component ID.\n
226      * \n
227      * Format of the return value {@link ArkUI_AttributeItem}:\n
228      * .string: component ID.\n
229      *
230      */
231     NODE_ID,
232     /**
233      * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs.
234      *
235      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
236      * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means
237      * the opposite.\n
238      * \n
239      * Format of the return value {@link ArkUI_AttributeItem}:\n
240      * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means
241      * the opposite. \n
242      *
243      */
244     NODE_ENABLED,
245     /**
246      * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
247      *
248      * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n
249      * 1: Specify the same margin for the four directions. \n
250      * .value[0].f32: margin, in vp.\n
251      * 2: Specify different margins for different directions. \n
252      * .value[0].f32: top margin, in vp.\n
253      * .value[1].f32: right margin, in vp.\n
254      * .value[2].f32: bottom margin, in vp.\n
255      * .value[3].f32: left margin, in vp.\n
256      * \n
257      * Format of the return value {@link ArkUI_AttributeItem}:\n
258      * .value[0].f32: top margin, in vp.\n
259      * .value[1].f32: right margin, in vp.\n
260      * .value[2].f32: bottom margin, in vp.\n
261      * .value[3].f32: left margin, in vp.\n
262      *
263      */
264     NODE_MARGIN,
265     /**
266      * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs.
267      *
268      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
269      * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n
270      * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n
271      * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n
272      * \n
273      * Format of the return value {@link ArkUI_AttributeItem}:\n
274      * .value[0].f32: distance to translate along the x-axis, in vp.\n
275      * .value[1].f32: distance to translate along the y-axis, in vp.\n
276      * .value[2].f32: distance to translate along the z-axis, in vp. \n
277      *
278      */
279     NODE_TRANSLATE,
280     /**
281      * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs.
282      *
283      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
284      * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n
285      * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n
286      * \n
287      * Format of the return value {@link ArkUI_AttributeItem}:\n
288      * .value[0].f32: scale factor along the x-axis.\n
289      * .value[1].f32: scale factor along the y-axis. \n
290      *
291      */
292     NODE_SCALE,
293     /**
294      * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs.
295      *
296      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
297      * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n
298      * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n
299      * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n
300      * .value[3].f32: rotation angle. The default value is <b>0</b>.\n
301      * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
302      * The default value is <b>0</b>. \n
303      * \n
304      * Format of the return value {@link ArkUI_AttributeItem}:\n
305      * .value[0].f32: X coordinate of the rotation axis vector.\n
306      * .value[1].f32: Y coordinate of the rotation axis vector.\n
307      * .value[2].f32: Z coordinate of the rotation axis vector.\n
308      * .value[3].f32: rotation angle.\n
309      * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n
310      *
311      */
312     NODE_ROTATE,
313     /**
314      * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs.
315      *
316      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
317      * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n
318      * \n
319      * Format of the return value {@link ArkUI_AttributeItem}:\n
320      * .value[0].f32: brightness value. \n
321      *
322      */
323     NODE_BRIGHTNESS,
324     /**
325      * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs.
326      *
327      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
328      * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50]. \n
329      * \n
330      * Format of the return value {@link ArkUI_AttributeItem}: \n
331      * .value[0].f32: saturation value. \n
332      *
333      */
334     NODE_SATURATION,
335     /**
336      * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs.
337      *
338      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
339      * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>,
340      * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n
341      * \n
342      * Format of the return value {@link ArkUI_AttributeItem}:\n
343      * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>,
344      * the image is not blurred. The unit is vp. \n
345      *
346      */
347     NODE_BLUR,
348     /**
349      * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs.
350      *
351      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
352      * .value[0].f32: start angle of the linear gradient. A positive value indicates a clockwise rotation from the
353      * origin, (0, 0). The default value is <b>180</b>.\n
354      * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set.
355      * The parameter type is {@link ArkUI_LinearGradientDirection}. \n
356      * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n
357      * .object: array of color stops, each of which consists of a color and its stop position.
358      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
359      * colors: colors of the color stops. \n
360      * stops: stop positions of the color stops. \n
361      * size: number of colors. \n
362      * \n
363      * Format of the return value {@link ArkUI_AttributeItem}:\n
364      * .value[0].f32: start angle of the linear gradient. \n
365      * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n
366      * .value[2].i32: whether the colors are repeated. \n
367      * .object: array of color stops, each of which consists of a color and its stop position.
368      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
369      * colors: colors of the color stops. \n
370      * stops: stop positions of the color stops. \n
371      * size: number of colors. \n
372      *
373      */
374     NODE_LINEAR_GRADIENT,
375     /**
376      * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs.
377      *
378      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
379      * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}.
380      * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n
381      * \n
382      * Format of the return value {@link ArkUI_AttributeItem}:\n
383      * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n
384      *
385      */
386     NODE_ALIGNMENT,
387     /**
388      * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs.
389      *
390      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
391      * .value[0].f32: opacity value. The value ranges from 0 to 1. \n
392      * \n
393      * Format of the return value {@link ArkUI_AttributeItem}:\n
394      * .value[0].f32: opacity value. The value ranges from 0 to 1. \n
395      *
396      */
397     NODE_OPACITY,
398     /**
399      * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
400      *
401      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
402      * 1: .value[0].f32: width of the four borders. \n
403      * 2: .value[0].f32: width of the top border. \n
404      * .value[1].f32: width of the right border. \n
405      * .value[2].f32: width of the bottom border. \n
406      * .value[3].f32: width of the left border. \n
407      * \n
408      * Format of the return value {@link ArkUI_AttributeItem}:\n
409      * .value[0].f32: width of the top border. \n
410      * .value[1].f32: width of the right border. \n
411      * .value[2].f32: width of the bottom border. \n
412      * .value[3].f32: width of the left border. \n
413      *
414      */
415     NODE_BORDER_WIDTH,
416     /**
417      * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
418      *
419      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
420      * 1: .value[0].f32: radius of the four corners. \n
421      * 2: .value[0].f32: radius of the upper left corner. \n
422      * .value[1].f32: radius of the upper right corner. \n
423      * .value[2].f32: radius of the lower left corner. \n
424      * .value[3].f32: radius of the lower right corner. \n
425      * \n
426      * Format of the return value {@link ArkUI_AttributeItem}:\n
427      * .value[0].f32: radius of the upper left corner. \n
428      * .value[1].f32: radius of the upper right corner. \n
429      * .value[2].f32: radius of the lower left corner. \n
430      * .value[3].f32: radius of the lower right corner. \n
431      *
432      */
433     NODE_BORDER_RADIUS,
434     /**
435      * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs.
436      *
437      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
438      * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
439      * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
440      * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
441      * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
442      * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
443      * \n
444      * Format of the return value {@link ArkUI_AttributeItem}:\n
445      * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
446      * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
447      * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
448      * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n
449      *
450      */
451     NODE_BORDER_COLOR,
452     /**
453      * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs.
454      *
455      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
456      * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}.
457      * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n
458      * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}.
459      * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n
460      * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}.
461      * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n
462      * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}.
463      * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n
464      * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}.
465      * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n
466      * \n
467      * Format of the return value {@link ArkUI_AttributeItem}:\n
468      * .value[0].i32: line style of the top border. \n
469      * .value[1].i32: line style of the right border. \n
470      * .value[2].i32: line style of the bottom border. \n
471      * .value[3].i32: line style of the left border. \n
472      *
473      */
474     NODE_BORDER_STYLE,
475     /**
476      * @brief Defines the z-index attribute for the stack sequence.
477      * This attribute can be set, reset, and obtained as required through APIs.
478      *
479      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
480      * .value[0].f32: z-index value. \n
481      * \n
482      * Format of the return value {@link ArkUI_AttributeItem}:\n
483      * .value[0].f32: z-index value. \n
484      *
485      */
486     NODE_Z_INDEX,
487     /**
488      * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs.
489      *
490      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
491      * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}.
492      * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n
493      * \n
494      * Format of the return value {@link ArkUI_AttributeItem}:\n
495      * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}.
496      * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n
497      *
498      */
499     NODE_VISIBILITY,
500     /**
501      * @brief Defines the clip attribute, which can be set, reset, and obtained as required through APIs.
502      *
503      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
504      * .value[0].i32: whether to clip the component based on the parent container bounds.
505      * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n
506      * \n
507      * Format of the return value {@link ArkUI_AttributeItem}:\n
508      * .value[0].i32: whether to clip the component based on the parent container bounds.
509      * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n
510      *
511      */
512     NODE_CLIP,
513     /**
514      * @brief Defines the clipping region on the component.
515      * This attribute can be set and obtained as required through APIs.
516      *
517      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute,
518      * which supports five types of shapes:\n
519      * 1. Rectangle:\n
520      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
521      * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n
522      * .value[1].f32: width of the rectangle.\n
523      * .value[2].f32: height of rectangle.\n
524      * .value[3].f32: width of the rounded corner of the rectangle.\n
525      * .value[4].f32: height of the rounded corner of the rectangle.\n
526      * 2. Circle:\n
527      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
528      * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n
529      * .value[1].f32: width of the circle.\n
530      * .value[2].f32: height of the circle.\n
531      * 3. Ellipse:\n
532      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
533      * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n
534      * .value[1].f32: width of the ellipse.\n
535      * .value[2].f32: height of the ellipse.\n
536      * 4. Path:\n
537      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
538      * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n
539      * .value[1].f32: width of the path.\n
540      * .value[2].f32: height of the path.\n
541      * .string: command for drawing the path.\n
542      * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n
543      * 1. Rectangle:\n
544      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
545      * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n
546      * .value[1].f32: width of the rectangle.\n
547      * .value[2].f32: height of rectangle.\n
548      * .value[3].f32: width of the rounded corner of the rectangle.\n
549      * .value[4].f32: height of the rounded corner of the rectangle.\n
550      * 2. Circle:\n
551      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
552      * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n
553      * .value[1].f32: width of the circle.\n
554      * .value[2].f32: height of the circle.\n
555      * 3. Ellipse:\n
556      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
557      * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n
558      * .value[1].f32: width of the ellipse.\n
559      * .value[2].f32: height of the ellipse.\n
560      * 4. Path:\n
561      * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}.
562      * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n
563      * .value[1].f32: width of the path.\n
564      * .value[2].f32: height of the path.\n
565      * .string: command for drawing the path.\n
566      *
567      */
568     NODE_CLIP_SHAPE,
569     /**
570      * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images.
571      * This attribute can be set, reset, and obtained as required through APIs.
572      *
573      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
574      * .data[0...15].f32: 16 floating-point numbers. \n
575      * \n
576      * Format of the return value {@link ArkUI_AttributeItem}:\n
577      * .data[0...15].f32: 16 floating-point numbers. \n
578      *
579      */
580     NODE_TRANSFORM,
581     /**
582      * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs.
583      *
584      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
585      * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}.
586      * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n
587      * \n
588      * Format of the return value {@link ArkUI_AttributeItem}:\n
589      * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}.
590      * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n
591      *
592      */
593     NODE_HIT_TEST_BEHAVIOR,
594     /**
595      * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative
596      * to the parent container's. This attribute can be set, reset, and obtained as required through APIs.
597      *
598      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
599      * .value[0].f32: X coordinate. \n
600      * .value[1].f32: Y coordinate. \n
601      * \n
602      * Format of the return value {@link ArkUI_AttributeItem}:\n
603      * .value[0].f32: X coordinate. \n
604      * .value[1].f32: Y coordinate. \n
605      *
606      */
607     NODE_POSITION,
608     /**
609      * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs.
610      *
611      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
612      * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n
613      * \n
614      * Format of the return value {@link ArkUI_AttributeItem}:\n
615      * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n
616      *
617      */
618     NODE_SHADOW,
619     /**
620      * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs.
621      *
622      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
623      * .value[0]?.f32: blur radius of the shadow, in vp.\n
624      * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring
625      * strategy, and <b>0</b> (default value) means the opposite.\n
626      * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n
627      * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n
628      * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n
629      * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
630      * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
631      * means the opposite.\n
632      *
633      * \n
634      * Format of the return value {@link ArkUI_AttributeItem}:\n
635      * .value[0].f32: blur radius of the shadow, in vp.\n
636      * .value[1].i32: whether to enable the coloring strategy. \n
637      * .value[2].f32: offset of the shadow along the x-axis, in px.\n
638      * .value[3].f32: offset of the shadow along the y-axis, in px.\n
639      * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n
640      * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
641      * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
642      * means the opposite.\n
643      *
644      */
645     NODE_CUSTOM_SHADOW,
646     /**
647      * @brief Defines the background image width and height.
648      * This attribute can be set, reset, and obtained as required through APIs.
649      *
650      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
651      * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n
652      * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n
653      * \n
654      * Format of the return value {@link ArkUI_AttributeItem}:\n
655      * .value[0].f32: width of the image, in vp. \n
656      * .value[1].f32: height of the image, in vp. \n
657      *
658      */
659     NODE_BACKGROUND_IMAGE_SIZE,
660     /**
661      * @brief Defines the background image size.
662      * This attribute can be set, reset, and obtained as required through APIs.
663      *
664      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
665      * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n
666      * \n
667      * Format of the return value {@link ArkUI_AttributeItem}:\n
668      * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n
669      *
670      */
671     NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE,
672     /**
673      * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs.
674      *
675      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
676      * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n
677      * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n
678      * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n
679      * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n
680      * .value[4]?.f32: start boundary of grayscale blur. \n
681      * .value[5]?.f32: end boundary of grayscale blur. \n
682      * \n
683      * Format of the return value {@link ArkUI_AttributeItem}:\n
684      * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n
685      * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n
686      * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n
687      * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n
688      * .value[4].f32: start boundary of grayscale blur. \n
689      * .value[5].f32: end boundary of grayscale blur. \n
690      *
691      */
692     NODE_BACKGROUND_BLUR_STYLE,
693     /**
694      * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs.
695      *
696      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
697      * .value[0]?.f32: X coordinate of the center point, in vp.\n
698      * .value[1]?.f32: Y coordinate of the center point, in vp.\n
699      * .value[2]?.f32: Z coordinate of the center point, in vp.\n
700      * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage.
701      * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n
702      * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage.
703      * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n
704      * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage.
705      * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n
706      * \n
707      * Format of the return value {@link ArkUI_AttributeItem}:\n
708      * .value[0].f32: X coordinate of the center point, in vp.\n
709      * .value[1].f32: Y coordinate of the center point, in vp.\n
710      * .value[2].f32: Z coordinate of the center point, in vp.\n
711      * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API
712      * returns the calculated value in vp.
713      *
714      */
715     NODE_TRANSFORM_CENTER,
716     /**
717      * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs.
718      *
719      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
720      * .value[0].f32: opacity values of the start and end points.\n
721      * .value[1].i32: animation duration, in milliseconds.\n
722      * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n
723      * .value[3]?.i32: animation delay duration, in milliseconds.\n
724      * .value[4]?.i32: number of times that the animation is played.\n
725      * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n
726      * .value[6]?.f32: animation playback speed.\n
727      * \n
728      * Format of the return value {@link ArkUI_AttributeItem}:\n
729      * .value[0].f32: opacity values of the start and end points.\n
730      * .value[1].i32: animation duration, in milliseconds.\n
731      * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n
732      * .value[3].i32: animation delay duration, in milliseconds. \n
733      * .value[4].i32: number of times that the animation is played. \n
734      * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
735      * .value[6].f32: animation playback speed. \n
736      *
737      */
738     NODE_OPACITY_TRANSITION,
739     /**
740      * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs.
741      *
742      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
743      * .value[0].f32: X-component of the rotation vector. \n
744      * .value[1].f32: Y-component of the rotation vector. \n
745      * .value[2].f32: Z-component of the rotation vector \n
746      * .value[3].f32: angle. \n
747      * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n
748      * .value[5].i32: animation duration, in milliseconds. \n
749      * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
750      * .value[7]?.i32: animation delay duration, in milliseconds. \n
751      * .value[8]?.i32: number of times that the animation is played. \n
752      * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
753      * .value[10]?.f32: animation playback speed. \n
754      * \n
755      * Format of the return value {@link ArkUI_AttributeItem}:\n
756      * .value[0].f32: X-component of the rotation vector. \n
757      * .value[1].f32: Y-component of the rotation vector. \n
758      * .value[2].f32: Z-component of the rotation vector \n
759      * .value[3].f32: angle. \n
760      * .value[4].f32: line of sight. \n
761      * .value[5].i32: animation duration, in milliseconds. \n
762      * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
763      * .value[7].i32: animation delay duration, in milliseconds. \n
764      * .value[8].i32: number of times that the animation is played. \n
765      * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
766      * .value[10].f32: animation playback speed. \n
767      *
768      */
769     NODE_ROTATE_TRANSITION,
770     /**
771      * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs.
772      *
773      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
774      * .value[0].f32: scale factor along the x-axis. \n
775      * .value[1].f32: scale factor along the y-axis. \n
776      * .value[2].f32: scale factor along the z-axis. \n
777      * .value[3].i32: animation duration, in milliseconds. \n
778      * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
779      * .value[5]?.i32: animation delay duration, in milliseconds. \n
780      * .value[6]?.i32: number of times that the animation is played. \n
781      * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
782      * .value[8]?.f32: animation playback speed. \n
783      * \n
784      * Format of the return value {@link ArkUI_AttributeItem}:\n
785      * .value[0].f32: scale factor along the x-axis. \n
786      * .value[1].f32: scale factor along the y-axis. \n
787      * .value[2].f32: scale factor along the z-axis. \n
788      * .value[3].i32: animation duration, in milliseconds. \n
789      * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
790      * .value[5].i32: animation delay duration, in milliseconds. \n
791      * .value[6].i32: number of times that the animation is played. \n
792      * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
793      * .value[8].f32: animation playback speed. \n
794      *
795      */
796     NODE_SCALE_TRANSITION,
797     /**
798      * @brief Defines the transition translation attribute.
799      * This attribute can be set, reset, and obtained as required through APIs.
800      *
801      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
802      * value[0].f32: translation distance along the x-axis, in vp.\n
803      * value[1].f32: translation distance along the y-axis, in vp.\n
804      * value[2].f32: translation distance along the z-axis, in vp.\n
805      * value[3].i32: animation duration, in milliseconds. \n
806      * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
807      * value[5]?.i32: animation delay duration, in milliseconds. \n
808      * value[6]?.i32: number of times that the animation is played. \n
809      * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
810      * value[8]?.f32: animation playback speed. \n
811      * \n
812      * Format of the return value {@link ArkUI_AttributeItem}:\n
813      * value[0].f32: translation distance along the x-axis, in vp.\n
814      * value[1].f32: translation distance along the y-axis, in vp.\n
815      * value[2].f32: translation distance along the z-axis, in vp.\n
816      * value[3].i32: animation duration, in milliseconds. \n
817      * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n
818      * value[5].i32: animation delay duration, in milliseconds. \n
819      * value[6].i32: number of times that the animation is played. \n
820      * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
821      * value[8].f32: animation playback speed. \n
822      *
823      */
824     NODE_TRANSLATE_TRANSITION,
825     /**
826      * @brief Defines the slide-in and slide-out of the component from the screen edge during transition.
827      * This attribute can be set, reset, and obtained as required through APIs.
828      *
829      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
830      * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n
831      * .value[1].i32: animation duration, in milliseconds.\n
832      * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n
833      * .value[3]?.i32: animation delay duration, in milliseconds. \n
834      * .value[4]?.i32: number of times that the animation is played. \n
835      * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
836      * .value[6]?.f32: animation playback speed. \n
837      * \n
838      * Format of the return value {@link ArkUI_AttributeItem}:\n
839      * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n
840      * .value[1].i32: animation duration, in milliseconds.\n
841      * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n
842      * .value[3].i32: animation delay duration, in milliseconds. \n
843      * .value[4].i32: number of times that the animation is played. \n
844      * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n
845      * .value[6].f32: animation playback speed. \n
846      *
847      */
848     NODE_MOVE_TRANSITION,
849 
850     /**
851      * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs.
852      *
853      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
854      * .value[0].i32: The parameter type is 1 or 0.
855      * \n
856      * Format of the return value {@link ArkUI_AttributeItem}:\n
857      * .value[0].i32: The parameter type is 1 or 0.
858      *
859      */
860     NODE_FOCUSABLE,
861 
862     /**
863      * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs.
864      *
865      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
866      * value[0].i32: The parameter type is 1 or 0.
867      * \n
868      * Format of the return value {@link ArkUI_AttributeItem}:\n
869      * value[0].i32: The parameter type is 1 or 0.
870      *
871      */
872     NODE_DEFAULT_FOCUS,
873 
874     /**
875      * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs.
876      *
877      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
878      * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n
879      * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n
880      * .data[2].f32: width of the touch target, in %. \n
881      * .data[3].f32: height of the touch target, in %. \n
882      * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
883      * \n
884      * Format of the return value {@link ArkUI_AttributeItem}:\n
885      * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n
886      * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n
887      * .data[2].f32: width of the touch target, in %. \n
888      * .data[3].f32: height of the touch target, in %. \n
889      * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
890      *
891      */
892     NODE_RESPONSE_REGION,
893 
894     /**
895      * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs.
896      *
897      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
898      * .string: mask text.\n
899      * .value[0]?.i32: position of the overlay relative to the component. Optional.
900      * The parameter type is {@link ArkUI_Alignment}.
901      * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n
902      * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n
903      * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
904      * \n
905      * Format of the return value {@link ArkUI_AttributeItem}:\n
906      * .string: mask text.\n
907      * .value[0].i32: position of the overlay relative to the component.
908      * The parameter type is {@link ArkUI_Alignment}.
909      * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n
910      * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n
911      * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
912      *
913      *
914      */
915     NODE_OVERLAY,
916     /**
917      * @brief Defines the sweep gradient effect.
918      * This attribute can be set, reset, and obtained as required through APIs.
919      *
920      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
921      * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n
922      * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n
923      * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n
924      * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n
925      * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n
926      * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
927      * and <b>0</b> means the opposite.\n
928      * .object: array of color stops, each of which consists of a color and its stop position.
929      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
930      * colors: colors of the color stops. \n
931      * stops: stop positions of the color stops. \n
932      * size: number of colors. \n
933      * \n
934      * Format of the return value {@link ArkUI_AttributeItem}:\n
935      * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n
936      * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n
937      * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n
938      * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n
939      * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n
940      * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
941      * and <b>0</b> means the opposite.\n
942      * .object: array of color stops, each of which consists of a color and its stop position.
943      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
944      * colors: colors of the color stops. \n
945      * stops: stop positions of the color stops. \n
946      * size: number of colors. \n
947      *
948      */
949     NODE_SWEEP_GRADIENT,
950     /**
951      * @brief Defines the radial gradient effect.
952      * This attribute can be set, reset, and obtained as required through APIs.
953      *
954      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
955      * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n
956      * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n
957      * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n
958      * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
959      * and <b>0</b> means the opposite. \n
960      * .object: array of color stops, each of which consists of a color and its stop position.
961      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
962      * colors: colors of the color stops. \n
963      * stops: stop positions of the color stops. \n
964      * size: number of colors. \n
965      * \n
966      * Format of the return value {@link ArkUI_AttributeItem}:\n
967      * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n
968      * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n
969      * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n
970      * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
971      * and <b>0</b> means the opposite.\n
972      * .object: array of color stops, each of which consists of a color and its stop position.
973      * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n
974      * colors: colors of the color stops. \n
975      * stops: stop positions of the color stops. \n
976      * size: number of colors. \n
977      *
978      */
979     NODE_RADIAL_GRADIENT,
980     /**
981      * @brief Adds a mask of the specified shape to the component.
982      * This attribute can be set, reset, and obtained as required through APIs.
983      *
984      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of
985      * shapes:\n
986      * 1. Rectangle:\n
987      * .value[0].u32 fill color, in 0xARGB format. \n
988      * .value[1].u32: stroke color, in 0xARGB format. \n
989      * .value[2].f32: stroke width, in vp. \n
990      * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}.
991      * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n
992      * .value[4].f32: width of the rectangle.\n
993      * .value[5].f32: height of the rectangle.\n
994      * .value[6].f32: width of the rounded corner of the rectangle.\n
995      * .value[7].f32: height of the rounded corner of the rectangle.\n
996      * 2. Circle:\n
997      * .value[0].u32 fill color, in 0xARGB format. \n
998      * .value[1].u32: stroke color, in 0xARGB format. \n
999      * .value[2].f32: stroke width, in vp. \n
1000      * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}.
1001      * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n
1002      * .value[4].f32: width of the circle.\n
1003      * .value[5].f32: height of the circle.\n
1004      * 3. Ellipse:\n
1005      * .value[0].u32 fill color, in 0xARGB format. \n
1006      * .value[1].u32: stroke color, in 0xARGB format. \n
1007      * .value[2].f32: stroke width, in vp. \n
1008      * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}.
1009      * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n
1010      * .value[4].f32: width of the ellipse.\n
1011      * .value[5].f32: height of the ellipse.\n
1012      * 4. Path:\n
1013      * .value[0].u32 fill color, in 0xARGB format. \n
1014      * .value[1].u32: stroke color, in 0xARGB format. \n
1015      * .value[2].f32: stroke width, in vp. \n
1016      * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}.
1017      * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n
1018      * .value[4].f32: width of the path.\n
1019      * .value[5].f32: height of the path.\n
1020      * .string: command for drawing the path.\n
1021      * 5. Progress:\n
1022      * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}.
1023      * The value is <b>ARKUI_MASK_TYPE_PROSGRESS</b> for the progress shape.\n
1024      * .value[1].f32: current value of the progress indicator.\n
1025      * .value[2].f32: maximum value of the progress indicator.\n
1026      * .value[3].u32: color of the progress indicator.\n
1027      * \n
1028      * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n
1029      * 1. Rectangle:\n
1030      * .value[0].u32 fill color, in 0xARGB format. \n
1031      * .value[1].u32: stroke color, in 0xARGB format. \n
1032      * .value[2].f32: stroke width, in vp. \n
1033      * .value[3].i32: mask type.\n
1034      * .value[4].f32: width of the rectangle.\n
1035      * .value[5].f32: height of the rectangle.\n
1036      * .value[6].f32: width of the rounded corner of the rectangle.\n
1037      * .value[7].f32: height of the rounded corner of the rectangle.\n
1038      * 2. Circle:\n
1039      * .value[0].u32 fill color, in 0xARGB format. \n
1040      * .value[1].u32: stroke color, in 0xARGB format. \n
1041      * .value[2].f32: stroke width, in vp. \n
1042      * .value[3].i32: mask type.\n
1043      * .value[4].f32: width of the circle.\n
1044      * .value[5].f32: height of the circle.\n
1045      * 3. Ellipse:\n
1046      * .value[0].u32 fill color, in 0xARGB format. \n
1047      * .value[1].u32: stroke color, in 0xARGB format. \n
1048      * .value[2].f32: stroke width, in vp. \n
1049      * .value[3].i32: mask type.\n
1050      * .value[4].f32: width of the ellipse.\n
1051      * .value[5].f32: height of the ellipse.\n
1052      * 4. Path:\n
1053      * .value[0].u32 fill color, in 0xARGB format. \n
1054      * .value[1].u32: stroke color, in 0xARGB format. \n
1055      * .value[2].f32: stroke width, in vp. \n
1056      * .value[3].i32: mask type.\n
1057      * .value[4].f32: width of the path.\n
1058      * .value[5].f32: height of the path.\n
1059      * .string: command for drawing the path.\n
1060      * 5. Progress:\n
1061      * .value[0].i32: mask type.\n
1062      * .value[1].f32: current value of the progress indicator.\n
1063      * .value[2].f32: maximum value of the progress indicator.\n
1064      * .value[3].u32: color of the progress indicator.\n
1065      *
1066      */
1067     NODE_MASK,
1068     /**
1069      * @brief Blends the component's background with the content of the component's child node.
1070      * This attribute can be set, reset, and obtained as required through APIs.
1071      *
1072      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1073      * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is
1074      * <b>ARKUI_BLEND_MODE_NONE</b>. \n
1075      * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}.
1076      * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n
1077      * \n
1078      * Format of the return value {@link ArkUI_AttributeItem}:\n
1079      * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is
1080      * <b>ARKUI_BLEND_MODE_NONE</b>. \n
1081      * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}.
1082      * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n
1083      *
1084      */
1085     NODE_BLEND_MODE,
1086     /**
1087      * @brief Sets the direction of the main axis.
1088      * This attribute can be set, reset, and obtained as required through APIs.
1089      *
1090      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1091      * .value[0].i32: direction of the main axis.\n
1092      * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n
1093      * \n
1094      * Format of the return value {@link ArkUI_AttributeItem}:\n
1095      * .value[0].i32: direction of the main axis.\n
1096      * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n
1097      *
1098      */
1099     NODE_DIRECTION,
1100     /**
1101      * @brief Defines the size constraints.
1102      * This attribute can be set, reset, and obtained as required through APIs.
1103      *
1104      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1105      * .value[0].f32: minimum width, in vp.\n
1106      * .value[1].f32: maximum width, in vp.\n
1107      * .value[2].f32: minimum height, in vp.\n
1108      * .value[3].f32: maximum height, in vp.\n
1109      * \n
1110      * Format of the return value {@link ArkUI_AttributeItem}:\n
1111      * .value[0].f32: minimum width, in vp.\n
1112      * .value[1].f32: maximum width, in vp.\n
1113      * .value[2].f32: minimum height, in vp.\n
1114      * .value[3].f32: maximum height, in vp.\n
1115      *
1116      */
1117     NODE_CONSTRAINT_SIZE,
1118     /**
1119      * @brief Defines the grayscale effect.
1120      * This attribute can be set, reset, and obtained as required through APIs.
1121      *
1122      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1123      * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1124      * For example, 0.5 indicates a 50% grayscale conversion ratio. \n
1125      * \n
1126      * Format of the return value {@link ArkUI_AttributeItem}:\n
1127      * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n
1128      *
1129      */
1130     NODE_GRAY_SCALE,
1131     /**
1132      * @brief Inverts the image.
1133      * This attribute can be set, reset, and obtained as required through APIs.
1134      *
1135      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1136      * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1137      * For example, 0.5 indicates a 50% image inversion ratio.\n
1138      * \n
1139      * Format of the return value {@link ArkUI_AttributeItem}:\n
1140      * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n
1141      *
1142      */
1143     NODE_INVERT,
1144     /**
1145      * @brief Defines the sepia conversion ratio.
1146      * This attribute can be set, reset, and obtained as required through APIs.
1147      *
1148      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1149      * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1150      * For example, 0.5 indicates that a 50% sepia conversion ratio.\n
1151      * \n
1152      * Format of the return value {@link ArkUI_AttributeItem}:\n
1153      * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n
1154      *
1155      */
1156     NODE_SEPIA,
1157     /**
1158      * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs.
1159      *
1160      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1161      * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed.
1162      * A larger value indicates a higher contrast. Value range: [0, 10).\n
1163      * \n
1164      * Format of the return value {@link ArkUI_AttributeItem}:\n
1165      * .value[0].f32: contrast. Value range: [0, 10).\n
1166      *
1167      */
1168     NODE_CONTRAST,
1169     /**
1170      * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs.
1171      *
1172      * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n
1173      * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
1174      * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n
1175      * \n
1176      * Format of the return value {@link ArkUI_AttributeItem}:\n
1177      * .value[0].u32: color value, in 0xARGB format.\n
1178      *
1179      */
1180     NODE_FOREGROUND_COLOR,
1181 
1182     /**
1183      * @brief Defines the offset of the component's child relative to the component.
1184      * This attribute can be set, reset, and obtained as required through APIs.
1185      *
1186      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1187      * .value[0].f32 : offset along the x-axis, in vp. \n
1188      * .value[1].f32 : offset along the y-axis, in vp. \n
1189      * \n
1190      * Format of the return value {@link ArkUI_AttributeItem}:\n
1191      * .value[0].f32 : offset along the x-axis, in vp. \n
1192      * .value[1].f32 : offset along the y-axis, in vp. \n
1193      *
1194      */
1195     NODE_OFFSET,
1196     /**
1197      * @brief Sets the anchor for locating the component's child.
1198      * This attribute can be set, reset, and obtained as required through APIs.
1199      *
1200      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1201      * .value[0].f32: X coordinate of the anchor, in vp.\n
1202      * .value[1].f32: Y coordinate of the anchor, in vp.\n
1203      * \n
1204      * Format of the return value {@link ArkUI_AttributeItem}:\n
1205      * .value[0].f32: X coordinate of the anchor, in vp.\n
1206      * .value[1].f32: Y coordinate of the anchor, in vp.\n
1207      *
1208      */
1209     NODE_MARK_ANCHOR,
1210     /**
1211      * @brief Defines the position of the background image in the component, that is, the coordinates relative to
1212      * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs.
1213      *
1214      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1215      * .value[0].f32: position along the x-axis, in px. \n
1216      * .value[1].f32: position along the y-axis, in px. \n
1217      * \n
1218      * Format of the return value {@link ArkUI_AttributeItem}:\n
1219      * .value[0].f32: position along the x-axis, in px. \n
1220      * .value[1].f32: position along the y-axis, in px. \n
1221      *
1222      */
1223     NODE_BACKGROUND_IMAGE_POSITION,
1224     /**
1225      * @brief Sets the alignment rules in the relative container.
1226      * This attribute can be set, reset, and obtained as required through APIs.
1227      *
1228      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1229      * .value[0]?.i32: ID of the component that functions as the anchor point for left alignment. \n
1230      * .value[1]?.i32: alignment mode relative to the anchor component for left alignment.
1231      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1232      * .value[2]?.i32: ID of the component that functions as the anchor point for center alignment. \n
1233      * .value[3]?.i32: alignment mode relative to the anchor component for center alignment.
1234      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1235      * .value[4]?.i32: ID of the component that functions as the anchor point for right alignment. \n
1236      * .value[5]?.i32: alignment mode relative to the anchor component for right alignment.
1237      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1238      * .value[6]?.i32: ID of the component that functions as the anchor point for top alignment. \n
1239      * .value[7]?.i32: alignment mode relative to the anchor component for top alignment.
1240      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1241      * .value[8]?.i32: ID of the component that functions as the anchor point for center alignment in the
1242      * vertical direction. \n
1243      * .value[9]?.i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction.
1244      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1245      * .value[10]?.i32: ID of the component that functions as the anchor point for bottom alignment. \n
1246      * .value[11]?.i32: alignment mode relative to the anchor component for bottom alignment.
1247      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1248      * .value[12]?.f32: bias value in the horizontal direction. \n
1249      * .value[13]?.f32: bias value in the vertical direction. \n
1250      * \n
1251      * Format of the return value {@link ArkUI_AttributeItem}:\n
1252      * .value[0].i32: ID of the component that functions as the anchor point for left alignment. \n
1253      * .value[1].i32: alignment mode relative to the anchor component for left alignment.
1254      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1255      * .value[2].i32: ID of the component that functions as the anchor point for center alignment. \n
1256      * .value[3].i32: alignment mode relative to the anchor component for center alignment.
1257      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1258      * .value[4].i32: ID of the component that functions as the anchor point for right alignment. \n
1259      * .value[5].i32: alignment mode relative to the anchor component for right alignment.
1260      * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n
1261      * .value[6].i32: ID of the component that functions as the anchor point for top alignment. \n
1262      * .value[7].i32: alignment mode relative to the anchor component for top alignment.
1263      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1264      * .value[8].i32: ID of the component that functions as the anchor point for center alignment in the
1265      * vertical direction. \n
1266      * .value[9].i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction.
1267      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1268      * .value[10].i32: ID of the component that functions as the anchor point for bottom alignment. \n
1269      * .value[11].i32: alignment mode relative to the anchor component for bottom alignment.
1270      * The value is an enum of {@link ArkUI_VerticalAlignment}. \n
1271      * .value[12].f32: bias value in the horizontal direction. \n
1272      * .value[13].f32: bias value in the vertical direction. \n
1273      *
1274      */
1275     NODE_ALIGN_RULES,
1276     /**
1277      * @brief Sets the alignment mode of the child components along the cross axis of the parent container.
1278      * This attribute can be set, reset, and obtained as required through APIs.
1279      *
1280      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1281      * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n
1282      * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n
1283      * \n
1284      * Format of the return value {@link ArkUI_AttributeItem}:\n
1285      * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n
1286      * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n
1287      *
1288      */
1289     NODE_ALIGN_SELF,
1290     /**
1291      * @brief Sets the percentage of the parent container's remaining space that is allocated to the component.
1292      * This attribute can be set, reset, and obtained as required through APIs.
1293      *
1294      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1295      * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n
1296      * \n
1297      * Format of the return value {@link ArkUI_AttributeItem}:\n
1298      * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n
1299      *
1300      */
1301     NODE_FLEX_GROW,
1302     /**
1303      * @brief Sets the percentage of the parent container's shrink size that is allocated to the component.
1304      * This attribute can be set, reset, and obtained as required through APIs.
1305      *
1306      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1307      * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n
1308      * \n
1309      * Format of the return value {@link ArkUI_AttributeItem}:\n
1310      * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n
1311      *
1312      */
1313     NODE_FLEX_SHRINK,
1314     /**
1315      * @brief Sets the base size of the component.
1316      * This attribute can be set, reset, and obtained as required through APIs.
1317      *
1318      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1319      * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n
1320      * \n
1321      * Format of the return value {@link ArkUI_AttributeItem}:\n
1322      * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n
1323      *
1324      */
1325     NODE_FLEX_BASIS,
1326     /**
1327      * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs.
1328      *
1329      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1330      * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1331      * form an entire selectable component.
1332      * In this case, the accessibility service will no longer be available for the content of its child components.
1333      * The value is <b>1</b> or <b>0</b>.
1334      * \n
1335      * Format of the return value {@link ArkUI_AttributeItem}:\n
1336      * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1337      * form an entire selectable component.
1338      * In this case, the accessibility service will no longer be available for the content of its child components.
1339      * The value is <b>1</b> or <b>0</b>.
1340      *
1341      */
1342     NODE_ACCESSIBILITY_GROUP,
1343 
1344     /**
1345      * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs.
1346      *
1347      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1348      * .string: accessibility text.
1349      * \n
1350      * Format of the return value {@link ArkUI_AttributeItem}:\n
1351      * .string: accessibility text.
1352      *
1353      */
1354     NODE_ACCESSIBILITY_TEXT,
1355 
1356     /**
1357      * @brief Sets the accessibility mode. This attribute can be set, reset, and obtained as required through APIs.
1358      *
1359      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1360      * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}.
1361      * \n
1362      * Format of the return value {@link ArkUI_AttributeItem}:\n
1363      * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}.
1364      *
1365      */
1366     NODE_ACCESSIBILITY_MODE,
1367 
1368     /**
1369      * @brief Sets the accessibility description.
1370      * This attribute can be set, reset, and obtained as required through APIs.
1371      *
1372      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1373      * .string: accessibility description.
1374      * \n
1375      * Format of the return value {@link ArkUI_AttributeItem}:\n
1376      * .string: accessibility description.
1377      *
1378      */
1379     NODE_ACCESSIBILITY_DESCRIPTION,
1380 
1381     /**
1382      * @brief Defines the focused state. This attribute can be set and obtained as required through APIs.
1383      *
1384      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1385      * .value[0].i32: The parameter type is 1 or 0.
1386      * \n
1387      * Format of the return value {@link ArkUI_AttributeItem}:\n
1388      * .value[0].i32: The parameter type is 1 or 0.
1389      *
1390      */
1391     NODE_FOCUS_STATUS,
1392     /**
1393      * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs.
1394      *
1395      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1396      * .value[0].f32: aspect ratio of the component, in width/height format. \n
1397      * \n
1398      * Format of the return value {@link ArkUI_AttributeItem}:\n
1399      * .value[0].f32: aspect ratio of the component, in width/height format. \n
1400      *
1401      */
1402     NODE_ASPECT_RATIO,
1403     /**
1404      * @brief Defines the weight of the component within its row, column, or flex container for proportional
1405      * distribution of available space within the container.
1406      * This attribute can be set, reset, and obtained as required through APIs.
1407      *
1408      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1409      * .value[0].f32: weight of the component along the main axis. \n
1410      * \n
1411      * Format of the return value {@link ArkUI_AttributeItem}:\n
1412      * .value[0].f32: weight of the component along the main axis. \n
1413      *
1414      */
1415     NODE_LAYOUT_WEIGHT,
1416     NODE_DISPLAY_PRIORITY,
1417     NODE_OUTLINE_WIDTH,
1418     /**
1419      * @brief 宽度属性,支持属性设置,属性重置和属性获取接口。
1420      *
1421      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1422      * .value[0].f32:宽度数值,单位为百分比;\n
1423      * \n
1424      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1425      * .value[0].f32:宽度数值,单位为百分比;\n
1426      *
1427      */
1428     NODE_WIDTH_PERCENT,
1429     /**
1430      * @brief 高度属性,支持属性设置,属性重置和属性获取接口。
1431      *
1432      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1433      * .value[0].f32:高度数值,单位为百分比;\n
1434      * \n
1435      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1436      * .value[0].f32:高度数值,单位为百分比;\n
1437      *
1438      */
1439     NODE_HEIGHT_PERCENT,
1440     /**
1441      * @brief 内间距属性,支持属性设置,属性重置和属性获取接口。
1442      *
1443      * 属性设置方法参数{@link ArkUI_AttributeItem}格式有两种:\n
1444      * 1:上下左右四个位置的内间距值相等。\n
1445      * .value[0].f32:内间距数值,单位为百分比;\n
1446      * 2:分别指定上下左右四个位置的内间距值。\n
1447      * .value[0].f32:上内间距数值,单位为百分比;\n
1448      * .value[1].f32:右内间距数值,单位为百分比;\n
1449      * .value[2].f32:下内间距数值,单位为百分比;\n
1450      * .value[3].f32:左内间距数值,单位为百分比;\n
1451      * \n
1452      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1453      * .value[0].f32:上内间距数值,单位为百分比;\n
1454      * .value[1].f32:右内间距数值,单位为百分比;\n
1455      * .value[2].f32:下内间距数值,单位为百分比;\n
1456      * .value[3].f32:左内间距数值,单位为百分比;\n
1457      *
1458      */
1459     NODE_PADDING_PERCENT,
1460     /**
1461      * @brief 外间距属性,支持属性设置,属性重置和属性获取接口。
1462      *
1463      * 属性设置方法参数{@link ArkUI_AttributeItem}格式有两种:\n
1464      * 1:上下左右四个位置的外间距值相等。\n
1465      * .value[0].f32:外间距数值,单位为百分比;\n
1466      * 2:分别指定上下左右四个位置的外间距值。\n
1467      * .value[0].f32:上外间距数值,单位为百分比;\n
1468      * .value[1].f32:右外间距数值,单位为百分比;\n
1469      * .value[2].f32:下外间距数值,单位为百分比;\n
1470      * .value[3].f32:左外间距数值,单位为百分比;\n
1471      * \n
1472      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1473      * .value[0].f32:上外间距数值,单位为百分比;\n
1474      * .value[1].f32:右外间距数值,单位为百分比;\n
1475      * .value[2].f32:下外间距数值,单位为百分比;\n
1476      * .value[3].f32:左外间距数值,单位为百分比;\n
1477      *
1478      */
1479     NODE_MARGIN_PERCENT,
1480 
1481     NODE_GEOMETRY_TRANSITION,
1482 
1483     /**
1484      * @brief 指定以该组件为链头所构成的链的参数,支持属性设置、属性重置和属性获取接口。
1485      *
1486      * 仅当父容器为RelativeContainer时生效
1487      *
1488      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
1489      * .value[0].i32:链的方向。枚举{@link ArkUI_Axis}。 \n
1490      * .value[1].i32:链的样式。枚举{@link ArkUI_RelativeLayoutChainStyle}。 \n
1491      * \n
1492      * .value[0].i32:链的方向。枚举{@link ArkUI_Axis}。 \n
1493      * .value[1].i32:链的样式。枚举{@link ArkUI_RelativeLayoutChainStyle}。 \n
1494      */
1495     NODE_RELATIVE_LAYOUT_CHAIN_MODE,
1496 
1497     NODE_RENDER_FIT,
1498 
1499     NODE_OUTLINE_COLOR,
1500 
1501     NODE_SIZE,
1502 
1503     NODE_RENDER_GROUP,
1504 
1505     NODE_COLOR_BLEND,
1506 
1507     NODE_FOREGROUND_BLUR_STYLE,
1508 
1509     NODE_LAYOUT_RECT,
1510 
1511     NODE_FOCUS_ON_TOUCH,
1512 
1513     /**
1514      * @brief 边框宽度属性,支持属性设置,属性重置和属性获取接口。
1515      *
1516      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
1517      * 1: .value[0].f32:统一设置四条边的边框宽度,单位为百分比。 \n
1518      * 2: .value[0].f32:设置上边框的边框宽度,单位为百分比。 \n
1519      * .value[1].f32:设置右边框的边框宽度,单位为百分比。 \n
1520      * .value[2].f32:设置下边框的边框宽度,单位为百分比。 \n
1521      * .value[3].f32:设置左边框的边框宽度,单位为百分比。 \n
1522      * \n
1523      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1524      * .value[0].f32:设置上边框的边框宽度,单位为百分比。 \n
1525      * .value[1].f32:设置右边框的边框宽度,单位为百分比。 \n
1526      * .value[2].f32:设置下边框的边框宽度,单位为百分比。 \n
1527      * .value[3].f32:设置左边框的边框宽度,单位为百分比。 \n
1528      *
1529      */
1530     NODE_BORDER_WIDTH_PERCENT,
1531     /**
1532      * @brief 边框圆角属性,支持属性设置,属性重置和属性获取接口。
1533      *
1534      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
1535      * 1: .value[0].f32:统一设置四条边的边框圆角半径,单位为百分比。 \n
1536      * 2: .value[0].f32:设置左上角圆角半径,单位为百分比。 \n
1537      * .value[1].f32:设置右上角圆角半径,单位为百分比。 \n
1538      * .value[2].f32:设置左下角圆角半径,单位为百分比。 \n
1539      * .value[3].f32:设置右下角圆角半径,单位为百分比。 \n
1540      * \n
1541      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1542      * .value[0].f32:设置左上角圆角半径,单位为百分比。 \n
1543      * .value[1].f32:设置右上角圆角半径,单位为百分比。 \n
1544      * .value[2].f32:设置左下角圆角半径,单位为百分比。 \n
1545      * .value[3].f32:设置右下角圆角半径,单位为百分比。 \n
1546      *
1547      */
1548     NODE_BORDER_RADIUS_PERCENT,
1549 
1550     /**
1551      * @brief Accessible ID, which can be obtained as required through APIs.
1552      *
1553      * Format of the return value {@link ArkUI_AttributeItem}:\n
1554      * .value[0].i32:Accessible ID。\n
1555      *
1556      */
1557     NODE_ACCESSIBILITY_ID = 87,
1558 
1559     /**
1560      * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs.
1561      *
1562      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1563      * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n
1564      * \n
1565      * Format of the return value {@link ArkUI_AttributeItem}:\n
1566      * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n
1567      *
1568      */
1569     NODE_ACCESSIBILITY_ACTIONS = 88,
1570 
1571     /**
1572      * @brief Define accessible role, which can be set, reset, and obtained as required through APIs.
1573      *
1574      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1575      * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n
1576      * \n
1577      * Format of the return value {@link ArkUI_AttributeItem}:\n
1578      * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n
1579      *
1580      */
1581     NODE_ACCESSIBILITY_ROLE = 89,
1582 
1583     /**
1584      * @brief Define accessible state, which can be set, reset, and obtained as required through APIs.
1585      *
1586      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1587      * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n
1588      * \n
1589      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1590      * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n
1591      *
1592      */
1593     NODE_ACCESSIBILITY_STATE = 90,
1594 
1595     /**
1596      * @brief Define accessible value, which can be set, reset, and obtained as required through APIs.
1597      *
1598      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1599      * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n
1600      * \n
1601      * Format of the return value {@link ArkUI_AttributeItem}:\n
1602      * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n
1603      *
1604      */
1605     NODE_ACCESSIBILITY_VALUE = 91,
1606 
1607     /**
1608      * @brief 定义控制组件扩展其安全区域,支持属性设置,属性重置和属性获取。
1609      *
1610      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1611      * .value[0]?.u32:扩展安全区域的枚举值集合{@link ArkUI_SafeAreaType},
1612      * 例如:ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;\n
1613      * .value[1]?.u32:扩展安全区域的方向枚举值集合{@link ArkUI_SafeAreaEdge};\n
1614      * 例如:ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;\n
1615      * \n
1616      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1617      * .value[0].u32:扩展安全区域;\n。 \n
1618      * .value[1].u32:扩展安全区域的方向;\n。 \n
1619      *
1620      */
1621     NODE_EXPAND_SAFE_AREA = 92,
1622     /**
1623      * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
1624      * visible area change event of the component.
1625      *
1626      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1627      * .value[...].f32: threshold array. The value range is 0 to 1.
1628      * \n
1629      * Format of the return value {@link ArkUI_AttributeItem}:\n
1630      * .value[...].f32: threshold array. \n
1631      *
1632      */
1633     NODE_VISIBLE_AREA_CHANGE_RATIO = 93,
1634 
1635     /**
1636      * @brief 定义组件插入和删除时显示过渡动效,支持属性设置,属性获取。
1637      *
1638      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1639      * .object:参数类型为{@link ArkUI_TransitionEffect}。 \n
1640      * \n
1641      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1642      * .object:参数类型为{@link ArkUI_TransitionEffect}。 \n
1643      *
1644      */
1645     NODE_TRANSITION = 94,
1646 
1647     /**
1648      * @brief Defines the component ID.
1649      * This attribute can be obtained through APIs.
1650      *
1651      * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n
1652      * .value[0].i32: component ID. \n
1653      *
1654      */
1655     NODE_UNIQUE_ID = 95,
1656 
1657     /**
1658      * @brief Set the current component system focus box style.
1659      *
1660      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
1661      * .value[0].f32: The distance between the focus box and the edge of the component. \n
1662      * Positive numbers represent the outer side, negative numbers represent the inner side. \n
1663      * Percentage is not supported. \n
1664      * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n
1665      * .value[2].u32: Focus box color. \n
1666      * \n
1667      *
1668      */
1669     NODE_FOCUS_BOX = 96,
1670 
1671     /**
1672      * @brief Defines the moving distance limit for the component-bound tap gesture.
1673      * This attribute can be set as required through APIs.
1674      *
1675      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1676      * .value[0].f32: allowed moving distance of a finger, in vp. \n
1677      *
1678      */
1679     NODE_TAB_STOP = 98,
1680 
1681     /**
1682      * @brief Defines blur attribute of backdrop, which can be set, reset, and obtained as required through APIs.
1683      *
1684      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1685      * .value[0].f32:Represents the blur radius of backdrop. The unit is px. The value range is [0,+∞).\n
1686      * .value[1]?.f32:Represents a gray scale blur parameter, which affects the degree of brightening black color.\n
1687      * The value range is [0,127].\n
1688      * .value[2]?.f32:Represents a gray scale blur parameter, which affects the degree of darkening white color.\n
1689      * The value range is [0,127].\n
1690      * \n
1691      * Format of the return value {@link ArkUI_AttributeItem}:\n
1692      * .value[0].f32:Represents the blur radius of backdrop. The unit is px. The value range is [0,+∞).\n
1693      * .value[1].f32:Represents a gray scale blur parameter, which affects the degree of brightening black color.\n
1694      * The value range is [0,127].\n
1695      * .value[2].f32:Represents a gray scale blur parameter, which affects the degree of darkening white color.\n
1696      * The value range is [0,127].\n
1697      *
1698      * @since 16
1699      */
1700     NODE_BACKDROP_BLUR = 99,
1701 
1702     /**
1703      * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
1704      *
1705      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1706      * .string: text content.\n
1707      * \n
1708      * Format of the return value {@link ArkUI_AttributeItem}:\n
1709      * .string: text content.\n
1710      */
1711     NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT,
1712     /**
1713      * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs.
1714      *
1715      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1716      * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
1717      * \n
1718      * Format of the return value {@link ArkUI_AttributeItem}:\n
1719      * .value[0].u32: font color value, in 0xARGB format.\n
1720      *
1721      */
1722     NODE_FONT_COLOR,
1723     /**
1724      * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs.
1725      *
1726      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1727      * .value[0].f32: font size, in fp.\n
1728      * \n
1729      * Format of the return value {@link ArkUI_AttributeItem}:\n
1730      * .value[0].f32: font size, in fp.\n
1731      *
1732      */
1733     NODE_FONT_SIZE,
1734     /**
1735      * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs.
1736      *
1737      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1738      * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n
1739      * \n
1740      * Format of the return value {@link ArkUI_AttributeItem}:\n
1741      * .value[0].i32: font style {@link ArkUI_FontStyle}.\n
1742      *
1743      */
1744     NODE_FONT_STYLE,
1745     /**
1746      * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
1747      *
1748      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1749      * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n
1750      * \n
1751      * Format of the return value {@link ArkUI_AttributeItem}:\n
1752      * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n
1753      *
1754      */
1755     NODE_FONT_WEIGHT,
1756     /**
1757      * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs.
1758      *
1759      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1760      * .value[0].f32: line height, in fp.\n
1761      * \n
1762      * Format of the return value {@link ArkUI_AttributeItem}:\n
1763      * .value[0].f32: line height, in fp.\n
1764      *
1765      */
1766     NODE_TEXT_LINE_HEIGHT,
1767     /**
1768      * @brief Defines the text decoration style and color.
1769      * This attribute can be set, reset, and obtained as required through APIs.
1770      *
1771      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1772      * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.
1773      * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n
1774      * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n
1775      * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n
1776      * \n
1777      * Format of the return value {@link ArkUI_AttributeItem}:\n
1778      * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n
1779      * .value[1].u32: text decoration color, in 0xARGB format. \n
1780      * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n
1781      *
1782      */
1783     NODE_TEXT_DECORATION,
1784     /**
1785      * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs.
1786      *
1787      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1788      * .value[0].i32: text case.\n
1789      * \n
1790      * Format of the return value {@link ArkUI_AttributeItem}:\n
1791      * .value[0].i32: text case.\n
1792      *
1793      */
1794     NODE_TEXT_CASE,
1795     /**
1796      * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs.
1797      *
1798      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1799      * .value[0].f32: letter spacing, in fp.\n
1800      * \n
1801      * Format of the return value {@link ArkUI_AttributeItem}:\n
1802      * .value[0].f32: letter spacing, in fp.\n
1803      *
1804      */
1805     NODE_TEXT_LETTER_SPACING,
1806     /**
1807      * @brief Sets the maximum number of lines in the text.
1808      * This attribute can be set, reset, and obtained as required through APIs.
1809      *
1810      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1811      * .value[0].i32: maximum number of lines in the text.\n
1812      * \n
1813      * Format of the return value {@link ArkUI_AttributeItem}:\n
1814      * .value[0].i32: maximum number of lines in the text.\n
1815      *
1816      */
1817     NODE_TEXT_MAX_LINES,
1818     /**
1819      * @brief Horizontal alignment mode of the text.
1820      * This attribute can be set, reset, and obtained as required through APIs.
1821      *
1822      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1823      * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n
1824      * \n
1825      * Format of the return value {@link ArkUI_AttributeItem}:\n
1826      * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n
1827      *
1828      */
1829     NODE_TEXT_ALIGN,
1830     /**
1831      * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs.
1832      *
1833      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1834      * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n
1835      * \n
1836      * Format of the return value {@link ArkUI_AttributeItem}:\n
1837      * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n
1838      *
1839      */
1840     NODE_TEXT_OVERFLOW,
1841     /**
1842      * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs.
1843      *
1844      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1845      * .string: fonts, separated by commas (,).
1846      * \n
1847      * Format of the return value {@link ArkUI_AttributeItem}:\n
1848      * .string: fonts, separated by commas (,).
1849      *
1850      */
1851     NODE_FONT_FAMILY,
1852     /**
1853      * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs.
1854      *
1855      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1856      * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n
1857      * \n
1858      * Format of the return value {@link ArkUI_AttributeItem}:\n
1859      * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n
1860      *
1861      */
1862     NODE_TEXT_COPY_OPTION,
1863     /**
1864      * @brief Defines the text baseline offset attribute
1865      * This attribute can be set, reset, and obtained as required through APIs.
1866      *
1867      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1868      * .value[0].f32: baseline offset, in fp.\n
1869      * \n
1870      * Format of the return value {@link ArkUI_AttributeItem}:\n
1871      * .value[0].f32: baseline offset, in fp. \n
1872      *
1873      */
1874     NODE_TEXT_BASELINE_OFFSET,
1875     /**
1876      * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs.
1877      *
1878      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1879      * .value[0].f32: blur radius of the shadow, in vp.\n
1880      * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n
1881      * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
1882      * .value[3].f32: offset of the shadow along the x-axis, in vp.\n
1883      * .value[4].f32: offset of the shadow along the y-axis, in vp.\n
1884      * \n
1885      * Format of the return value {@link ArkUI_AttributeItem}:\n
1886      * .value[0].f32: blur radius of the shadow, in vp.\n
1887      * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n
1888      * .value[2].u32: shadow color, in 0xARGB format.\n
1889      * .value[3].f32: offset of the shadow along the x-axis, in vp.\n
1890      * .value[4].f32: offset of the shadow along the y-axis, in vp.\n
1891      *
1892      */
1893     NODE_TEXT_TEXT_SHADOW,
1894     /**
1895      * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs.
1896      *
1897      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1898      * .value[0].f32: minimum font size, in fp.
1899      * \n
1900      * Format of the return value {@link ArkUI_AttributeItem}:\n
1901      * .value[0].f32: minimum font size, in fp.
1902      *
1903      */
1904     NODE_TEXT_MIN_FONT_SIZE,
1905 
1906     /**
1907      * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs.
1908      *
1909      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1910      * .value[0].f32: maximum font size, in fp.
1911      * \n
1912      * Format of the return value {@link ArkUI_AttributeItem}:\n
1913      * .value[0].f32: maximum font size, in fp.
1914      *
1915      */
1916     NODE_TEXT_MAX_FONT_SIZE,
1917 
1918     /**
1919      * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs.
1920      *
1921      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1922      * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n
1923      * .value[0].f32: font size, in fp. \n
1924      * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}.
1925      * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n
1926      * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}.
1927      * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
1928      * \n
1929      * Format of the return value {@link ArkUI_AttributeItem}:\n
1930      * .string: font family. Use commas (,) to separate multiple fonts. \n
1931      * .value[0].f32: font size, in fp. \n
1932      * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}.
1933      * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n
1934      * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}.
1935      * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
1936      *
1937      */
1938     NODE_TEXT_FONT,
1939 
1940     /**
1941      * @brief Defines how the adaptive height is determined for the text.
1942      * This attribute can be set, reset, and obtained as required through APIs.
1943      *
1944      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1945      * .value[0].i32: how the adaptive height is determined for the text.
1946      * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}.
1947      * \n
1948      * Format of the return value {@link ArkUI_AttributeItem}:\n
1949      * .value[0].i32: how the adaptive height is determined for the text.
1950      * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}
1951      *
1952      */
1953     NODE_TEXT_HEIGHT_ADAPTIVE_POLICY,
1954     /**
1955      * @brief Defines the indentation of the first line.
1956      * This attribute can be set, reset, and obtained as required through APIs.
1957      *
1958      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1959      * .value[0].f32: indentation of the first line. \n
1960      * \n
1961      * Format of the return value {@link ArkUI_AttributeItem}:\n
1962      * .value[0].f32: indentation of the first line. \n
1963      *
1964      */
1965     NODE_TEXT_INDENT,
1966     /**
1967      * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
1968      *
1969      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1970      * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n
1971      * \n
1972      * Format of the return value {@link ArkUI_AttributeItem}:\n
1973      * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n
1974      *
1975      */
1976     NODE_TEXT_WORD_BREAK,
1977     /**
1978      * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs.
1979      *
1980      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1981      * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n
1982      * \n
1983      * Format of the return value {@link ArkUI_AttributeItem}:\n
1984      * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n
1985      *
1986      */
1987     NODE_TEXT_ELLIPSIS_MODE,
1988     /**
1989      * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs.
1990      *
1991      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
1992      * .value[0].f32: line spacing, in fp.\n
1993      * \n
1994      * Format of the return value {@link ArkUI_AttributeItem}:\n
1995      * .value[0].f32: line spacing, in fp.\n
1996      *
1997      */
1998     NODE_TEXT_LINE_SPACING,
1999     /**
2000      * @brief  Set the text feature effect and the NODE_FONT_FEATURE attribute,
2001      * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType
2002      * Features such as ligatures and equal-width digits are generally used in customized fonts. \n
2003      * The capabilities need to be supported by the fonts, \n
2004      * Interfaces for setting, resetting, and obtaining attributes are supported. \n
2005      * Attribute setting method parameter {@Link ArkUI_AttributeItem} format: \n
2006      * .string: complies with the text feature format. The format is normal | \n
2007      * is in the format of [ | on | off],\n.
2008      * There can be multiple values separated by commas (,). \n
2009      * For example, the input format of a number with the same width is ss01 on. \n
2010      * \n
2011      * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n
2012      * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n
2013      */
2014     NODE_TEXT_FONT_FEATURE,
2015 
2016     /**
2017      * @brief 设置使能文本识别。
2018      *
2019      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2020      * .value[0].i32:使能文本识别,默认值false。\n
2021      * \n
2022      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2023      * .value[0].i32:使能文本识别。\n
2024      *
2025      */
2026     NODE_TEXT_ENABLE_DATA_DETECTOR,
2027     /**
2028      * @brief 设置文本识别配置。
2029      *
2030      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2031      * .value[0...].i32: 实体类型数组,参数类型{@link ArkUI_TextDataDetectorType}。\n
2032      * \n
2033      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2034      * .value[0...].i32:实体类型数组,参数类型{@link ArkUI_TextDataDetectorType}。\n
2035      *
2036      */
2037     NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG,
2038     /**
2039      * @brief 文本选中时的背景色属性,支持属性设置,属性重置和属性获取接口。
2040      *
2041      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2042      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n
2043      * \n
2044      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2045      * .value[0].u32:颜色数值,0xargb格式。\n
2046      *
2047      */
2048     NODE_TEXT_SELECTED_BACKGROUND_COLOR,
2049 
2050     /**
2051     * @brief The text component uses a formatted string object to set text content properties,
2052     * and supports property setting, property reset, and property acquisition interfaces.
2053     *
2054     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2055     * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n
2056     * \n
2057     * Format of the return value {@link ArkUI_AttributeItem}:\n
2058     * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n
2059     */
2060     NODE_TEXT_CONTENT_WITH_STYLED_STRING,
2061 
2062     /**
2063      * @brief 设置文本居中显示。
2064      *
2065      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2066      * .value[0].i32:文本是否居中,默认值false。\n
2067      * \n
2068      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2069      * .value[0].i32:文本是否居中。\n
2070      *
2071      */
2072     NODE_TEXT_HALF_LEADING = 1029,
2073 
2074     /**
2075      * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
2076      * The font weight set through this interface does not support adaptive adjustment.
2077      *
2078      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2079      * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n
2080      * \n
2081      * Format of the return value {@link ArkUI_AttributeItem}:\n
2082      * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n
2083      *
2084      * @since 15
2085      */
2086     NODE_IMMUTABLE_FONT_WEIGHT = 1030,
2087 
2088     /**
2089      * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
2090      *
2091      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2092      * .string: content of the text span. \n
2093      * \n
2094      * Format of the return value {@link ArkUI_AttributeItem}:\n
2095      * .string: content of the text span. \n
2096      *
2097      */
2098     NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN,
2099     /**
2100      * @brief Defines the text background style.
2101      * This attribute can be set, reset, and obtained as required through APIs.
2102      *
2103      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2104      * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n
2105      * The second parameter indicates the rounded corners of the text background. Two setting modes are available: \n
2106      * 1: .value[1].f32: radius of the four corners, in vp. \n
2107      * 2: .value[1].f32: radius of the upper left corner, in vp. \n
2108      * .value[2].f32: radius of the upper right corner, in vp. \n
2109      * .value[3].f32: radius of the lower left corner, in vp. \n
2110      * .value[4].f32: radius of the lower right corner, in vp. \n
2111      * \n
2112      * Format of the return value {@link ArkUI_AttributeItem}:\n
2113      * .value[0].u32: color of the text background, in 0xARGB format. \n
2114      * .value[1].f32: radius of the upper left corner, in vp. \n
2115      * .value[2].f32: radius of the upper right corner, in vp. \n
2116      * .value[3].f32: radius of the lower left corner, in vp. \n
2117      * .value[4].f32: radius of the lower right corner, in vp. \n
2118      *
2119      */
2120     NODE_SPAN_TEXT_BACKGROUND_STYLE,
2121     NODE_SPAN_BASELINE_OFFSET,
2122     /**
2123      * @brief Defines the image source of the image span.
2124      * This attribute can be set, reset, and obtained as required through APIs.
2125      *
2126      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2127      * .string: image address of the image span.\n
2128      * \n
2129      * Format of the return value {@link ArkUI_AttributeItem}:\n
2130      * .string: image address of the image span.\n
2131      *
2132      */
2133     NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN,
2134     /**
2135      * @brief Defines the alignment mode of the image with the text.
2136      * This attribute can be set, reset, and obtained as required through APIs.
2137      *
2138      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2139      * .value[0].i32: alignment mode of the image with the text.
2140      * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n
2141      * \n
2142      * Format of the return value {@link ArkUI_AttributeItem}:\n
2143      * .value[0].i32: alignment mode of the image with the text.
2144      * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n
2145      *
2146      */
2147     NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT,
2148     NODE_IMAGE_SPAN_ALT,
2149     /**
2150      * @brief Defines the image span baseline offset attribute
2151      * This attribute can be set, reset, and obtained as required through APIs.
2152      *
2153      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2154      * .value[0].f32: baseline offset, in fp.\n
2155      * \n
2156      * Format of the return value {@link ArkUI_AttributeItem}:\n
2157      * .value[0].f32: baseline offset, in fp. \n
2158      *
2159      */
2160     NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003,
2161     /**
2162      * @brief Defines the image source of the <Image> component.
2163      * This attribute can be set, reset, and obtained as required through APIs.
2164      *
2165      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2166      * .string: image source.\n
2167      * \n
2168      * Format of the return value {@link ArkUI_AttributeItem}:\n
2169      * .string: image source.\n
2170      *
2171      */
2172     NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE,
2173     /**
2174      * @brief Defines how the image is resized to fit its container.
2175      * This attribute can be set, reset, and obtained as required through APIs.
2176      *
2177      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2178      * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n
2179      * \n
2180      * Format of the return value {@link ArkUI_AttributeItem}:\n
2181      * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n
2182      *
2183      */
2184     NODE_IMAGE_OBJECT_FIT,
2185     /**
2186      * @brief Defines the interpolation effect of the image.
2187      * This attribute can be set, reset, and obtained as required through APIs.
2188      *
2189      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2190      * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n
2191      * \n
2192      * Format of the return value {@link ArkUI_AttributeItem}:\n
2193      * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n
2194      *
2195      */
2196     NODE_IMAGE_INTERPOLATION,
2197     /**
2198      * @brief Defines how the image is repeated.
2199      * This attribute can be set, reset, and obtained as required through APIs.
2200      *
2201      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2202      * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n
2203      * \n
2204      * Format of the return value {@link ArkUI_AttributeItem}:\n
2205      * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n
2206      *
2207      */
2208     NODE_IMAGE_OBJECT_REPEAT,
2209     /**
2210      * @brief Defines the color filter of the image.
2211      * This attribute can be set, reset, and obtained as required through APIs.
2212      *
2213      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2214      * .value[0].f32 to .value[19].f32: filter matrix array. \n
2215      * .size: 5 x 4 filter array size. \n
2216      * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n
2217      * \n
2218      * Format of the return value {@link ArkUI_AttributeItem}:\n
2219      * .value[0].f32 to .value[19].f32: filter matrix array. \n
2220      * .size: 5 x 4 filter array size. \n
2221      * .object: the pointer to OH_Drawing_ColorFilter. \n
2222      *
2223      */
2224     NODE_IMAGE_COLOR_FILTER,
2225     /**
2226      * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs.
2227      *
2228      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2229      * .value[0].i32 : whether to resize the image source. \n
2230      * \n
2231      * Format of the return value {@link ArkUI_AttributeItem}:\n
2232      * .value[0].i32 : whether to resize the image source. \n
2233      *
2234      */
2235     NODE_IMAGE_AUTO_RESIZE,
2236     /**
2237      * @brief Defines the placeholder image source.
2238      * This attribute can be set, reset, and obtained as required through APIs.
2239      *
2240      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2241      * .string: placeholder image source. \n
2242      * \n
2243      * Format of the return value {@link ArkUI_AttributeItem}:\n
2244      * .string: placeholder image source. \n
2245      *
2246      */
2247     NODE_IMAGE_ALT,
2248     /**
2249      * @brief Defines whether the image is draggable.
2250      * This attribute can be set, reset, and obtained as required through APIs.
2251      *
2252      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2253      * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n
2254      * \n
2255      * Format of the return value {@link ArkUI_AttributeItem}:\n
2256      * .value[0].i32: whether the image is draggable. \n
2257      *
2258      */
2259     NODE_IMAGE_DRAGGABLE,
2260     /**
2261      * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs.
2262      *
2263      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2264      * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n
2265      * \n
2266      * Format of the return value {@link ArkUI_AttributeItem}:\n
2267      * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n
2268      *
2269      */
2270     NODE_IMAGE_RENDER_MODE,
2271     /**
2272      * @brief 设置图片的显示尺寸是否跟随图源尺寸,支持属性设置,属性重置和属性获取接口。
2273      *
2274      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2275      * .value[0].i32,设置图片的显示尺寸是否跟随图源尺寸,1表示跟随,0表示不跟随,默认值为0。\n
2276      * \n
2277      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2278      * .value[0].i32,1表示图片的显示尺寸跟随图源尺寸,0表示图片的显示尺寸不跟随图源尺寸。\n
2279      *
2280      */
2281     NODE_IMAGE_FIT_ORIGINAL_SIZE,
2282     /**
2283      * @brief 设置填充颜色,设置后填充颜色会覆盖在图片上,支持属性设置,属性重置和属性获取接口。
2284      *
2285      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2286      * .value[0].u32:填充色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n
2287      * \n
2288      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2289      * .value[0].u32:填充色数值,0xargb格式。\n
2290      *
2291      */
2292     NODE_IMAGE_FILL_COLOR,
2293     /**
2294      * @brief Sets the resizable image options.
2295      *
2296      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2297      * .value[0].f32: width of the left edge. The unit is vp. \n
2298      * .value[1].f32: width of the top edge. The unit is vp. \n
2299      * .value[2].f32: width of the right edge. The unit is vp. \n
2300      * .value[3].f32: width of the bottom edge. The unit is vp. \n
2301      * \n
2302      * Format of the return value {@link ArkUI_AttributeItem}:\n
2303      * .value[0].f32: width of the left edge. The unit is vp. \n
2304      * .value[1].f32: width of the top edge. The unit is vp. \n
2305      * .value[2].f32: width of the right edge. The unit is vp. \n
2306      * .value[3].f32: width of the bottom edge. The unit is vp. \n
2307      *
2308      */
2309     NODE_IMAGE_RESIZABLE,
2310     /**
2311      * @brief Defines the color of the component when it is selected.
2312      * This attribute can be set, reset, and obtained as required through APIs.
2313      *
2314      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2315      * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2316      * \n
2317      * Format of the return value {@link ArkUI_AttributeItem}:\n
2318      * .value[0].u32: background color, in 0xARGB format. \n
2319      *
2320      */
2321     NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE,
2322     /**
2323      * @brief Defines the color of the circular slider for the component of the switch type.
2324      * This attribute can be set, reset, and obtained as required through APIs.
2325      *
2326      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2327      * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2328      * \n
2329      * Format of the return value {@link ArkUI_AttributeItem}:\n
2330      * .value[0].u32: color of the circular slider, in 0xARGB format. \n
2331      *
2332      */
2333     NODE_TOGGLE_SWITCH_POINT_COLOR,
2334     /**
2335      * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs.
2336      *
2337      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2338      * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n
2339      * \n
2340      * Format of the return value {@link ArkUI_AttributeItem}:\n
2341      * .value[0].i32: whether to enable the toggle. \n
2342      *
2343      */
2344     NODE_TOGGLE_VALUE,
2345     /**
2346      * @brief Defines the color of the component when it is deselected.
2347      * This attribute can be set, reset, and obtained as required through APIs.
2348      *
2349      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2350      * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2351      * \n
2352      * Format of the return value {@link ArkUI_AttributeItem}:\n
2353      * .value[0].u32: background color, in 0xARGB format. \n
2354      *
2355      */
2356     NODE_TOGGLE_UNSELECTED_COLOR,
2357 
2358     /**
2359      * @brief Defines the foreground color of the loading progress bar.
2360      * This attribute can be set, reset, and obtained as required through APIs.
2361      *
2362      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2363      * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2364      * \n
2365      * Format of the return value {@link ArkUI_AttributeItem}:\n
2366      * .value[0].u32: foreground color, in 0xARGB format. \n
2367      *
2368      */
2369     NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS,
2370     /**
2371      * @brief Defines whether to show the loading animation for the <LoadingProgress> component.
2372      * This attribute can be set, reset, and obtained as required through APIs.
2373      *
2374      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2375      * .value[0].i32: whether to show the loading animation.
2376      * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n
2377      * \n
2378      * Format of the return value {@link ArkUI_AttributeItem}:\n
2379      * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n
2380      *
2381      */
2382     NODE_LOADING_PROGRESS_ENABLE_LOADING,
2383 
2384     /**
2385      * @brief Defines the default placeholder text of the single-line text box.
2386      * This attribute can be set, reset, and obtained as required through APIs.
2387      *
2388      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2389      * .string: default placeholder text. \n
2390      * \n
2391      * Format of the return value {@link ArkUI_AttributeItem}:\n
2392      * .string: default placeholder text. \n
2393      *
2394      */
2395     NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT,
2396     /**
2397      * @brief Defines the default text content of the single-line text box.
2398      * This attribute can be set, reset, and obtained as required through APIs.
2399      *
2400      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2401      * .string: default text content. \n
2402      * \n
2403      * Format of the return value {@link ArkUI_AttributeItem}:\n
2404      * .string: default text content. \n
2405      *
2406      */
2407     NODE_TEXT_INPUT_TEXT,
2408     /**
2409      * @brief Defines the caret color attribute.
2410      * This attribute can be set, reset, and obtained as required through APIs.
2411      *
2412      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2413      * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n
2414      * \n
2415      * Format of the return value {@link ArkUI_AttributeItem}:\n
2416      * .value[0].u32: caret color, in 0xARGB format. \n
2417      *
2418      */
2419     NODE_TEXT_INPUT_CARET_COLOR,
2420     /**
2421      * @brief Defines the caret style attribute.
2422      * This attribute can be set, reset, and obtained as required through APIs.
2423      *
2424      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2425      * .value[0].f32: caret width, in vp.\n
2426      * \n
2427      * Format of the return value {@link ArkUI_AttributeItem}:\n
2428      * .value[0].f32: caret width, in vp. \n
2429      *
2430      */
2431     NODE_TEXT_INPUT_CARET_STYLE,
2432     /**
2433      * @brief Defines the underline attribute of the single-line text box.
2434      * This attribute can be set, reset, and obtained as required through APIs.
2435      *
2436      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2437      * .value[0].i32: whether to show an underline.
2438      * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n
2439      * \n
2440      * Format of the return value {@link ArkUI_AttributeItem}:\n
2441      * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n
2442      *
2443      */
2444     NODE_TEXT_INPUT_SHOW_UNDERLINE,
2445     /**
2446      * @brief Defines the maximum number of characters in the text input.
2447      * This attribute can be set, reset, and obtained as required through APIs.
2448      *
2449      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2450      * .value[0].i32: maximum number of characters in the text input, without a unit. \n
2451      * \n
2452      * Format of the return value {@link ArkUI_AttributeItem}:\n
2453      * .value[0].i32: maximum number of characters in the text input. \n
2454      *
2455      */
2456     NODE_TEXT_INPUT_MAX_LENGTH,
2457     /**
2458      * @brief Defines the type of the Enter key.
2459      * This attribute can be set, reset, and obtained as required through APIs.
2460      *
2461      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2462      * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is
2463      * <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n
2464      * \n
2465      * Format of the return value {@link ArkUI_AttributeItem}:\n
2466      * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n
2467      *
2468      */
2469     NODE_TEXT_INPUT_ENTER_KEY_TYPE,
2470     /**
2471      * @brief Defines the placeholder text color.
2472      * This attribute can be set, reset, and obtained as required through APIs.
2473      *
2474      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2475      * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2476      * \n
2477      * Format of the return value {@link ArkUI_AttributeItem}:\n
2478      * .value[0].u32: color value, in 0xARGB format. \n
2479      *
2480      */
2481     NODE_TEXT_INPUT_PLACEHOLDER_COLOR,
2482     /**
2483      * @brief Defines the placeholder text font.
2484      * This attribute can be set, reset, and obtained as required through APIs.
2485      *
2486      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2487      * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n
2488      * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional.
2489      * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n
2490      * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional.
2491      * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n
2492      * ?.string: font family. Multiple font families are separated by commas (,).
2493      * Example: "font weight; font family 1, font family 2". \n
2494      * \n
2495      * Format of the return value {@link ArkUI_AttributeItem}:\n
2496      * .value[0].f32: font size, in fp.\n
2497      * .value[1].i32: font style {@link ArkUI_FontStyle}.\n
2498      * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n
2499      * .string: font family. Multiple font families are separated by commas (,). \n
2500      *
2501      */
2502     NODE_TEXT_INPUT_PLACEHOLDER_FONT,
2503     /**
2504      * @brief Defines whether to enable the input method when the component obtains focus.
2505      * This attribute can be set, reset, and obtained as required through APIs.
2506      *
2507      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2508      * .value[0].i32: whether to enable the input method when the component obtains focus.
2509      * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n
2510      * \n
2511      * Format of the return value {@link ArkUI_AttributeItem}:\n
2512       * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
2513       * and <b>0</b> means the opposite. \n
2514      *
2515      */
2516     NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS,
2517     /**
2518      * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
2519      *
2520      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2521      * .value[0].i32: text box type {@link ArkUI_TextInputType}.
2522      * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n
2523      * \n
2524      * Format of the return value {@link ArkUI_AttributeItem}:\n
2525      * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n
2526      *
2527      */
2528     NODE_TEXT_INPUT_TYPE,
2529     /**
2530      * @brief Defines the background color of the selected text.
2531      * This attribute can be set, reset, and obtained as required through APIs.
2532      *
2533      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2534      * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2535      * \n
2536      * Format of the return value {@link ArkUI_AttributeItem}:\n
2537      * .value[0].u32: color value, in 0xARGB format. \n
2538      *
2539      */
2540     NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR,
2541     /**
2542      * @brief Defines whether to display the password icon at the end of the password text box.
2543      * This attribute can be set, reset, and obtained as required through APIs.
2544      *
2545      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2546      * .value[0].i32: whether to display the password icon at the end of the password text box.
2547      * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n
2548      * \n
2549      * Format of the return value {@link ArkUI_AttributeItem}:\n
2550      * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box,
2551      * and <b>0</b> means the opposite. \n
2552      *
2553      */
2554     NODE_TEXT_INPUT_SHOW_PASSWORD_ICON,
2555     /**
2556      * @brief Defines the editable state for the single-line text box.
2557      * This attribute can be set as required through APIs.
2558      *
2559      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
2560      * .value[0].i32: whether to remain in the editable state. The value
2561      * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n
2562      * \n
2563      * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:
2564      * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
2565      * state, and <b>false</b> means to exit the editable state. \n
2566      *
2567      */
2568     NODE_TEXT_INPUT_EDITING,
2569     /**
2570      * @brief Defines the style of the cancel button on the right of the single-line text box.
2571      * This attribute can be set, reset, and obtained as required through APIs.
2572      *
2573      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n
2574      * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.
2575      * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n
2576      * .value[1]?.f32: button icon size, in vp.\n
2577      * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2578      * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n
2579      * \n
2580      * Format of the return value {@link ArkUI_AttributeItem}:\n
2581      * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n
2582      * .value[1].f32: icon size, in vp.\n
2583      * .value[2].u32: button icon color, in 0xARGB format.\n
2584      * .string: button icon image source. \n
2585      *
2586      */
2587     NODE_TEXT_INPUT_CANCEL_BUTTON,
2588     /**
2589      * @brief Sets the text selection area, which will be highlighted.
2590      * This attribute can be set, reset, and obtained as required through APIs.
2591      *
2592      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2593      * .value[0].i32: start position of the text selection. \n
2594      * .value[1].i32: end position of the text selection. \n
2595      * \n
2596      * Format of the return value {@link ArkUI_AttributeItem}:\n
2597      * .value[0].i32: start position of the text selection. \n
2598      * .value[1].i32: end position of the text selection. \n
2599      *
2600      */
2601     NODE_TEXT_INPUT_TEXT_SELECTION,
2602     /**
2603     * @brief Sets the color of the text underline when it is enabled.
2604     *
2605     * The default underline color configured for the theme is <b>'0x33182431'</b>.
2606     *
2607     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2608     * .value[0].u32: color of the underline applied to the text being typed in.
2609     * The value is in 0xARGB format. \n
2610     * .value[1].u32: color of the underline applied to the text in the normal state.
2611     * The value is in 0xARGB format. \n
2612     * .value[2].u32: color of the underline applied to the text when an error is detected.
2613     * The value is in 0xARGB format. \n
2614     * .value[3].u32: color of the underline applied to the text when it is disabled.
2615     * The value is in 0xARGB format. \n
2616     * \n
2617     * Format of the return value {@link ArkUI_AttributeItem}:\n
2618     * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n
2619     * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n
2620     * .value[2].u32: color of the underline applied to the text when an error is detected.
2621     * The value is in 0xARGB format. \n
2622     * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n
2623     *
2624     */
2625     NODE_TEXT_INPUT_UNDERLINE_COLOR,
2626     /**
2627     * @brief Sets whether to enable autofill.
2628     *
2629     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2630     * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n
2631     * \n
2632     * Format of the return value {@link ArkUI_AttributeItem}:\n
2633     * .value[0].i32: whether to enable autofill. \n
2634     *
2635     */
2636     NODE_TEXT_INPUT_ENABLE_AUTO_FILL,
2637     /**
2638     * @brief Sets the autofill type.
2639     *
2640     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2641     * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n
2642     * \n
2643     * Format of the return value {@link ArkUI_AttributeItem}:\n
2644     * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n
2645     *
2646     */
2647     NODE_TEXT_INPUT_CONTENT_TYPE,
2648     /**
2649     * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently
2650     * transmitted to Password Vault for generating a new password.
2651     *
2652     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2653     * .string: rules for generating passwords. \n
2654     * \n
2655     * Format of the return value {@link ArkUI_AttributeItem}:\n
2656     * .string: rules for generating passwords. \n
2657     *
2658     */
2659     NODE_TEXT_INPUT_PASSWORD_RULES,
2660     /**
2661     * @brief Sets whether to select all text in the initial state. The inline mode is not supported.
2662     *
2663     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2664     * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n
2665     * \n
2666     * Format of the return value {@link ArkUI_AttributeItem}:\n
2667     * .value[0].i32: whether to select all text in the initial state. \n
2668     *
2669     */
2670     NODE_TEXT_INPUT_SELECT_ALL,
2671     /**
2672     * @brief Sets the regular expression for input filtering. Only inputs that comply with the regular expression can be
2673     * displayed. Other inputs are filtered out. The specified regular expression can match single characters,
2674     * but not strings.
2675     *
2676     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2677     * .string: regular expression. \n
2678     * \n
2679     * Format of the return value {@link ArkUI_AttributeItem}:\n
2680     * .string: regular expression. \n
2681     *
2682     */
2683     NODE_TEXT_INPUT_INPUT_FILTER,
2684     /**
2685     * @brief Sets the text box to the default style or inline input style.
2686     *
2687     * For the inline input style, only <b>InputType.Normal</b> is supported.
2688     *
2689     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2690     * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n
2691     * \n
2692     * Format of the return value {@link ArkUI_AttributeItem}:\n
2693     * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n
2694     *
2695     */
2696     NODE_TEXT_INPUT_STYLE,
2697     /**
2698     * @brief Sets or obtains the caret position.
2699     *
2700     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2701     * In the case of setting the caret position:
2702     * .value[0].i32: character count from the beginning of a string to the caret position. \n
2703     *
2704     * Format of the return value {@link ArkUI_AttributeItem}:\n
2705     * In the case of obtaining the caret position: If this API is called when the caret position is updated in the
2706     * current frame, it will not take effect.
2707     * .value[0].i32: index of the caret position. \n
2708     * .value[1].f32: X coordinate of the caret relative to the text box. \n
2709     * .value[2].f32: Y coordinate of the caret relative to the text box. \n
2710     */
2711     NODE_TEXT_INPUT_CARET_OFFSET,
2712     /**
2713     * @brief Obtains the position of the edited text area relative to the component and its size.
2714     *
2715     * Format of the return value {@link ArkUI_AttributeItem}:\n
2716     * .value[0].f32: horizontal coordinate. \n
2717     * .value[1].f32: vertical coordinate. \n
2718     * .value[2].f32: content width. \n
2719     * .value[3].f32: content height. \n
2720     *
2721     */
2722     NODE_TEXT_INPUT_CONTENT_RECT,
2723     /**
2724     * @brief Obtains the number of lines of the edited text.
2725     *
2726     * Format of the return value {@link ArkUI_AttributeItem}:\n
2727     * .value[0].i32: number of lines of the edited text. \n
2728     *
2729     */
2730     NODE_TEXT_INPUT_CONTENT_LINE_COUNT,
2731     /**
2732      * @brief 设置长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单,支持属性设置,属性重置和属性获取接口。
2733      *
2734      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2735      * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。默认值false。\n
2736      * \n
2737      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2738      * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。\n
2739      *
2740      */
2741     NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN,
2742     /**
2743      * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information.
2744      *
2745      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2746      * .value[0].i32: whether the text box loses focus. \n
2747      * \n
2748      * Format of the return value {@link ArkUI_AttributeItem}:\n
2749      * .value[0].i32: whether the text box loses focus. \n
2750      *
2751      */
2752     NODE_TEXT_INPUT_BLUR_ON_SUBMIT,
2753     /**
2754      * @brief 设置自定义键盘。
2755      *
2756      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2757      * .object:自定义键盘,参数类型{@Link ArkUI_NodeHandle}。\n
2758      * .value[0]?.i32:设置自定义键盘是否支持避让功能,默认值false。\n
2759      * \n
2760      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2761      * .object:自定义键盘,参数类型{@Link ArkUI_NodeHandle}。\n
2762      * .value[0].i32:设置自定义键盘是否支持避让功能。\n
2763      *
2764      */
2765     NODE_TEXT_INPUT_CUSTOM_KEYBOARD,
2766     /**
2767      * @brief 文本断行规则属性,支持属性设置,属性重置,属性获取接口。
2768      *
2769      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2770      * .value[0].i32: 参数类型{@link ArkUI_WordBreak}。\n
2771      * \n
2772      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2773      * .value[0].i32: 参数类型{@link ArkUI_WordBreak}。\n
2774      *
2775      */
2776     NODE_TEXT_INPUT_WORD_BREAK,
2777 
2778     /**
2779     * @brief 设置输入框获取焦点时是否弹出键盘,支持属性设置,属性重置和属性获取接口。
2780     *
2781     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2782     * .value[0].i32: 是否弹出键盘。\n
2783     * \n
2784     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2785     * .value[0].i32: 是否弹出键盘。\n
2786     *
2787     */
2788     NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS,
2789 
2790     /**
2791      * @brief 设置该属性后,通过该属性计算textInput组件的高度。
2792      *
2793      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2794      * .value[0].i32: 设置numberOfLines的值。\n
2795      * \n
2796      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2797      * .value[0].i32: 设置numberOfLines的值。\n
2798      *
2799      */
2800     NODE_TEXT_INPUT_NUMBER_OF_LINES,
2801     /**
2802      * @brief 设置该属性后,通过该属性调整textInput组件的字符间距。
2803      * 接口支持设置,重置以及获取该属性。
2804      *
2805      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2806      * .value[0].f32: 设置letterSpacing的值,默认单位fp。\n
2807      * \n
2808      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2809      * .value[0].f32: 获取letterSpacing的值,默认单位fp。\n
2810      *
2811      * @since 15
2812      */
2813     NODE_TEXT_INPUT_LETTER_SPACING = 7032,
2814 
2815      /**
2816       * @brief 设置textInput组件是否开启输入预上屏。
2817       * 接口支持设置,重置以及获取该属性。
2818       *
2819       * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2820       * .value[0].i32: 设置是否开启输入预上屏。\n
2821       * \n
2822       * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2823       * .value[0].i32: 获取是否开启输入预上屏。\n
2824       *
2825       * @since 15
2826       */
2827     NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033,
2828 
2829      /**
2830     * @brief Set the keyboard style of textInput
2831     *
2832     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2833     * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n
2834     * \n
2835     * Format of the return value {@link ArkUI_AttributeItem}:\n
2836     * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n
2837     *
2838     * @since 15
2839     */
2840     NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035,
2841 
2842     /**
2843      * @brief Defines the default placeholder text for the multi-line text box.
2844      * This attribute can be set, reset, and obtained as required through APIs.
2845      *
2846      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2847      * .string: default placeholder text. \n
2848      * \n
2849      * Format of the return value {@link ArkUI_AttributeItem}:\n
2850      * .string: default placeholder text. \n
2851      *
2852      */
2853     NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA,
2854     /**
2855      * @brief Defines the default text content for the multi-line text box.
2856      * This attribute can be set, reset, and obtained as required through APIs.
2857      *
2858      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2859      * .string: default text content. \n
2860      * \n
2861      * Format of the return value {@link ArkUI_AttributeItem}:\n
2862      * .string: default text content. \n
2863      *
2864      */
2865     NODE_TEXT_AREA_TEXT,
2866     /**
2867      * @brief Defines the maximum number of characters in the text input.
2868      * This attribute can be set, reset, and obtained as required through APIs.
2869      *
2870      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2871      * .value[0].i32: maximum number of characters in the text input. \n
2872      * \n
2873      * Format of the return value {@link ArkUI_AttributeItem}:\n
2874      * .value[0].i32: maximum number of characters in the text input. \n
2875      *
2876      */
2877     NODE_TEXT_AREA_MAX_LENGTH,
2878     /**
2879      * @brief Defines the placeholder text color.
2880      * This attribute can be set, reset, and obtained as required through APIs.
2881      *
2882      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2883      * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2884      * \n
2885      * Format of the return value {@link ArkUI_AttributeItem}:\n
2886      * .value[0].u32: color value, in 0xARGB format. \n
2887      *
2888      */
2889     NODE_TEXT_AREA_PLACEHOLDER_COLOR,
2890     /**
2891      * @brief Defines the placeholder text font.
2892      * This attribute can be set, reset, and obtained as required through APIs.
2893      *
2894      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2895      * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n
2896      * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is
2897      * <b>ARKUI_FONT_STYLE_NORMAL</b>.\n
2898      * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is
2899      * <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n
2900      * ?.string: font family. Multiple font families are separated by commas (,).
2901      * For example, "font weight; font family 1, font family 2". \n
2902      * \n
2903      * Format of the return value {@link ArkUI_AttributeItem}:\n
2904      * .value[0].f32: font size, in fp.\n
2905      * .value[1].i32: font style {@link ArkUI_FontStyle}.\n
2906      * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n
2907      * .string: font family. Multiple font families are separated by commas (,). \n
2908      *
2909      */
2910     NODE_TEXT_AREA_PLACEHOLDER_FONT,
2911     /**
2912      * @brief Defines the caret color attribute.
2913      * This attribute can be set, reset, and obtained as required through APIs.
2914      *
2915      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2916      * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
2917      * \n
2918      * Format of the return value {@link ArkUI_AttributeItem}:\n
2919      * .value[0].u32: background color, in 0xARGB format. \n
2920      *
2921      */
2922     NODE_TEXT_AREA_CARET_COLOR,
2923     /**
2924      * @brief Defines the editable state for the multi-line text box.
2925      * This attribute can be set as required through APIs.
2926      *
2927      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2928      * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the
2929      * editable state, and <b>false</b> means to exit the editable state.\n \n
2930      * \n
2931      * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:
2932      * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
2933      * state, and <b>false</b> means to exit the editable state.\n \n
2934      *
2935      */
2936     NODE_TEXT_AREA_EDITING,
2937     /**
2938      * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
2939      *
2940      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2941      * .value[0].i32: text box type {@link ArkUI_TextAreaType}.
2942      * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n
2943      * \n
2944      * Format of the return value {@link ArkUI_AttributeItem}:\n
2945      * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n
2946      *
2947      */
2948     NODE_TEXT_AREA_TYPE,
2949     /**
2950      * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
2951      *
2952      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2953      * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n
2954      * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
2955      * when the number of characters that have been entered is greater than the maximum number of characters multiplied
2956      * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n
2957      * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n
2958      * \n
2959      * Format of the return value {@link ArkUI_AttributeItem}:\n
2960      * .value[0].i32: whether to show a character counter. \n
2961      * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
2962      * when the number of characters that have been entered is greater than the maximum number of characters multiplied
2963      * by the threshold percentage value. The value range is 1 to 100. \n
2964      * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
2965      * The default value is <b>true</b>. \n
2966      *
2967      */
2968     NODE_TEXT_AREA_SHOW_COUNTER,
2969 
2970     /**
2971      * @brief 设置长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单,支持属性设置,属性重置和属性获取接口。
2972      *
2973      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2974      * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。默认值false。\n
2975      * \n
2976      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2977      * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。\n
2978      *
2979      */
2980     NODE_TEXT_AREA_SELECTION_MENU_HIDDEN,
2981     /**
2982      * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information.
2983      *
2984      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
2985      * .value[0].i32: whether the text box loses focus. \n
2986      * \n
2987      * Format of the return value {@link ArkUI_AttributeItem}:\n
2988      * .value[0].i32: whether the text box loses focus. \n
2989      *
2990      */
2991     NODE_TEXT_AREA_BLUR_ON_SUBMIT,
2992     /**
2993     * @brief 通过正则表达式设置输入过滤器。匹配表达式的输入允许显示,不匹配的输入将被过滤。仅支持单个字符匹配,不支持字符串匹配。
2994     *
2995     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2996     * .string: 正则表达式。\n
2997     * \n
2998     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2999     * .string: 正则表达式。\n
3000     *
3001     */
3002     NODE_TEXT_AREA_INPUT_FILTER,
3003     /**
3004      * @brief 设置文本选中底板颜色,支持属性设置,属性重置和属性获取接口。
3005      *
3006      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3007      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n
3008      * \n
3009      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3010      * .value[0].u32:颜色数值,0xargb格式。\n
3011      *
3012      */
3013     NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR,
3014     /**
3015      * @brief 设置输入法回车键类型,支持属性设置,属性重置和属性获取接口。
3016      *
3017      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3018      * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType},默认值为ARKUI_ENTER_KEY_TYPE_DONE。\n
3019      * \n
3020      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3021      * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType}。\n
3022      *
3023      */
3024     NODE_TEXT_AREA_ENTER_KEY_TYPE,
3025     /**
3026      * @brief 设置TextArea通过点击以外的方式获焦时,是否绑定输入法,支持属性设置,属性重置和属性获取接口。
3027      *
3028      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3029      * .value[0].i32:false表示聚焦不拉起输入法,true表示拉起,默认值为true。\n
3030      * \n
3031      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3032      * .value[0].i32:0表示聚焦不拉起输入法,1表示拉起。\n
3033      *
3034      */
3035     NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS,
3036     /**
3037     * @brief 设置或获取光标所在位置信息。
3038     *
3039     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3040     * 设置输入光标的位置。
3041     * .value[0].i32: 从字符串开始到光标所在位置的字符长度。\n
3042     *
3043     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3044     * 返回当前光标所在位置信息。在当前帧更新光标位置同时调用该接口,该接口不生效
3045     * value[0].i32:光标所在位置的索引值。\n
3046     * value[1].f32:光标相对输入框的x坐标位值。\n
3047     * value[2].f32:光标相对输入框的y坐标位值。\n
3048     */
3049     NODE_TEXT_AREA_CARET_OFFSET,
3050     /**
3051     * @brief 获取已编辑文本内容区域相对组件的位置和大小。
3052     *
3053     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3054     * value[0].f32:水平方向横坐标。\n
3055     * value[1].f32:竖直方向纵坐标。\n
3056     * value[2].f32:内容宽度大小。\n
3057     * value[3].f32:内容高度大小。\n
3058     *
3059     */
3060     NODE_TEXT_AREA_CONTENT_RECT,
3061     /**
3062     * @brief 获取已编辑文本内容的行数。
3063     *
3064     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3065     * value[0].i32:已编辑文本内容行数。\n
3066     *
3067     */
3068     NODE_TEXT_AREA_CONTENT_LINE_COUNT,
3069     /**
3070      * @brief 组件在获焦状态下,调用该接口设置文本选择区域并高亮显示,且只有在selectionStart小于selectionEnd时,文字才会被选取、高亮显示。
3071      *
3072      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3073      * .value[0].i32:选中文本的起始位置;\n
3074      * .value[1].i32:选中文本的终止位置;\n
3075      * \n
3076      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3077      * .value[0].i32:选中文本的起始位置;\n
3078      * .value[1].i32:选中文本的终止位置;\n
3079      *
3080      */
3081     NODE_TEXT_AREA_TEXT_SELECTION,
3082     /**
3083     * @brief 设置是否启用自动填充。
3084     *
3085     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3086     * .value[0].i32: 是否启用自动填充,默认值true。\n
3087     * \n
3088     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3089     * .value[0].i32: 是否启用自动填充。\n
3090     *
3091     */
3092     NODE_TEXT_AREA_ENABLE_AUTO_FILL,
3093     /**
3094     * @brief 自动填充类型。
3095     *
3096     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3097     * .value[0].i32: 参数类型{@link ArkUI_TextInputContentType}。\n
3098     * \n
3099     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3100     * .value[0].i32: 参数类型{@link ArkUI_TextInputContentType}。\n
3101     *
3102     */
3103     NODE_TEXT_AREA_CONTENT_TYPE,
3104 
3105     /**
3106     * @brief 设置输入框获取焦点时是否弹出键盘,支持属性设置,属性重置和属性获取接口。
3107     *
3108     * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3109     * .value[0].i32: 是否弹出键盘。\n
3110     * \n
3111     * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3112     * .value[0].i32: 是否弹出键盘。\n
3113     *
3114     */
3115     NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS,
3116 
3117     /**
3118      * @brief 设置该属性后,通过该属性计算textArea组件的高度。
3119      *
3120      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3121      * .value[0].i32: 设置numberOfLines的值。\n
3122      * \n
3123      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3124      * .value[0].i32: 设置numberOfLines的值。\n
3125      *
3126      */
3127     NODE_TEXT_AREA_NUMBER_OF_LINES,
3128     /**
3129      * @brief 设置该属性后,通过该属性调整textArea组件的字符间距。
3130      * 接口支持设置,重置以及获取该属性。
3131      *
3132      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3133      * .value[0].f32: 设置letterSpacing的值,默认单位fp。\n
3134      * \n
3135      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3136      * .value[0].f32: 获取letterSpacing的值,默认单位fp。\n
3137      *
3138      * @since 15
3139      */
3140     NODE_TEXT_AREA_LETTER_SPACING = 8023,
3141 
3142      /**
3143       * @brief 设置textArea组件是否开启输入预上屏。
3144       * 接口支持设置,重置以及获取该属性。
3145       *
3146       * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3147       * .value[0].i32: 设置是否开启输入预上屏。\n
3148       * \n
3149       * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3150       * .value[0].i32: 获取是否开启输入预上屏。\n
3151       *
3152       * @since 15
3153       */
3154     NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024,
3155 
3156      /**
3157     * @brief Set the keyboard style of textArea
3158     *
3159     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3160     * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n
3161     * \n
3162     * Format of the return value {@link ArkUI_AttributeItem}:\n
3163     * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n
3164     *
3165     * @since 15
3166     */
3167     NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026,
3168 
3169     /**
3170      * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs.
3171      *
3172      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3173      * .string: default text content. \n
3174      * \n
3175      * Format of the return value {@link ArkUI_AttributeItem}:\n
3176      * .string: default text content. \n
3177      *
3178      */
3179     NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON,
3180 
3181     /**
3182      * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs.
3183      *
3184      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3185      * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}.
3186      * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n
3187      * \n
3188      * Format of the return value {@link ArkUI_AttributeItem}:\n
3189      * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}.
3190      * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n
3191      *
3192      */
3193     NODE_BUTTON_TYPE,
3194 
3195     /**
3196      * @brief Defines the current value of the progress indicator.
3197      * This attribute can be set, reset, and obtained as required through APIs.
3198      *
3199      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3200      * .value[0].f32: current value of the progress indicator. \n
3201      * \n
3202      * Format of the return value {@link ArkUI_AttributeItem}:\n
3203      * .value[0].f32: current value of the progress indicator. \n
3204      *
3205      */
3206     NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS,
3207     /**
3208      * @brief Defines the total value of the progress indicator.
3209      * This attribute can be set, reset, and obtained as required through APIs.
3210      *
3211      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3212      * .value[0].f32: total value of the progress indicator. \n
3213      * \n
3214      * Format of the return value {@link ArkUI_AttributeItem}:\n
3215      * .value[0].f32: total value of the progress indicator. \n
3216      *
3217      */
3218     NODE_PROGRESS_TOTAL,
3219     /**
3220      * @brief Defines the color for the progress value on the progress indicator.
3221      * This attribute can be set, reset, and obtained as required through APIs.
3222      *
3223      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3224      * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n
3225      * \n
3226      * Format of the return value {@link ArkUI_AttributeItem}:\n
3227      * .value[0].u32: color value, in 0xARGB format. \n
3228      *
3229      */
3230     NODE_PROGRESS_COLOR,
3231     /**
3232      * @brief Defines the type of the progress indicator.
3233      * This attribute can be set, reset, and obtained as required through APIs.
3234      *
3235      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3236      * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}.
3237      * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n
3238      * \n
3239      * Format of the return value {@link ArkUI_AttributeItem}:\n
3240      * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n
3241      *
3242      */
3243     NODE_PROGRESS_TYPE,
3244     /**
3245      * @brief Sets the style of the linear progress indicator.
3246      * This attribute can be set, reset, and obtained as required through APIs.
3247      * If the progress indicator type is not linear, it will not take effect.
3248      *
3249      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3250      * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n
3251      * \n
3252      * Format of the return value {@link ArkUI_AttributeItem}:\n
3253      * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n
3254      *
3255      * @since 15
3256      */
3257     NODE_PROGRESS_LINEAR_STYLE,
3258 
3259     /**
3260      * @brief Defines whether the check box is selected.
3261      * This attribute can be set, reset, and obtained as required through APIs.
3262      *
3263      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3264      * .value[0].i32: whether the check box is selected.
3265      * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n
3266      * \n
3267      * Format of the return value {@link ArkUI_AttributeItem}:\n
3268      * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n
3269      *
3270      */
3271     NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX,
3272 
3273     /**
3274      * @brief Defines the color of the check box when it is selected.
3275      * This attribute can be set, reset, and obtained as required through APIs.
3276      *
3277      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3278      * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n
3279      * \n
3280      * Format of the return value {@link ArkUI_AttributeItem}:\n
3281      * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3282      *
3283      */
3284     NODE_CHECKBOX_SELECT_COLOR,
3285 
3286     /**
3287      * @brief Defines the border color of the check box when it is not selected.
3288      * This attribute can be set, reset, and obtained as required through APIs.
3289      *
3290      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3291      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n
3292      * \n
3293      * Format of the return value {@link ArkUI_AttributeItem}:\n
3294      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3295      *
3296      */
3297     NODE_CHECKBOX_UNSELECT_COLOR,
3298 
3299     /**
3300      * @brief Defines the internal icon style of the check box.
3301      * This attribute can be set, reset, and obtained as required through APIs.
3302      *
3303      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3304      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n
3305      * .value[1]?.f32: size of the internal mark, in vp. Optional.\n
3306      * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n
3307      * \n
3308      * Format of the return value {@link ArkUI_AttributeItem}:\n
3309      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n
3310      * .value[1].f32: size of the internal mark, in vp. \n
3311      * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n
3312      *
3313      */
3314     NODE_CHECKBOX_MARK,
3315 
3316     /**
3317      * @brief Defines the shape of the check box.
3318      * This attribute can be set, reset, and obtained as required through APIs.
3319      *
3320      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3321      * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n
3322      * \n
3323      * Format of the return value {@link ArkUI_AttributeItem}:\n
3324      * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}.
3325      *
3326      */
3327     NODE_CHECKBOX_SHAPE,
3328 
3329     /**
3330      * @brief Defines the name of the checkbox.
3331      * This attribute can be set, reset, and obtained as required through APIs.
3332      *
3333      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3334      * .string: component name. \n
3335      * \n
3336      * Format of the return value {@link ArkUI_AttributeItem}:\n
3337      * .string: component name. \n
3338      *
3339      *@since 15
3340      */
3341     NODE_CHECKBOX_NAME = 11005,
3342 
3343     /**
3344      * @brief Defines the name of the checkbox.
3345      * This attribute can be set, reset, and obtained as required through APIs.
3346      *
3347      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3348      * .string: component name. \n
3349      * \n
3350      * Format of the return value {@link ArkUI_AttributeItem}:\n
3351      * .string: component name. \n
3352      *
3353      * @since 15
3354      */
3355     NODE_CHECKBOX_GROUP = 11006,
3356 
3357     /**
3358      * @brief Defines the ID of the <b><XComponent></b> component.
3359      * This attribute can be set and obtained as required through APIs.
3360      *
3361      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3362      * .string: component ID. \n
3363      * \n
3364      * Format of the return value {@link ArkUI_AttributeItem}:\n
3365      * .string: component ID. \n
3366      *
3367      */
3368     NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT,
3369     /**
3370      * @brief Defines the type of the <b><XComponent></b> component.
3371      * This attribute can be set, reset, and obtained as required through APIs.
3372      *
3373      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3374      * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n
3375      * \n
3376      * Format of the return value {@link ArkUI_AttributeItem}:\n
3377      * .value[0].i32: type {@link ArkUI_XComponentType}. \n
3378      *
3379      */
3380     NODE_XCOMPONENT_TYPE,
3381     /**
3382      * @brief Defines the width and height of the <b><XComponent></b> component.
3383      * This attribute can be set and obtained as required through APIs.
3384      *
3385      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3386      * .value[0].u32: width, in px. \n
3387      * .value[1].u32: height, in px. \n
3388      * \n
3389      * Format of the return value {@link ArkUI_AttributeItem}:\n
3390      * .value[0].u32: width, in px. \n
3391      * .value[1].u32: height, in px. \n
3392      *
3393      */
3394     NODE_XCOMPONENT_SURFACE_SIZE,
3395 
3396     /**
3397      * @brief Defines whether to display the lunar calendar in the date picker.
3398      * This attribute can be set, reset, and obtained as required through APIs.
3399      *
3400      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3401      * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n
3402      * \n
3403      * Format of the return value {@link ArkUI_AttributeItem}:\n
3404      * .value[0].i32: whether to display the lunar calendar in the date picker.
3405      *
3406      */
3407     NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER,
3408     /**
3409      * @brief Defines the start date of the date picker.
3410      * This attribute can be set, reset, and obtained as required through APIs.
3411      *
3412      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3413      * .string: date. The default value is <b>"1970-1-1"</b>. \n
3414      * \n
3415      * Format of the return value {@link ArkUI_AttributeItem}:\n
3416      * .string: date. \n
3417      *
3418      */
3419     NODE_DATE_PICKER_START,
3420     /**
3421      * @brief Defines the end date of the date picker.
3422      * This attribute can be set, reset, and obtained as required through APIs.
3423      *
3424      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3425      * .string: date. The default value is <b>"2100-12-31"</b>. \n
3426      * \n
3427      * Format of the return value {@link ArkUI_AttributeItem}:\n
3428      * .string: date. \n
3429      *
3430      */
3431     NODE_DATE_PICKER_END,
3432     /**
3433      * @brief Defines the selected date of the date picker.
3434      * This attribute can be set, reset, and obtained as required through APIs.
3435      *
3436      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3437      * .string: date. The default value is <b>"2024-01-22"</b>. \n
3438      * \n
3439      * Format of the return value {@link ArkUI_AttributeItem}:\n
3440      * .string: date.
3441      *
3442      */
3443     NODE_DATE_PICKER_SELECTED,
3444     /**
3445      * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker.
3446      * This attribute can be set, reset, and obtained as required through APIs.
3447      *
3448      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3449      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3450      * Parameter 1: font color, in #ARGB format.\n
3451      * Parameter 2: font size, in fp. The value is a number.\n
3452      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3453      * Parameter 4: fonts, separated by commas (,).\n
3454      * Parameter 5: font style. Available options are ("normal", "italic").\n
3455      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3456      * \n
3457      * Format of the return value {@link ArkUI_AttributeItem}:\n
3458      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3459      * Parameter 1: font color, in #ARGB format.\n
3460      * Parameter 2: font size, in fp. The value is a number.\n
3461      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3462      * Parameter 4: fonts, separated by commas (,).\n
3463      * Parameter 5: font style. Available options are ("normal", "italic").\n
3464      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3465      *
3466      */
3467     NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE,
3468     /**
3469      * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected
3470      * items in the date picker. This attribute can be set, reset, and obtained as required through APIs.
3471      *
3472      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3473      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3474      * Parameter 1: font color, in #ARGB format.\n
3475      * Parameter 2: font size, in fp. The value is a number.\n
3476      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3477      * Parameter 4: fonts, separated by commas (,).\n
3478      * Parameter 5: font style. Available options are ("normal", "italic").\n
3479      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3480      * \n
3481      * Format of the return value {@link ArkUI_AttributeItem}:\n
3482      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3483      * Parameter 1: font color, in #ARGB format.\n
3484      * Parameter 2: font size, in fp. The value is a number.\n
3485      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3486      * Parameter 4: fonts, separated by commas (,).\n
3487      * Parameter 5: font style. Available options are ("normal", "italic").\n
3488      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3489      *
3490      */
3491     NODE_DATE_PICKER_TEXT_STYLE,
3492     /**
3493      * @brief Defines the font color, font size, and font weight of the selected item in the date picker.
3494      * This attribute can be set, reset, and obtained as required through APIs.
3495      *
3496      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3497      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3498      * Parameter 1: font color, in #ARGB format.\n
3499      * Parameter 2: font size, in fp. The value is a number.\n
3500      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3501      * Parameter 4: fonts, separated by commas (,).\n
3502      * Parameter 5: font style. Available options are ("normal", "italic").\n
3503      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3504      * \n
3505      * Format of the return value {@link ArkUI_AttributeItem}:\n
3506      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3507      * Parameter 1: font color, in #ARGB format.\n
3508      * Parameter 2: font size, in fp. The value is a number.\n
3509      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3510      * Parameter 4: fonts, separated by commas (,).\n
3511      * Parameter 5: font style. Available options are ("normal", "italic").\n
3512      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3513      *
3514      */
3515     NODE_DATE_PICKER_SELECTED_TEXT_STYLE,
3516     /**
3517      * @brief Defines the time of the selected item. in the timer picker.
3518      * This attribute can be set, reset, and obtained as required through APIs.
3519      *
3520      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3521      * .string: time. The default value is the current system time. \n
3522      * \n
3523      * Format of the return value {@link ArkUI_AttributeItem}:\n
3524      * .string: time.
3525      *
3526      */
3527 
3528     NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER,
3529     /**
3530      * @brief Defines whether the display time is in 24-hour format.
3531      * This attribute can be set, reset, and obtained as required through APIs.
3532      *
3533      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3534      * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n
3535      * \n
3536      * Format of the return value {@link ArkUI_AttributeItem}:\n
3537      * .value[0].i32: whether the display time is in 24-hour format.
3538      *
3539      */
3540     NODE_TIME_PICKER_USE_MILITARY_TIME,
3541     /**
3542      * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker.
3543      * This attribute can be set, reset, and obtained as required through APIs.
3544      *
3545      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3546      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3547      * Parameter 1: font color, in #ARGB format.\n
3548      * Parameter 2: font size, in fp. The value is a number.\n
3549      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3550      * Parameter 4: fonts, separated by commas (,).\n
3551      * Parameter 5: font style. Available options are ("normal", "italic").\n
3552      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3553      * \n
3554      * Format of the return value {@link ArkUI_AttributeItem}:\n
3555      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3556      * Parameter 1: font color, in #ARGB format.\n
3557      * Parameter 2: font size, in fp. The value is a number.\n
3558      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3559      * Parameter 4: fonts, separated by commas (,).\n
3560      * Parameter 5: font style. Available options are ("normal", "italic").\n
3561      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3562      *
3563      */
3564     NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE,
3565     /**
3566      * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items
3567      * in the time picker. This attribute can be set, reset, and obtained as required through APIs.
3568      *
3569      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3570      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3571      * Parameter 1: font color, in #ARGB format.\n
3572      * Parameter 2: font size, in fp. The value is a number.\n
3573      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3574      * Parameter 4: fonts, separated by commas (,).\n
3575      * Parameter 5: font style. Available options are ("normal", "italic").\n
3576      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3577      * \n
3578      * Format of the return value {@link ArkUI_AttributeItem}:\n
3579      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3580      * Parameter 1: font color, in #ARGB format.\n
3581      * Parameter 2: font size, in fp. The value is a number.\n
3582      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3583      * Parameter 4: fonts, separated by commas (,).\n
3584      * Parameter 5: font style. Available options are ("normal", "italic").\n
3585      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3586      *
3587      */
3588     NODE_TIME_PICKER_TEXT_STYLE,
3589     /**
3590      * @brief Defines the font color, font size, and font weight of the selected item in the time picker.
3591      * This attribute can be set, reset, and obtained as required through APIs.
3592      *
3593      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3594      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3595      * Parameter 1: font color, in #ARGB format.\n
3596      * Parameter 2: font size, in fp. The value is a number.\n
3597      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3598      * Parameter 4: fonts, separated by commas (,).\n
3599      * Parameter 5: font style. Available options are ("normal", "italic").\n
3600      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3601      * \n
3602      * Format of the return value {@link ArkUI_AttributeItem}:\n
3603      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3604      * Parameter 1: font color, in #ARGB format.\n
3605      * Parameter 2: font size, in fp. The value is a number.\n
3606      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3607      * Parameter 4: fonts, separated by commas (,).\n
3608      * Parameter 5: font style. Available options are ("normal", "italic").\n
3609      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3610      *
3611      */
3612     NODE_TIME_PICKER_SELECTED_TEXT_STYLE,
3613 
3614     /**
3615      * @brief Defines the data selection range of the text picker.
3616      * This attribute can be set, reset, and obtained as required through APIs.
3617      *
3618      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3619      * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.
3620      * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n
3621      * ?.string: string input, whose format varies by picker type.\n
3622      * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n
3623      * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
3624      * semicolons (;), and strings within each pair are separated by commas (,). \n
3625      * ?.object: Object input, whose format varies by picker type.\n
3626      * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n
3627      * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n
3628      * \n
3629      * Format of the return value {@link ArkUI_AttributeItem}:\n
3630      * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n
3631      * ?.string: string output, whose format varies by picker type.\n
3632      * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n
3633      * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
3634      * semicolons (;), and strings within each pair are separated by commas (,). \n
3635      * ?.string: Object output, whose format varies by picker type.\n
3636      * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n
3637      * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n
3638      *
3639      */
3640     NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER,
3641     /**
3642      * @brief Defines the index of the default selected item in the data selection range of the text picker.
3643      * This attribute can be set, reset, and obtained as required through APIs.
3644      *
3645      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3646      * .value[0].u32: index. If there are multiple index values, add them one by one. \n
3647      * \n
3648      * Format of the return value {@link ArkUI_AttributeItem}:\n
3649      * .value[0].u32: index. If there are multiple index values, add them one by one.\n
3650      *
3651      */
3652     NODE_TEXT_PICKER_OPTION_SELECTED,
3653     /**
3654      * @brief Defines the value of the default selected item in the text picker.
3655      * This attribute can be set, reset, and obtained as required through APIs.
3656      *
3657      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3658      * .string: value of the selected item. If there are multiple values, add them one by one and
3659      * separate them with semicolons (;). \n
3660      * \n
3661      * Format of the return value {@link ArkUI_AttributeItem}:\n
3662      * .string: value of the selected item. If there are multiple values, add them one by one and
3663      * separate them with semicolons (;).\n
3664      *
3665      */
3666     NODE_TEXT_PICKER_OPTION_VALUE,
3667     /**
3668      * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker.
3669      * This attribute can be set, reset, and obtained as required through APIs.
3670      *
3671      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3672      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3673      * Parameter 1: font color, in #ARGB format.\n
3674      * Parameter 2: font size, in fp. The value is a number.\n
3675      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3676      * Parameter 4: fonts, separated by commas (,).\n
3677      * Parameter 5: font style. Available options are ("normal", "italic").\n
3678      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3679      * \n
3680      * Format of the return value {@link ArkUI_AttributeItem}:\n
3681      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3682      * Parameter 1: font color, in #ARGB format.\n
3683      * Parameter 2: font size, in fp. The value is a number.\n
3684      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3685      * Parameter 4: fonts, separated by commas (,).\n
3686      * Parameter 5: font style. Available options are ("normal", "italic").\n
3687      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3688      *
3689      */
3690     NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE,
3691     /**
3692      * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected
3693      * items in the text picker. This attribute can be set, reset, and obtained as required through APIs.
3694      *
3695      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3696      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3697      * Parameter 1: font color, in #ARGB format.\n
3698      * Parameter 2: font size, in fp. The value is a number.\n
3699      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3700      * Parameter 4: fonts, separated by commas (,).\n
3701      * Parameter 5: font style. Available options are ("normal", "italic").\n
3702      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3703      * \n
3704      * Format of the return value {@link ArkUI_AttributeItem}:\n
3705      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3706      * Parameter 1: font color, in #ARGB format.\n
3707      * Parameter 2: font size, in fp. The value is a number.\n
3708      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3709      * Parameter 4: fonts, separated by commas (,).\n
3710      * Parameter 5: font style. Available options are ("normal", "italic").\n
3711      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3712      *
3713      */
3714     NODE_TEXT_PICKER_TEXT_STYLE,
3715     /**
3716      * @brief Defines the font color, font size, and font weight for the selected item in the text picker.
3717      * This attribute can be set, reset, and obtained as required through APIs.
3718      *
3719      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3720      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3721      * Parameter 1: font color, in #ARGB format.\n
3722      * Parameter 2: font size, in fp. The value is a number.\n
3723      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3724      * Parameter 4: fonts, separated by commas (,).\n
3725      * Parameter 5: font style. Available options are ("normal", "italic").\n
3726      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3727      * \n
3728      * Format of the return value {@link ArkUI_AttributeItem}:\n
3729      * .string: array of five parameters of the string type, separated by semicolons (;).\n
3730      * Parameter 1: font color, in #ARGB format.\n
3731      * Parameter 2: font size, in fp. The value is a number.\n
3732      * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n.
3733      * Parameter 4: fonts, separated by commas (,).\n
3734      * Parameter 5: font style. Available options are ("normal", "italic").\n
3735      * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n
3736      *
3737      */
3738     NODE_TEXT_PICKER_SELECTED_TEXT_STYLE,
3739     /**
3740      * @brief Defines the index of the default selected item in the data selection range of the text picker.
3741      * This attribute can be set, reset, and obtained as required through APIs.
3742      *
3743      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3744      * .value[0...].i32: index of the default item in the data selection range.
3745      *
3746      */
3747     NODE_TEXT_PICKER_SELECTED_INDEX,
3748     /**
3749      * @brief Defines whether to support scroll looping for the text picker.
3750      * This attribute can be set, reset, and obtained as required through APIs.
3751      *
3752      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3753      * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
3754      * <b>false</b> means the opposite.\n \n
3755      * \n
3756      * Format of the return value {@link ArkUI_AttributeItem}:\n
3757      * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n
3758      *
3759      */
3760     NODE_TEXT_PICKER_CAN_LOOP,
3761     /**
3762      * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required
3763      * through APIs.
3764      *
3765      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3766      * .value[0].f32: item height, in vp. \n
3767      * \n
3768      * Format of the return value {@link ArkUI_AttributeItem}:\n
3769      * value[0].f32: item height, in vp. \n
3770      *
3771      */
3772     NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT,
3773     /**
3774      * @brief Defines the style of the background in the selected state of the calendar picker.
3775      * This attribute can be set, reset, and obtained as required through APIs.
3776      *
3777      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3778      * .value[0].f32: style of the background in the selected state of the calendar picker.
3779      * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners.
3780      If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to
3781      * or greater than 16, the background is a circle. \n
3782      * \n
3783      * Format of the return value {@link ArkUI_AttributeItem}:\n
3784      * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞).
3785      * If the value is <b>0</b>, the background is a rectangle with square corners.
3786      If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or
3787      * greater than 16, the background is a circle. \n
3788      *
3789      */
3790     NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER,
3791     /**
3792      * @brief Defines the date of the selected item in the calendar picker.
3793      * This attribute can be set, reset, and obtained as required through APIs.
3794      *
3795      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3796      * .value[0].u32: year of the selected date. \n
3797      * .value[1].u32: month of the selected date. \n
3798      * .value[2].u32: day of the selected date. \n
3799      * \n
3800      * Format of the return value {@link ArkUI_AttributeItem}:\n
3801      * .value[0].u32: year of the selected date. \n
3802      * .value[1].u32: month of the selected date. \n
3803      * .value[2].u32: day of the selected date. \n
3804      *
3805      */
3806     NODE_CALENDAR_PICKER_SELECTED_DATE,
3807     /**
3808      * @brief Defines how the calendar picker is aligned with the entry component.
3809      * This attribute can be set, reset, and obtained as required through APIs.
3810      *
3811      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3812      * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n
3813      * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
3814      * the specified alignment mode. \n
3815      * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
3816      * the specified alignment mode. \n
3817      * \n
3818      * Format of the return value {@link ArkUI_AttributeItem}:\n
3819      * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n
3820      * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
3821      * the specified alignment mode. \n
3822      * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
3823      * the specified alignment mode. \n
3824      *
3825      */
3826     NODE_CALENDAR_PICKER_EDGE_ALIGNMENT,
3827     /**
3828      * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker.
3829      *
3830      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3831      * .value[0]?.u32: font color of the entry area. \n
3832      * .value[1]?.f32: font size of the entry area, in fp. \n
3833      * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n
3834      * \n
3835      * Format of the return value {@link ArkUI_AttributeItem}:\n
3836      * .value[0].u32: font color of the entry area. \n
3837      * .value[1].f32: font size of the entry area, in fp. \n
3838      * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n
3839      *
3840      */
3841     NODE_CALENDAR_PICKER_TEXT_STYLE,
3842     /**
3843      * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs.
3844      *
3845      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3846      * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3847      * \n
3848      * Format of the return value {@link ArkUI_AttributeItem}:\n
3849      * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3850      *
3851      */
3852     NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER,
3853 
3854     /**
3855      * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required
3856      * through APIs.
3857      *
3858      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3859      * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n
3860      * \n
3861      * Format of the return value {@link ArkUI_AttributeItem}:\n
3862      * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3863      *
3864      */
3865     NODE_SLIDER_TRACK_COLOR,
3866 
3867     /**
3868      * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
3869      * as required through APIs.
3870      *
3871      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3872      * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n
3873      * \n
3874      * Format of the return value {@link ArkUI_AttributeItem}:\n
3875      * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
3876      *
3877      */
3878     NODE_SLIDER_SELECTED_COLOR,
3879 
3880     /**
3881      * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required
3882      * through APIs.
3883      *
3884      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3885      * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
3886      * and <b>0</b> (default value) means the opposite. \n
3887      * \n
3888      * Format of the return value {@link ArkUI_AttributeItem}:\n
3889      * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
3890      * and <b>0</b> (default value) means the opposite. \n
3891      *
3892      */
3893     NODE_SLIDER_SHOW_STEPS,
3894 
3895     /**
3896      * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs.
3897      *
3898      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3899      * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n
3900      * .string?: depending on the shape. Optional. \n
3901      * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n
3902      * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n
3903      * There are five types:\n
3904      * 1. Rectangle:\n
3905      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3906      * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n
3907      * .value[2].f32: width of the rectangle.\n
3908      * .value[3].f32: height of the rectangle.\n
3909      * .value[4].f32: width of the rounded corner of the rectangle.\n
3910      * .value[5].f32: height of the rounded corner of the rectangle.\n
3911      * 2. Circle:\n
3912      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3913      * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n
3914      * .value[2].f32: width of the circle.\n
3915      * .value[3].f32: height of the circle.\n
3916      * 3.Ellipse:\n
3917      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3918      * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n
3919      * .value[2].f32: width of the ellipse.\n
3920      * .value[3].f32: height of the ellipse;\n
3921      * 4. Path:\n
3922      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3923      * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n
3924      * .value[2].f32: width of the path.\n
3925      * .value[3].f32: height of the path.\n
3926      * .string: command for drawing the path.\n
3927      * \n
3928      * Format of the return value {@link ArkUI_AttributeItem}:\n
3929      * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n
3930      * .string?: depending on the shape. Optional. \n
3931      * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n
3932      * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n
3933       * There are five types:\n
3934      * 1. Rectangle:\n
3935      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3936      * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n
3937      * .value[2].f32: width of the rectangle.\n
3938      * .value[3].f32: height of the rectangle.\n
3939      * .value[4].f32: width of the rounded corner of the rectangle.\n
3940      * .value[5].f32: height of the rounded corner of the rectangle.\n
3941      * 2. Circle:\n
3942      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3943      * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n
3944      * .value[2].f32: width of the circle.\n
3945      * .value[3].f32: height of the circle.\n
3946      * 3.Ellipse:\n
3947      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3948      * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n
3949      * .value[2].f32: width of the ellipse.\n
3950      * .value[3].f32: height of the ellipse;\n
3951      * 4. Path:\n
3952      * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}.
3953      * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n
3954      * .value[2].f32: width of the path.\n
3955      * .value[3].f32: height of the path.\n
3956      * .string: command for drawing the path.\n
3957      *
3958      */
3959     NODE_SLIDER_BLOCK_STYLE,
3960 
3961     /**
3962      * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required
3963      * through APIs.
3964      *
3965      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3966      * .value[0].f32: current value. \n
3967      * \n
3968      * Format of the return value {@link ArkUI_AttributeItem}:\n
3969      * .value[0].f32: current value.
3970      *
3971      */
3972     NODE_SLIDER_VALUE,
3973 
3974     /**
3975      * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required
3976      * through APIs.
3977      *
3978      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3979      * .value[0].f32: minimum value. \n
3980      * \n
3981      * Format of the return value {@link ArkUI_AttributeItem}:\n
3982      * .value[0].f32: minimum value.
3983      *
3984      */
3985     NODE_SLIDER_MIN_VALUE,
3986 
3987     /**
3988      * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required
3989      * through APIs.
3990      *
3991      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
3992      * .value[0].f32: maximum value. \n
3993      * \n
3994      * Format of the return value {@link ArkUI_AttributeItem}:\n
3995      * .value[0].f32: maximum value.
3996      *
3997      */
3998     NODE_SLIDER_MAX_VALUE,
3999 
4000     /**
4001      * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs.
4002      *
4003      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4004      * .value[0].f32: step. The value range is [0.01, 100]. \n
4005      * \n
4006      * Format of the return value {@link ArkUI_AttributeItem}:\n
4007      * .value[0].f32: step. The value range is [0.01, 100].
4008      *
4009      */
4010     NODE_SLIDER_STEP,
4011 
4012     /**
4013      * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and
4014      * obtained as required through APIs.
4015      *
4016      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4017      * .value[0].i32: whether the slider moves horizontally or vertically.
4018      * The parameter type is {@link ArkUI_SliderDirection}. \n
4019      * \n
4020      * Format of the return value {@link ArkUI_AttributeItem}:\n
4021      * .value[0].i32: whether the slider moves horizontally or vertically.
4022      *
4023      */
4024     NODE_SLIDER_DIRECTION,
4025 
4026     /**
4027      * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required
4028      * through APIs.
4029      *
4030      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4031      * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
4032      * reversed, and <b>0</b> means the opposite. \n
4033      * \n
4034      * Format of the return value {@link ArkUI_AttributeItem}:\n
4035      * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
4036      * reversed, and <b>0</b> means the opposite.
4037      *
4038      */
4039     NODE_SLIDER_REVERSE,
4040 
4041     /**
4042      * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained
4043      * as required through APIs.
4044      *
4045      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4046      * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n
4047      * \n
4048      * Format of the return value {@link ArkUI_AttributeItem}:\n
4049      * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}.
4050      *
4051      */
4052     NODE_SLIDER_STYLE,
4053 
4054     /**
4055      * @brief Sets the track thickness of the slider.
4056      * This attribute can be set, reset, and obtained as required through APIs.
4057      *
4058      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4059      * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b>
4060      * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to
4061      * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n
4062      * \n
4063      * Format of the return value {@link ArkUI_AttributeItem}:\n
4064      * .value[0].f32: track thickness of the slider, in vp. \n
4065      *
4066      */
4067     NODE_SLIDER_TRACK_THICKNESS,
4068 
4069     /**
4070      * @brief Sets whether the radio button is selected.
4071      * This attribute can be set, reset, and obtained as required through APIs.
4072      *
4073      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4074      * .value[0].i32: whether the radio button is selected. The default value is <b>false</b>.
4075      * Format of the return value {@link ArkUI_AttributeItem}:\n
4076      * .value[0].i32: whether the radio button is selected.
4077      *
4078      */
4079     NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO,
4080     /**
4081      * @brief Sets the style of the radio button in selected or deselected state.
4082      * This attribute can be set, reset, and obtained as required through APIs.
4083      *
4084      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4085      * .value[0]?.u32: color of the background when the radio button is selected, in 0xARGB format.
4086      * The default value is <b>0xFF007DFF</b>. \n
4087      * .value[1]?.u32: color of the border when the radio button is deselected, in 0xARGB format.
4088      * The default value is <b>0xFF182431</b>. \n
4089      * .value[2]?.u32: color of the indicator when the radio button is selected, in 0xARGB format.
4090      * The default value is <b>0xFFFFFFFF</b>. \n
4091      * Format of the return value {@link ArkUI_AttributeItem}:\n
4092      * .value[0].u32: color of the background when the radio button is selected, in 0xARGB format.
4093      * The default value is <b>0xFF007DFF</b>. \n
4094      * .value[1].u32: color of the border when the radio button is deselected, in 0xARGB format.
4095      * The default value is <b>0xFF182431</b>. \n
4096      * .value[2].u32: color of the indicator when the radio button is selected, in 0xARGB format.
4097      * The default value is <b>0xFFFFFFFF</b>. \n
4098      *
4099      */
4100     NODE_RADIO_STYLE,
4101     /**
4102      * @brief Sets the current value of the radio button.
4103      * This attribute can be set, reset, and obtained as required through APIs.
4104      *
4105      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4106      * .string: value of the radio button. \n
4107      * \n
4108      * Format of the return value {@link ArkUI_AttributeItem}:\n
4109      * .string: value of the radio button. \n
4110      *
4111      */
4112     NODE_RADIO_VALUE,
4113     /**
4114      * @brief Sets the name of the group to which the radio button belongs. Only one radio button in a given group can
4115      * be selected at a time. This attribute can be set, reset, and obtained as required through APIs.
4116      *
4117      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4118      * .string: name of the group to which the radio button belongs. \n
4119      * \n
4120      * Format of the return value {@link ArkUI_AttributeItem}:\n
4121      * .string: name of the group to which the radio button belongs. \n
4122      *
4123      */
4124     NODE_RADIO_GROUP,
4125 
4126     /**
4127      * @brief Defines the name of the checkboxgroup.
4128      * This attribute can be set, reset, and obtained as required through APIs.
4129      *
4130      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4131      * .string: component name. \n
4132      * \n
4133      * Format of the return value {@link ArkUI_AttributeItem}:\n
4134      * .string: component name. \n
4135      *
4136      * @since 15
4137      */
4138     NODE_CHECKBOX_GROUP_NAME  = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP,
4139 
4140     /**
4141      * @brief Defines whether the checkboxgroup is selected.
4142      * This attribute can be set, reset, and obtained as required through APIs.
4143      *
4144      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4145      * .value[0].i32: whether the check box is selected.
4146      * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n
4147      * \n
4148      * Format of the return value {@link ArkUI_AttributeItem}:\n
4149      * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n
4150      *
4151      * @since 15
4152      */
4153     NODE_CHECKBOX_GROUP_SELECT_ALL = 21001,
4154 
4155     /**
4156      * @brief Defines the color of the checkboxgroup when it is selected.
4157      * This attribute can be set, reset, and obtained as required through APIs.
4158      *
4159      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4160      * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
4161      * for example, <b>0xFF1122FF</b>. \n
4162      * \n
4163      * Format of the return value {@link ArkUI_AttributeItem}:\n
4164      * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
4165      * for example, <b>0xFF1122FF</b>.
4166      *
4167      * @since 15
4168      */
4169     NODE_CHECKBOX_GROUP_SELECTED_COLOR = 21002,
4170     /**
4171      * @brief Defines the border color of the checkboxgroup when it is not selected.
4172      * This attribute can be set, reset, and obtained as required through APIs.
4173      *
4174      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4175      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n
4176      * \n
4177      * Format of the return value {@link ArkUI_AttributeItem}:\n
4178      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
4179      *
4180      * @since 15
4181      */
4182     NODE_CHECKBOX_GROUP_UNSELECTED_COLOR = 21003,
4183 
4184     /**
4185      * @brief Defines the internal icon style of the checkboxgroup.
4186      * This attribute can be set, reset, and obtained as required through APIs.
4187      *
4188      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4189      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n
4190      * .value[1]?.f32: size of the internal mark, in vp. Optional.\n
4191      * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n
4192      * \n
4193      * Format of the return value {@link ArkUI_AttributeItem}:\n
4194      * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n
4195      * .value[1].f32: size of the internal mark, in vp. \n
4196      * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n
4197      *
4198      * @since 15
4199      */
4200     NODE_CHECKBOX_GROUP_MARK = 21004,
4201 
4202     /**
4203      * @brief Defines the shape of the checkboxgroup.
4204      * This attribute can be set, reset, and obtained as required through APIs.
4205      *
4206      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4207      * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n
4208      * \n
4209      * Format of the return value {@link ArkUI_AttributeItem}:\n
4210      * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}.
4211      *
4212      * @since 15
4213      */
4214     NODE_CHECKBOX_GROUP_SHAPE = 21005,
4215 
4216     /**
4217      * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset,
4218      * and obtained as required through APIs.
4219      *
4220      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4221      * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}.
4222      * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n
4223      * \n
4224      * Format of the return value {@link ArkUI_AttributeItem}:\n
4225      * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n
4226      *
4227      */
4228     NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK,
4229 
4230     /**
4231      * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs.
4232      *
4233      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4234      * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is
4235      * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n
4236      * \n
4237      * Format of the return value {@link ArkUI_AttributeItem}:\n
4238      * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n
4239      *
4240      */
4241     NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL,
4242     /**
4243      * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required
4244      * through APIs.
4245      *
4246      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4247      * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n
4248      * \n
4249      * Format of the return value {@link ArkUI_AttributeItem}:\n
4250      * .value[0].f32: width of the scrollbar, in vp. \n
4251      *
4252      */
4253     NODE_SCROLL_BAR_WIDTH,
4254     /**
4255      * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
4256      * through APIs.
4257      *
4258      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4259      * .data[0].u32: color of the scrollbar, in 0xARGB format. \n
4260      * \n
4261      * Format of the return value {@link ArkUI_AttributeItem}:\n
4262      * .data[0].u32: color of the scrollbar, in 0xARGB format. \n
4263      *
4264      */
4265     NODE_SCROLL_BAR_COLOR,
4266     /**
4267      * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs.
4268      *
4269      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4270      * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}.
4271      * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n
4272      * \n
4273      * Format of the return value {@link ArkUI_AttributeItem}:\n
4274      * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n
4275      *
4276      */
4277     NODE_SCROLL_SCROLL_DIRECTION,
4278     /**
4279      * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is
4280      * reached. This attribute can be set, reset, and obtained as required through APIs.
4281      *
4282      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4283      * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
4284      * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n
4285      * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the
4286      * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the
4287      * opposite. The default value is <b>1</b>. \n
4288      * \n
4289      * Format of the return value {@link ArkUI_AttributeItem}:\n
4290      * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
4291      * The parameter type is {@link ArkUI_EdgeEffect}. \n
4292      * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component
4293      * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n
4294      *
4295      */
4296     NODE_SCROLL_EDGE_EFFECT,
4297     /**
4298      * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by
4299      * finger or mouse is not supported, but the scroll controller API is not affected.
4300      *
4301      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4302      * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n
4303      * \n
4304      * Format of the return value {@link ArkUI_AttributeItem}:\n
4305      * .value[0].i32: whether to support scroll gestures. \n
4306      *
4307      */
4308     NODE_SCROLL_ENABLE_SCROLL_INTERACTION,
4309     /**
4310      * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only
4311      * indirectly the scroll chaining during the inertial scrolling process.
4312      *
4313      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4314      * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b>
4315      * for wearable devices. \n
4316      * \n
4317      * Format of the return value {@link ArkUI_AttributeItem}:\n
4318      * .value[0].f32: friction coefficient.
4319      *
4320      */
4321     NODE_SCROLL_FRICTION,
4322     /**
4323      * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs.
4324      *
4325      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4326      * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.
4327      * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n
4328      * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
4329      * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
4330      * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple
4331      * snap points.\n
4332      * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
4333      * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
4334      * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple
4335      * snap points.\n
4336      * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an
4337      * edge to which the <b><Scroll></b> component can scroll.  \n
4338      * \n
4339      * Format of the return value {@link ArkUI_AttributeItem}:\n
4340      * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n
4341      * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
4342      * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
4343      * start edge and the first snap point.\n
4344      * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
4345      * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
4346      * end edge and the last snap point.\n
4347      * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge
4348      * to which the <b><Scroll></b> component can scroll. \n
4349      *
4350      */
4351     NODE_SCROLL_SNAP,
4352 
4353     /**
4354      * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required
4355      * through APIs.
4356      *
4357      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4358      * .value[0].i32: nested scrolling option when the component scrolls forward.
4359      * The parameter type is {@link ArkUI_ScrollNestedMode}. \n
4360      * .value[1].i32: nested scrolling option when the component scrolls backward.
4361      * The parameter type is {@link ArkUI_ScrollNestedMode}. \n
4362      * \n
4363      * Format of the return value {@link ArkUI_AttributeItem}:\n
4364      * .value[0].i32: nested scrolling option when the component scrolls forward.
4365      * The parameter type is {@link ArkUI_ScrollNestedMode}. \n
4366      * .value[1].i32: nested scrolling option when the component scrolls backward.
4367      * The parameter type is {@link ArkUI_ScrollNestedMode}.
4368      *
4369      */
4370     NODE_SCROLL_NESTED_SCROLL,
4371     /**
4372      * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required
4373      * through APIs.
4374      *
4375      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4376      * .value[0].f32: horizontal scrolling offset, in vp. \n
4377      * .value[1].f32: vertical scrolling offset, in vp. \n
4378      * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n
4379      * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}.
4380      * The default value is <b>ARKUI_CURVE_EASE</b>. \n
4381      * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not
4382      * to enable the default spring animation. \n
4383      * \n
4384      * Format of the return value {@link ArkUI_AttributeItem}:\n
4385      * .value[0].f32: horizontal scrolling offset, in vp. \n
4386      * .value[1].f32: vertical scrolling offset, in vp. \n
4387      *
4388      */
4389     NODE_SCROLL_OFFSET,
4390 
4391     /**
4392      * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs.
4393      *
4394      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4395      * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n
4396      * \n
4397      * Format of the return value {@link ArkUI_AttributeItem}:\n
4398      * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not
4399      * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}.
4400      *
4401      */
4402     NODE_SCROLL_EDGE,
4403 
4404     /**
4405      * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained
4406      * as required through APIs.
4407      *
4408      * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but
4409      * <b>enablePaging</b> does not. \n
4410      * \n
4411      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4412      * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n
4413      * \n
4414      * Format of the return value {@link ArkUI_AttributeItem}:\n
4415      * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n
4416      *
4417      */
4418     NODE_SCROLL_ENABLE_PAGING,
4419 
4420     /**
4421      * @brief Scroll to the next or previous page.
4422      *
4423      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4424      * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1
4425      * indicates scroll to previous page. \n
4426      * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n
4427      *
4428      */
4429     NODE_SCROLL_PAGE,
4430 
4431     /**
4432      * @brief Scroll a specified distance.
4433      *
4434      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4435      * .value[0].f32:Horizontal scrolling distance in vp; \n
4436      * .value[1].f32: Vertical scrolling distance in vp; \n
4437      *
4438      */
4439     NODE_SCROLL_BY,
4440 
4441     /**
4442      * @brief Performs inertial scrolling based on the initial velocity passed in.
4443      *
4444      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4445      * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is
4446      * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive,
4447      * the scroll will move downward; if the value is negative, the scroll will move upward. \n
4448      *
4449      */
4450     NODE_SCROLL_FLING,
4451 
4452     /**
4453     * @brief Sets the fading effect for the edges of scrollable components.
4454     *
4455     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:
4456     * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, and 1 means to enable it.
4457     * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32.
4458     *
4459     * Format of the return value {@link ArkUI_AttributeItem}:
4460     * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is disabled, and 1 means that it is enabled.
4461     * .value[1].f32: length of the fading effect on edges, in vp.
4462     *
4463     * @since 14
4464     */
4465     NODE_SCROLL_FADING_EDGE,
4466 
4467     /**
4468      * @brief Obtains the total size of all child components when fully expanded in the scrollable component.
4469      *
4470      * Format of the return value {@link ArkUI_AttributeItem}:\n
4471      * .value[0].f32: total width of all child components when fully expanded in the scrollable component.
4472      *                The default unit is vp. \n
4473      * .value[1].f32: total height of all child components when fully expanded in the scrollable component.
4474      *                The default unit is vp. \n
4475      *
4476      * @since 14
4477      */
4478     NODE_SCROLL_SIZE,
4479 
4480 	/**
4481      * @brief Sets the offset from the start of the scrollable components content.
4482      *
4483      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4484      * .value[0].f32: offset from the start of the content, in vp. \n
4485      * \n
4486      * Format of the return value {@link ArkUI_AttributeItem}:\n
4487      * .value[0].f32: offset from the start of the content, in vp. \n
4488      *
4489      * @since 15
4490      */
4491     NODE_SCROLL_CONTENT_START_OFFSET,
4492 
4493     /**
4494      * @brief Sets the offset from the end of the scrollable components content.
4495      *
4496      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4497      * .value[0].f32: offset from the end of the content, in vp. \n
4498      * \n
4499      * Format of the return value {@link ArkUI_AttributeItem}:\n
4500      * .value[0].f32: offset from the end of the content, in vp. \n
4501      *
4502      * @since 15
4503      */
4504     NODE_SCROLL_CONTENT_END_OFFSET,
4505     /**
4506      * @brief Defines whether the scrollable scrolls back to top when status bar is clicked.
4507      * This attribute can be set, reset, and obtained as required through APIs.
4508      *
4509      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4510      * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n
4511      * The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite.
4512      * The default value is <b>0</b>. \n
4513      * \n
4514      * Format of the return value {@link ArkUI_AttributeItem}: \n
4515      * .value[0]i.32: whether the scrollable scrolls back to top when status bar is clicked. \n
4516      *
4517      * @since 15
4518      */
4519     NODE_SCROLL_BACK_TO_TOP = 1002021,
4520 
4521     /**
4522      * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and
4523      * obtained as required through APIs.
4524      *
4525      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4526      * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}.
4527      * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n
4528      * \n
4529      * Format of the return value {@link ArkUI_AttributeItem}:\n
4530      * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n
4531      *
4532      */
4533     NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST,
4534     /**
4535      * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
4536      * component. This attribute can be set, reset, and obtained as required through APIs.
4537      *
4538      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4539      * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
4540      * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
4541      * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n
4542      * \n
4543      * Format of the return value {@link ArkUI_AttributeItem}:\n
4544      * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
4545      * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
4546      * {@link ArkUI_StickyStyle}.
4547      *
4548      */
4549     NODE_LIST_STICKY,
4550     /**
4551      * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required
4552      * through APIs.
4553      *
4554      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4555      * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n
4556      * \n
4557      * Format of the return value {@link ArkUI_AttributeItem}:\n
4558      * .value[0].f32: spacing between list items along the main axis. \n
4559      *
4560      */
4561     NODE_LIST_SPACE,
4562 
4563     /**
4564     * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs.
4565     *
4566     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4567     * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n
4568     * \n
4569     * Format of the return value {@link ArkUI_AttributeItem}:\n
4570     * .object: {@link ArkUI_NodeAdapter} object. \n
4571     */
4572     NODE_LIST_NODE_ADAPTER,
4573 
4574     /**
4575      * @brief Sets the number of cached items in the list adapter.
4576      * This attribute can be set, reset, and obtained as required through APIs.
4577      *
4578      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4579      * .value[0].i32: number of cached items in the list adapter. \n
4580      * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
4581      * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n
4582      * \n
4583      * Format of the return value {@link ArkUI_AttributeItem}:\n
4584      * .value[0].i32: number of cached items in the list adapter. \n
4585      * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
4586      * to show cached items. This parameter is supported since API version 15. \n
4587      *
4588      */
4589     NODE_LIST_CACHED_COUNT,
4590 
4591     /**
4592      * @brief Scroll to the specified index.
4593      *
4594      * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
4595      * lead to performance issues when loading a large number of items.\n
4596      * \n
4597      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4598      * .value[0].i32:The index value of the target element to be slid to in the current container.\n
4599      * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
4600      * 1 indicates an action and 0 indicates no action. Default value: 0.\n
4601      * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
4602      * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n
4603      * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>.
4604      * This parameter is supported since API version 15. \n
4605      *
4606      */
4607     NODE_LIST_SCROLL_TO_INDEX,
4608 
4609     /**
4610      * @brief 设置List交叉轴方向宽度大于ListItem交叉轴宽度 * lanes时,
4611      * ListItem在List交叉轴方向的布局方式,支持属性设置,属性重置和属性获取接口。
4612      *
4613      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
4614      * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n
4615      * \n
4616      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
4617      * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment}  \n
4618      */
4619     NODE_LIST_ALIGN_LIST_ITEM,
4620 
4621     /**
4622      * @brief Set the default spindle size for the List subcomponent.
4623      *
4624      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4625      * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n
4626      * \n
4627      * Format of the return value {@link ArkUI_AttributeItem}:\n
4628      * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n
4629      */
4630     NODE_LIST_CHILDREN_MAIN_SIZE = 1003007,
4631     /**
4632      * @brief 设置当前List初次加载时视口起始位置显示的item的索引值,支持属性设置,属性重置和属性获取接口。
4633      *
4634      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
4635      * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值。 \n
4636      * \n
4637      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
4638      * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值,默认值:0。 \n
4639      */
4640     NODE_LIST_INITIAL_INDEX = 1003008,
4641     /**
4642      * @brief sets the ListItem splitter style. By default, there is no splitter.
4643      * This attribute can be set, reset, and obtained as required through APIs.
4644      *
4645      * Attribute setting method parameter {@link ArkUI_AttributeItem} Format: \n
4646      *.value[0].u32: divider color, type 0xargb; \n
4647      *.value[1].f32: dividing line width; \n
4648      *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n
4649      *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n
4650      * \n
4651      * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n
4652      *.value[0].u32: divider color, type 0xargb; \n
4653      *.value[1].f32: dividing line width; \n
4654      *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n
4655      *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n
4656      *
4657      */
4658     NODE_LIST_DIVIDER = 1003009,
4659 
4660     /**
4661      * @brief Scrolls to the item with the specified index in the specified list item group.
4662      *
4663      * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation.
4664      * This may result in performance issues if a large number of items are involved. \n
4665      * \n
4666      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4667      * .value[0].i32: index of the target list item group in the current list. \n
4668      *.value[1].i32: index of the target list item in the list item group. \n
4669      * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index.
4670      * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite.
4671      * The default value is <b>0</b>. \n
4672      * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is
4673      * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n
4674      *
4675      * @since 15
4676      */
4677     NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010,
4678 
4679     /**
4680      * @brief Sets the number of lanes in the list.
4681      * This attribute can be set, reset, and obtained as required through APIs.
4682      *
4683      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4684      * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number
4685      * of lanes will not take effect. \n
4686      * .value[1]?.f32: minimum lane width, in vp. \n
4687      * .value[2]?.f32: maximum column width, in vp. \n
4688      * .value[3]?.f32: lane spacing, in vp. \n
4689      * \n
4690      * Format of the return value {@link ArkUI_AttributeItem}:\n
4691      * .value[0].u32: number of lanes in the list. \n
4692      * .value[1].f32: minimum lane width, in vp. \n
4693      * .value[2].f32: maximum column width, in vp. \n
4694      * .value[3].f32: lane spacing, in vp. \n \n
4695      *
4696      * @since 15
4697      */
4698     NODE_LIST_LANES = 1003011,
4699 
4700     /**
4701      * @brief Sets the list snap alignment mode.
4702      *
4703      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4704      * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.
4705      * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n
4706      * \n
4707      * Format of the return value {@link ArkUI_AttributeItem}:\n
4708      *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n
4709      *
4710      * @since 15
4711      */
4712     NODE_LIST_SCROLL_SNAP_ALIGN = 1003012,
4713 
4714     /**
4715      * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the
4716      * display area of the <b>List</b> component.
4717      *
4718      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4719      * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
4720      * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
4721      * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n
4722      * \n
4723      * Format of the return value {@link ArkUI_AttributeItem}:\n
4724      * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
4725      * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
4726      * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n
4727      *
4728      * @since 15
4729      */
4730     NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013,
4731 
4732     /**
4733      * @brief Defines whether to enable loop playback for the swiper. This attribute can be set, reset, and obtained
4734      * as required through APIs.
4735      *
4736      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4737      * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
4738      * means the opposite. The default value is <b>1/b>. \n
4739      * \n
4740      * Format of the return value {@link ArkUI_AttributeItem}:\n
4741      * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
4742      * means the opposite. The default value is <b>1</b>. \n
4743      *
4744      */
4745     NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER,
4746     /**
4747      * @brief Defines whether to enable automatic playback for child component switching in the swiper.
4748      * This attribute can be set, reset, and obtained as required through APIs.
4749      *
4750      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4751      * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b>
4752      * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n
4753      * \n
4754      * Format of the return value {@link ArkUI_AttributeItem}:\n
4755      * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means
4756      * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n
4757      *
4758      */
4759     NODE_SWIPER_AUTO_PLAY,
4760     /**
4761      * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set,
4762      * reset, and obtained as required through APIs.
4763      *
4764      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4765      * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
4766      * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n
4767      * \n
4768      * Format of the return value {@link ArkUI_AttributeItem}:\n
4769      * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
4770      * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n
4771      *
4772      */
4773     NODE_SWIPER_SHOW_INDICATOR,
4774     /**
4775      * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required
4776      * through APIs.
4777      *
4778      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4779      * .value[0].f32: interval for automatic playback, in milliseconds. \n
4780      * \n
4781      * Format of the return value {@link ArkUI_AttributeItem}:\n
4782      * .value[0].f32: interval for automatic playback, in milliseconds. \n
4783      *
4784      */
4785     NODE_SWIPER_INTERVAL,
4786     /**
4787      * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained
4788      * as required through APIs.
4789      *
4790      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4791      * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
4792      * <b>0</b> means the opposite. The default value is <b>0</b>. \n
4793      * \n
4794      * Format of the return value {@link ArkUI_AttributeItem}:\n
4795      * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
4796      * <b>0</b> means the opposite. The default value is <b>0</b>. \n
4797      *
4798      */
4799     NODE_SWIPER_VERTICAL,
4800 
4801     /**
4802      * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset,
4803      * and obtained as required through APIs.
4804      *
4805      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4806      * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
4807      * <b>400</b>. \n
4808      * \n
4809      * Format of the return value {@link ArkUI_AttributeItem}:\n
4810      * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
4811      * <b>400</b>. \n
4812      *
4813      */
4814     NODE_SWIPER_DURATION,
4815 
4816     /**
4817      * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required
4818      * through APIs.
4819      *
4820      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4821      * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}.
4822      * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n
4823      * \n
4824      * Format of the return value {@link ArkUI_AttributeItem}:\n
4825      * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}.
4826      * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n
4827      *
4828      */
4829     NODE_SWIPER_CURVE,
4830 
4831     /**
4832      * @brief Defines the spacing between child components in the swiper.
4833      * This attribute can be set, reset, and obtained as required through APIs.
4834      *
4835      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4836      * .value[0].f32: spacing between child components. \n
4837      * \n
4838      * Format of the return value {@link ArkUI_AttributeItem}:\n
4839      * .value[0].f32: spacing between child components. \n
4840      *
4841      */
4842     NODE_SWIPER_ITEM_SPACE,
4843 
4844     /**
4845      * @brief Defines the index of the child component currently displayed in the swiper.
4846      * This attribute can be set, reset, and obtained as required through APIs.
4847      *
4848      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4849      * .value[0].i32: index value of the child component. \n
4850      * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n
4851      * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n
4852      * This parameter is supported since API version 16. \n
4853      * \n
4854      * Format of the return value {@link ArkUI_AttributeItem}:\n
4855      * .value[0].i32: index value of the child component. \n
4856      * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n
4857      * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n
4858      * This parameter is supported since API version 16. \n
4859      *
4860      */
4861     NODE_SWIPER_INDEX,
4862 
4863     /**
4864      * @brief Defines the number of elements to display per page.
4865      * This attribute can be set, reset, and obtained as required through APIs.
4866      *
4867      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4868      * .value[0].i32: index value of the child component. \n
4869      * \n
4870      * Format of the return value {@link ArkUI_AttributeItem}:\n
4871      * .value[0].i32: index value of the child component. \n
4872      *
4873      */
4874     NODE_SWIPER_DISPLAY_COUNT,
4875 
4876     /**
4877      * @brief Defines whether to disable the swipe feature.
4878      * This attribute can be set, reset, and obtained as required through APIs.
4879      *
4880      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4881      * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable
4882      * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n
4883      * \n
4884      * Format of the return value {@link ArkUI_AttributeItem}:\n
4885      * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe
4886      * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n
4887      *
4888      */
4889     NODE_SWIPER_DISABLE_SWIPE,
4890 
4891     /**
4892      * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
4893      * This attribute can be set, reset, and obtained as required through APIs.
4894      *
4895      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4896      * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
4897      * The parameter type is {@link ArkUI_SwiperArrow}.\n
4898      * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n
4899      * \n
4900      * Format of the return value {@link ArkUI_AttributeItem}:\n
4901      * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
4902      * The parameter type is {@link ArkUI_SwiperArrow}.\n
4903      * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n
4904      *
4905      */
4906     NODE_SWIPER_SHOW_DISPLAY_ARROW,
4907 
4908     /**
4909      * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached.
4910      * This attribute can be set, reset, and obtained as required through APIs.
4911      *
4912      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4913      * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
4914      * The parameter type is {@link ArkUI_EdgeEffect}.\n
4915      * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n
4916      * \n
4917      * Format of the return value {@link ArkUI_AttributeItem}:\n
4918      * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
4919      * The parameter type is {@link ArkUI_EdgeEffect}. \n
4920      *
4921      */
4922     NODE_SWIPER_EDGE_EFFECT_MODE,
4923 
4924     /**
4925     * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs.
4926     *
4927     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4928     * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n
4929     * \n
4930     * Format of the return value {@link ArkUI_AttributeItem}:\n
4931     * .object: {@link ArkUI_NodeAdapter} object. \n
4932     */
4933     NODE_SWIPER_NODE_ADAPTER,
4934 
4935     /**
4936     * @brief Sets the number of cached items in the swiper adapter.
4937     * This attribute can be set, reset, and obtained as required through APIs.
4938     *
4939     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4940     * .value[0].i32: number of cached items in the swiper adapter. \n
4941     * \n
4942     * Format of the return value {@link ArkUI_AttributeItem}:\n
4943     * .value[0].f32: number of cached items in the swiper adapter. \n
4944     */
4945     NODE_SWIPER_CACHED_COUNT,
4946 
4947     /**
4948      * @brief Defines the front margin of the wiper.
4949      * The attribute can be set, reset, and obtained as required through APIs.
4950      *
4951      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4952      * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n
4953      * .value[1]?.i32: whether to ignore blanks, the default value is 0.
4954      * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n
4955      * Format of the return value {@link ArkUI_AttributeItem}:\n
4956      * .value[0].f32: the front margin, the unit is vp. \n
4957      * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
4958      * the opposite. \n
4959      */
4960     NODE_SWIPER_PREV_MARGIN,
4961 
4962     /**
4963      * @brief Defines the back margin of the wiper.
4964      * The attribute can be set, reset, and obtained as required through APIs.
4965      *
4966      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4967      * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n
4968      * .value[1]?.i32: whether to ignore blanks, the default value is 0.
4969      * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n
4970      * Format of the return value {@link ArkUI_AttributeItem}:\n
4971      * .value[0].f32: the back margin, the unit is vp. \n
4972      * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
4973      * the opposite. \n
4974      */
4975     NODE_SWIPER_NEXT_MARGIN,
4976 
4977     /**
4978      * @brief Sets the navigation point indicator of the dot style for the swiper.
4979      * This attribute can be set, reset, and obtained as required through APIs.
4980      *
4981      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4982      * .value[0].i32: navigation point indicator type. The parameter type is {@link ArkUI_SwiperIndicatorType}. \n
4983      * .object: navigation point indicator. The parameter type is {@link ArkUI_SwiperIndicator}. \n
4984      * Format of the return value {@link ArkUI_AttributeItem}:\n
4985      * .value[0].i32: navigation point indicator type. The parameter type is {@link ArkUI_SwiperIndicatorType}. \n
4986      * .object: navigation point indicator. The parameter type is {@link ArkUI_SwiperIndicator}. \n
4987      *
4988      */
4989     NODE_SWIPER_INDICATOR,
4990 
4991     /**
4992     * @brief Set the nested scrolling mode for the Swiper component and parent component.
4993     *
4994     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
4995     * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
4996     * {@link ArkUI_SwiperNestedScrollMode} \n
4997     * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n
4998     * \n
4999     * Format of the return value {@link ArkUI_AttributeItem}:\n
5000     * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
5001     * {@link ArkUI_SwiperNestedScrollMode} \n
5002     */
5003     NODE_SWIPER_NESTED_SCROLL,
5004 
5005     /**
5006     * @brief Set the switcher component to flip to the specified page.
5007     *
5008     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5009     * .value[0].i32:Specify the index value of the page in Swiper.\n
5010     * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active
5011     * effect, 0 indicates no active effect, default value is 0。\n
5012     */
5013     NODE_SWIPER_SWIPE_TO_INDEX,
5014 
5015     /**
5016     * @brief Set to disable component navigation point interactions.
5017     *
5018     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5019     * .value[0].i32: Set to disable component navigation point interaction, set to true to indicate the navigation point
5020     * is interactive, default value is true.\n
5021     * \n
5022     * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n
5023     * .value[0].i32: Set to disable component navigation point interactions. \n
5024     */
5025     NODE_SWIPER_INDICATOR_INTERACTIVE,
5026 
5027     /**
5028     * @brief Sets the page flipping mode using the mouse wheel.
5029     *
5030     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5031     * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n
5032     * \n
5033     * Format of the return value {@link ArkUI_PageFlipMode}:\n
5034     * .value[0].i32: page flipping mode using the mouse wheel. \n
5035     *
5036     * @since 15
5037     */
5038     NODE_SWIPER_PAGE_FLIP_MODE,
5039 
5040     /**
5041      * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and
5042      * property acquisition interfaces.
5043      *
5044      * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n
5045      * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n
5046      * \n
5047      * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n
5048      * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n
5049      *
5050      */
5051     NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM,
5052 
5053     /**
5054      * @brief Defines the header of the list item group.
5055      * This attribute can be set, reset, and obtained as required through APIs.
5056      *
5057      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5058      * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n
5059      * \n
5060      * Format of the return value {@link ArkUI_AttributeItem}:\n
5061      * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n
5062      *
5063      */
5064     NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP,
5065     /**
5066      * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as
5067      * required through APIs.
5068      *
5069      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5070      * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n
5071      * \n
5072      * Format of the return value {@link ArkUI_AttributeItem}:\n
5073      * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n
5074      *
5075      */
5076     NODE_LIST_ITEM_GROUP_SET_FOOTER,
5077     /**
5078      * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained
5079      * as required through APIs.
5080      *
5081      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5082      * .value[0].u32: color of the divider, in 0xARGB format.\n
5083      * .value[1].f32: stroke width of the divider, in vp.\n
5084      * .value[2].f32: distance between the divider and the start of the list, in vp.\n
5085      * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n
5086      * \n
5087      * Format of the return value {@link ArkUI_AttributeItem}:\n
5088      * .value[0].u32: color of the divider, in 0xARGB format.\n
5089      * .value[1].f32: stroke width of the divider, in vp.\n
5090      * .value[2].f32: distance between the divider and the start of the list, in vp.\n
5091      * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n
5092      *
5093      */
5094     NODE_LIST_ITEM_GROUP_SET_DIVIDER,
5095 
5096     /**
5097      * @brief Set the default spindle size for the ListItem Group subcomponent.
5098      *
5099      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5100      * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n
5101      * \n
5102      * Format of the return value {@link ArkUI_AttributeItem}:\n
5103      * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n
5104      */
5105     NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003,
5106 
5107     /**
5108     * @brief Defines the list item group adapter.
5109     * This attribute can be set, reset, and obtained as required through APIs.
5110     *
5111     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5112     * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n
5113     * \n
5114     * Format of the return value {@link ArkUI_AttributeItem}:\n
5115     * .object: {@link ArkUI_NodeAdapter} object. \n
5116     *
5117     * @since 15
5118     */
5119     NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004,
5120 
5121     /**
5122      * @brief Defines the horizontal alignment mode of child components in the column.
5123      * This attribute can be set, reset, and obtained as required through APIs.
5124      *
5125      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5126      * .value[0].i32: horizontal alignment mode of child components.
5127      * The parameter type is {@link ArkUI_HorizontalAlignment}.\n
5128      * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n
5129      * \n
5130      * Format of the return value {@link ArkUI_AttributeItem}:\n
5131      * .value[0].i32: horizontal alignment mode of child components.
5132      * The parameter type is {@link ArkUI_HorizontalAlignment}. \n
5133      *
5134      */
5135     NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN,
5136     /**
5137      * @brief Defines the vertical alignment mode of child components in the column.
5138      * This attribute can be set, reset, and obtained as required through APIs.
5139      *
5140      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5141      * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n
5142      * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n
5143      * \n
5144      * Format of the return value {@link ArkUI_AttributeItem}:\n
5145      * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n
5146      *
5147      */
5148     NODE_COLUMN_JUSTIFY_CONTENT,
5149 
5150     /**
5151      * @brief Defines the vertical alignment mode of child components in the row.
5152      * This attribute can be set, reset, and obtained as required through APIs.
5153      *
5154      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5155      * .value[0].i32: vertical alignment mode of child components.
5156      * The parameter type is {@link ArkUI_VerticalAlignment}.\n
5157      * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n
5158      * \n
5159      * Format of the return value {@link ArkUI_AttributeItem}:\n
5160      * .value[0].i32: vertical alignment mode of child components.
5161      * The parameter type is {@link ArkUI_VerticalAlignment}. \n
5162      *
5163      */
5164     NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW,
5165     /**
5166      * @brief Defines the horizontal alignment mode of child components in the row.
5167      * This attribute can be set, reset, and obtained as required through APIs.
5168      *
5169      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5170      * .value[0].i32: horizontal alignment mode of child components.
5171      * The parameter type is {@link ArkUI_FlexAlignment}.\n
5172      * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n
5173      * \n
5174      * Format of the return value {@link ArkUI_AttributeItem}:\n
5175      * .value[0].i32: horizontal alignment mode of child components.
5176      * The parameter type is {@link ArkUI_FlexAlignment}. \n
5177      *
5178      */
5179     NODE_ROW_JUSTIFY_CONTENT,
5180 
5181     /**
5182      * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs.
5183      *
5184      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5185      * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}.
5186      * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n
5187      * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}.
5188      * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n
5189      * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}.
5190      * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n
5191      * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}.
5192      * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n
5193      * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is
5194      * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n
5195      * \n
5196      * Format of the return value {@link ArkUI_AttributeItem}:\n
5197      * .value[0].i32: direction in which flex items are arranged. \n
5198      * .value[1].i32: how the flex items are wrapped. \n
5199      * .value[2].i32: alignment mode along the main axis. \n
5200      * .value[3].i32: alignment mode along the cross axis. \n
5201      * .value[4]?.i32: alignment mode along the cross axis for multi-line content.\n
5202      *
5203      */
5204     NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX,
5205 
5206     /**
5207      * @brief Sets whether the component is being refreshed.
5208      * This attribute can be set and obtained as required through APIs.
5209      *
5210      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5211      * .value[0].i32: The parameter type is 1 or 0.
5212      * \n
5213      * Format of the return value {@link ArkUI_AttributeItem}:\n
5214      * .value[0].i32: The parameter type is 1 or 0.
5215      *
5216      */
5217     NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH,
5218     /**
5219      * @brief Sets the custom content in the pull-down area.
5220      * This attribute can be set, reset, and obtained as required through APIs.
5221      *
5222      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5223      * .object: The parameter type is {@link ArkUI_NodeHandle}.
5224      *
5225      */
5226     NODE_REFRESH_CONTENT,
5227     /**
5228      * @brief Sets the pull-down ratio. This attribute can be set, reset, and obtained as required through APIs.
5229      *
5230      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5231      * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1.
5232      * \n
5233      * Format of the return value {@link ArkUI_AttributeItem}:\n
5234      * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1.
5235      *
5236      */
5237     NODE_REFRESH_PULL_DOWN_RATIO = 1009002,
5238     /**
5239      * @brief Sets the pull-down offset that initiates a refresh.
5240      * This attribute can be set, reset, and obtained as required through APIs.
5241      *
5242      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5243       *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
5244      * \n
5245      * Format of the return value {@link ArkUI_AttributeItem}:\n
5246       *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
5247      *
5248      */
5249     NODE_REFRESH_OFFSET = 1009003,
5250     /**
5251      * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>.
5252      * This attribute can be set, reset, and obtained as required through APIs.
5253      *
5254      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5255      * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and
5256      * <b>false</b> means the opposite.
5257      * \n
5258      * Format of the return value {@link ArkUI_AttributeItem}:\n
5259      * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and
5260      * <b>0</b> means the opposite.
5261      *
5262      */
5263     NODE_REFRESH_PULL_TO_REFRESH = 1009004,
5264 
5265     /**
5266      * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout.
5267      * This attribute can be set, reset, and obtained as required through APIs.
5268      *
5269      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5270      * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}.
5271      * \n
5272      * Format of the return value {@link ArkUI_AttributeItem}:\n
5273      * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}.
5274      *
5275      */
5276     NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW,
5277     /**
5278      * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used
5279      * by default. This attribute can be set, reset, and obtained as required through APIs.
5280      * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
5281      * component's full width, the second column 1/4, and the third column 2/4.
5282      * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
5283      * columns based on the specified column width <b>track-size</b>.
5284      * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
5285      * or a valid number.
5286      *
5287      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5288      * .string: number of columns in the layout.\n
5289      * \n
5290      * Format of the return value {@link ArkUI_AttributeItem}:\n
5291      * .string: number of columns in the layout.\n
5292      *
5293      */
5294     NODE_WATER_FLOW_COLUMN_TEMPLATE,
5295 
5296     /**
5297      * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used
5298      * by default. This attribute can be set, reset, and obtained as required through APIs.
5299      * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
5300      * component's full height, the second row 1/4, and the third row 2/4.
5301      * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
5302      * based on the specified row height <b>track-size</b>.
5303      * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
5304      * or a valid number.
5305      *
5306      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5307      * .string: number of rows in the layout. \n
5308      * \n
5309      * Format of the return value {@link ArkUI_AttributeItem}:\n
5310      * .string: number of rows in the layout. \n
5311      *
5312      */
5313     NODE_WATER_FLOW_ROW_TEMPLATE,
5314 
5315     /**
5316      * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
5317      *
5318      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5319      * .value[0].f32: gap between columns, in vp.\n
5320      * \n
5321      * Format of the return value {@link ArkUI_AttributeItem}:\n
5322      * .value[0].f32: gap between columns, in vp.\n
5323      *
5324      */
5325     NODE_WATER_FLOW_COLUMN_GAP,
5326 
5327     /**
5328      * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
5329      *
5330      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5331      * .value[0].f32: gap between lines, in vp.\n
5332      * \n
5333      * Format of the return value {@link ArkUI_AttributeItem}:\n
5334      * .value[0].f32: gap between lines, in vp.\n
5335      *
5336      */
5337     NODE_WATER_FLOW_ROW_GAP,
5338 
5339     /**
5340      * @brief Defines the water flow section configuration.
5341      * This attribute can be set, reset, and obtained as required through APIs.
5342      *
5343      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5344      * .value[0].i32: zero-based index of the water flow item section to update.
5345      * The value is converted to an integer. \n
5346      * .object: {@ArkUI_WaterFlowSectionOption} object.\n
5347      * \n
5348      * Format of the return value {@link ArkUI_AttributeItem}:\n
5349      * .object: {@ArkUI_WaterFlowSectionOption} object.\n
5350      *
5351      */
5352     NODE_WATER_FLOW_SECTION_OPTION,
5353 
5354     /**
5355     * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs.
5356     *
5357     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5358     * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n
5359      * \n
5360      * Format of the return value {@link ArkUI_AttributeItem}:\n
5361      * .object: {@link ArkUI_NodeAdapter} object. \n
5362     */
5363     NODE_WATER_FLOW_NODE_ADAPTER,
5364 
5365     /**
5366     * @brief Sets the number of cached items in the water flow adapter.
5367     * This attribute can be set, reset, and obtained as required through APIs.
5368     *
5369     * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5370     * .value[0].i32: number of cached items in the water flow adapter. \n
5371     */
5372     NODE_WATER_FLOW_CACHED_COUNT,
5373     /**
5374      * @brief 设置瀑布流组件末尾的自定义显示组件。
5375      *
5376      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
5377      * .object:参数类型{@Link ArkUI_NodeHandle}。
5378      *
5379      */
5380     NODE_WATER_FLOW_FOOTER,
5381     /**
5382      * @brief Scroll to the specified index.
5383      *
5384      * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
5385      * lead to performance issues when loading a large number of items.\n
5386      * \n
5387      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5388      * .value[0].i32:The index value of the target element to be slid to in the current container.\n
5389      * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
5390      * 1 indicates an action and 0 indicates no action. Default value is 0。\n
5391      * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
5392      * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。\n
5393      *
5394      */
5395     NODE_WATER_FLOW_SCROLL_TO_INDEX,
5396 
5397     /**
5398      * @brief Defines the size constraints to apply to water flow items.
5399      * This attribute can be set, reset, and obtained as required through APIs.
5400      *
5401      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5402      * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n
5403      * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n
5404      * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n
5405      * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n
5406      * \n
5407      * Format of the return value {@link ArkUI_AttributeItem}:\n
5408      * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n
5409      * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n
5410      * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n
5411      * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n
5412      *
5413      */
5414     NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE,
5415 
5416     /**
5417      * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used by
5418      * default. This attribute can be set, reset, and obtained as required through APIs.
5419      * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
5420      * component's full width, the second column 1/4, and the third column 2/4.
5421      * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
5422      * columns based on the specified column width <b>track-size</b>.
5423      * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or
5424      * a valid number.
5425      *
5426      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5427      * .string: number of columns in the layout.\n
5428      * \n
5429      * Format of the return value {@link ArkUI_AttributeItem}:\n
5430      * .string: number of columns in the layout.\n
5431      *
5432      */
5433     NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID,
5434 
5435     /**
5436      * @brief Sets the number of rows or the minimum row height in the grid layout. If this parameter is not set, one
5437      * row is used by default. This attribute can be set, reset, and obtained as required through APIs.
5438      * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
5439      * component's full height, the second row 1/4, and the third row 2/4.
5440      * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
5441      * based on the specified row height <b>track-size</b>.
5442      * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or
5443      * a valid number.
5444      *
5445      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5446      * .string: number of rows in the layout. \n
5447      * \n
5448      * Format of the return value {@link ArkUI_AttributeItem}:\n
5449      * .string: number of rows in the layout. \n
5450      *
5451      */
5452     NODE_GRID_ROW_TEMPLATE,
5453 
5454     /**
5455      * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
5456      *
5457      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5458      * .value[0].f32: gap between columns, in vp.\n
5459      * \n
5460      * Format of the return value {@link ArkUI_AttributeItem}:\n
5461      * .value[0].f32: gap between columns, in vp.\n
5462      *
5463      */
5464     NODE_GRID_COLUMN_GAP,
5465 
5466     /**
5467      * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
5468      *
5469      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5470      * .value[0].f32: gap between lines, in vp.\n
5471      * \n
5472      * Format of the return value {@link ArkUI_AttributeItem}:\n
5473      * .value[0].f32: gap between lines, in vp.\n
5474      *
5475      */
5476     NODE_GRID_ROW_GAP,
5477 
5478     /**
5479      * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs.
5480      *
5481      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5482      * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n
5483      * \n
5484      * Format of the return value {@link ArkUI_AttributeItem}:\n
5485      * .object: {@link ArkUI_NodeAdapter} object. \n
5486      */
5487     NODE_GRID_NODE_ADAPTER,
5488 
5489     /**
5490      * @brief Sets the number of cached items in the grid adapter.
5491      * This attribute can be set, reset, and obtained as required through APIs.
5492      *
5493      * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n
5494      * .value[0].i32: number of cached items in the water flow adapter. \n
5495      */
5496     NODE_GRID_CACHED_COUNT,
5497 
5498     /**
5499      * @brief 设置RelativeContaine容器内的辅助线,支持属性设置,属性重置和属性获取接口。
5500      *
5501      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5502      * .object: RelativeContaine容器内的辅助线: \n
5503      * \n
5504      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5505      * .object: RelativeContaine容器内的辅助线:  \n
5506      *
5507      */
5508     NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER,
5509 
5510     /**
5511      * @brief 设置RelativeContaine容器内的屏障,支持属性设置,属性重置和属性获取接口。
5512      *
5513      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5514      * .object: RelativeContaine容器内的辅助线: \n
5515      * \n
5516      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5517      * .object: RelativeContaine容器内的屏障:  \n
5518      *
5519      */
5520     NODE_RELATIVE_CONTAINER_BARRIER,
5521 
5522     /**
5523      * @brief 设置帧动画组件的图片帧信息集合。不支持动态更新。支持属性设置,属性重置和属性获取接口。
5524      *
5525      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5526      * .size:图片帧的数量; \n
5527      * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n
5528      * \n
5529      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5530      * .size:图片帧的数量; \n
5531      * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n
5532      *
5533     */
5534     NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM,
5535     /**
5536      * @brief 控制帧动画组件的播放状态。支持属性设置,属性重置和属性获取接口。
5537      *
5538      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5539      * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus},默认值为初始状态。 \n
5540      *
5541      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5542      * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus}。 \n
5543      *
5544     */
5545     NODE_IMAGE_ANIMATOR_STATE = 19001,
5546     /**
5547      * @brief 设置帧动画的播放时长,当数组中任意一帧图片单独设置了duration属性后,该属性设置无效。
5548      * 支持属性设置,属性重置和属性获取接口。
5549      *
5550      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5551      * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n
5552      *
5553      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5554      * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n
5555      *
5556     */
5557     NODE_IMAGE_ANIMATOR_DURATION = 19002,
5558     /**
5559      * @brief 设置帧动画的播放方向。支持属性设置,属性重置和属性获取接口。
5560      *
5561      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5562      * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张,默认值为0。 \n
5563      *
5564      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5565      * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张。 \n
5566      *
5567     */
5568     NODE_IMAGE_ANIMATOR_REVERSE = 19003,
5569     /**
5570      * @brief 设置图片大小是否固定为组件大小。支持属性设置,属性重置和属性获取接口。
5571      *
5572      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5573      * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置,默认值为1。\n
5574      *
5575      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5576      * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置。 \n
5577      *
5578     */
5579     NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004,
5580     /**
5581      * @brief 设置帧动画在当前播放方向下,动画开始前和结束后的状态。支持属性设置,属性重置和属性获取接口。
5582      *
5583      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5584      * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode},默认值为FORWARDS。 \n
5585      *
5586      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5587      * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode}。 \n
5588      *
5589     */
5590     NODE_IMAGE_ANIMATOR_FILL_MODE = 19005,
5591     /**
5592      * @brief 设置帧动画的播放次数。支持属性设置,属性重置和属性获取接口。
5593      *
5594      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
5595      * .value[0].i32:播放次数。 \n
5596      *
5597      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
5598      * .value[0].i32:播放次数。 \n
5599      *
5600     */
5601     NODE_IMAGE_ANIMATOR_ITERATION = 19006,
5602 } ArkUI_NodeAttributeType;
5603 
5604 #define MAX_COMPONENT_EVENT_ARG_NUM 12
5605 /**
5606  * @brief Defines the parameter type of the component callback event.
5607  *
5608  * @since 12
5609  */
5610 typedef struct {
5611     /** Data array object. */
5612     ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM];
5613 } ArkUI_NodeComponentEvent;
5614 
5615 /**
5616  * @brief Defines the string type parameter used by the component callback event.
5617  *
5618  * @since 12
5619  */
5620 typedef struct {
5621     /** String. */
5622     const char* pStr;
5623 } ArkUI_StringAsyncEvent;
5624 
5625 /**
5626  * @brief 定义组件事件的混合类型数据
5627  *
5628  * @since 15
5629  */
5630 typedef struct {
5631     /** 字符串 */
5632     const char* pStr;
5633     /** 字符串 */
5634     const char* pExtendStr;
5635     /** 数字 */
5636     int32_t number;
5637 } ArkUI_TextChangeEvent;
5638 
5639 /**
5640  * @brief Enumerates the event types supported by the NativeNode component.
5641  *
5642  * @since 12
5643  */
5644 typedef enum {
5645     /**
5646      * @brief Defines the gesture event type.
5647      *
5648      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5649      * {@link ArkUI_UIInputEvent}.
5650      */
5651     NODE_TOUCH_EVENT = 0,
5652 
5653     /**
5654      * @brief Defines the mount event.
5655      *
5656      * This event is triggered when the component is mounted and displayed. \n
5657      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5658      * {@link ArkUI_NodeComponentEvent}. \n
5659      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5660      */
5661     NODE_EVENT_ON_APPEAR,
5662     /**
5663      * @brief Defines the unmount event.
5664      *
5665      * This event is triggered when the component is unmounted and hidden. \n
5666      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5667      * {@link ArkUI_NodeComponentEvent}. \n
5668      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5669      */
5670     NODE_EVENT_ON_DISAPPEAR,
5671 
5672     /**
5673      * @brief Defines the area change event.
5674      *
5675      * This event is triggered when the component's size, position, or any other attribute that may
5676      * affect its display area changes. \n
5677      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5678      *  {@link ArkUI_NodeComponentEvent}. \n
5679      * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n
5680      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp.
5681      * The value is a number. \n
5682      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp.
5683      * The value is a number. \n
5684      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner
5685      * relative to the parent element's, in vp. The value is a number. \n
5686      * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner
5687      * relative to the parent element's, in vp. The value is a number. \n
5688      * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner
5689      * relative to the page's, in vp. The value is a number. \n
5690      * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner
5691      * relative to the page's, in vp. The value is a number. \n
5692      * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n
5693      * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n
5694      * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative
5695      * to the parent element's, in vp. The value is a number. \n
5696      * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative
5697      * to the parent element's, in vp. The value is a number. \n
5698      * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative
5699      * to the page's, in vp. The value is a number. \n
5700      * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative
5701      * to the page's, in vp. The value is a number. \n
5702      */
5703     NODE_EVENT_ON_AREA_CHANGE,
5704     /**
5705      * @brief Defines the focus event.
5706      *
5707      * This event is triggered when the component obtains the focus. \n
5708      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5709      * {@link ArkUI_NodeComponentEvent}. \n
5710      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5711      */
5712     NODE_ON_FOCUS,
5713     /**
5714      * @brief Defines the blur event.
5715      *
5716      * This event is triggered when the component loses the focus. \n
5717      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5718      * {@link ArkUI_NodeComponentEvent}. \n
5719      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5720      */
5721     NODE_ON_BLUR,
5722     /**
5723      * @brief Defines the click event.
5724      *
5725      * This event is triggered when the component is clicked. \n
5726      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5727      * {@link ArkUI_NodeComponentEvent}. \n
5728      * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n
5729      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the
5730      * clicked component's original area, in vp. \n
5731      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the
5732      * clicked component's original area, in vp. \n
5733      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event
5734      * is triggered and the time when the system starts, in microseconds. \n
5735      * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse,
5736      * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n
5737      * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the
5738      * application window, in vp. \n
5739      * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the
5740      * application window, in vp. \n
5741      * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the
5742      * application screen, in vp. \n
5743      * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the
5744      * application screen, in vp. \n
5745      */
5746     NODE_ON_CLICK,
5747     /**
5748      * @brief Defines event interception.
5749      *
5750      * This event is triggered when the component is touched. \n
5751      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5752      * {@link ArkUI_UIInputEvent}. \n
5753      */
5754     NODE_ON_TOUCH_INTERCEPT,
5755     /**
5756      * @brief Defines the visible area change event.
5757      *
5758      * This event is triggered when the ratio of the component's visible area to its total area is greater than or less
5759      * than the threshold.
5760      * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n
5761      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5762      * {@link ArkUI_NodeComponentEvent}. \n
5763      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
5764      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
5765      * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a
5766      * decrease. \n
5767      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this
5768      * callback is invoked. \n
5769      */
5770     NODE_EVENT_ON_VISIBLE_AREA_CHANGE,
5771     /**
5772      * @brief Defines the event triggered when the mouse pointer is moved over or away from the component.
5773      *
5774       \n
5775      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5776      * {@link ArkUI_NodeComponentEvent}. \n
5777      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
5778      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component.
5779      * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that
5780      * the mouse pointer is moved away from the component. \n
5781      */
5782     NODE_ON_HOVER,
5783     /**
5784      * @brief Defines the click event.
5785      *
5786      * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves
5787      * within the component. \n
5788      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5789      * {@link ArkUI_UIInputEvent}. \n
5790      */
5791     NODE_ON_MOUSE,
5792     /**
5793      * @brief Defines the mount event.
5794      *
5795      * This event is triggered when the component is mounted. \n
5796      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5797      * {@link ArkUI_NodeComponentEvent}. \n
5798      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5799      */
5800     NODE_EVENT_ON_ATTACH,
5801     /**
5802      * @brief Defines the unmount event.
5803      *
5804      * This event is triggered when the component is unmount. \n
5805      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5806      * {@link ArkUI_NodeComponentEvent}. \n
5807      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5808      */
5809     NODE_EVENT_ON_DETACH,
5810     /**
5811      * @brief 无障碍支持操作事件触发。
5812      *
5813      * 触发该事件的条件:已设置无障碍操作类型,并进行相应操作。\n
5814      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
5815      * {@link ArkUI_NodeComponentEvent}中包含1个参数: \n
5816      * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: 触发回调的操作类型,参数类型{@link ArkUI_AccessibilityActionType} \n
5817      *
5818      */
5819     NODE_ON_ACCESSIBILITY_ACTIONS,
5820 
5821     /**
5822      * @brief Notifies the listener of the interaction state prior to a drop and drop operation.
5823      *
5824      * This event is triggered when a drag operation is about to start on a draggable item. \n
5825      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5826      * {@link ArkUI_NodeComponentEvent}. \n
5827      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
5828      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n
5829      */
5830     NODE_ON_PRE_DRAG = 14,
5831     /**
5832      * @brief Called when the user starts to drag an ite
5833      *
5834      * A drag operation is recognized only when the dragged item is moved far enough. \n
5835      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5836      * {@link ArkUI_NodeEvent} object. \n
5837      */
5838     NODE_ON_DRAG_START = 15,
5839     /**
5840      * @brief Called when a dragged item enters the boundaries of the current component.
5841      *
5842      * The current component refers to the component that listens for this event. \n
5843      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5844      * {@link ArkUI_NodeEvent} object. \n
5845      */
5846     NODE_ON_DRAG_ENTER = 16,
5847     /**
5848      * @brief Called  when a dragged item moves in the current component.
5849      *
5850      * The current component refers to the component that listens for this event. \n
5851      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5852      * {@link ArkUI_NodeEvent} object. \n
5853      */
5854     NODE_ON_DRAG_MOVE = 17,
5855     /**
5856      * @brief Called when a dragged item leaves the boundaries of the current component.
5857      *
5858      * The current component refers to the component that listens for this event. \n
5859      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5860      * {@link ArkUI_NodeEvent} object. \n
5861      */
5862     NODE_ON_DRAG_LEAVE = 18,
5863     /**
5864      * @brief Called when a dragged item is dropped on the current component.
5865      * The component can obtain the drag data for processing through the callback.
5866      *
5867      * The current component refers to the component that listens for this event. \n
5868      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5869      * {@link ArkUI_NodeEvent} object. \n
5870      */
5871     NODE_ON_DROP = 19,
5872     /**
5873      * @brief Called when a drag operation ends.
5874      * The drag source can obtain the drag result by registering this callback.
5875      *
5876      * A drag operation ends when the dragged item is released.
5877      * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the
5878      * {@link ArkUI_NodeEvent} object. \n
5879      */
5880     NODE_ON_DRAG_END = 20,
5881     /**
5882      * @brief Defines the event triggered when a key event occurs.
5883      *
5884      * The callback can be triggered during interactions with a focused window using an external keyboard or other input
5885      * device. \n
5886      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5887      * {@link ArkUI_NodeComponentEvent}. \n
5888      *
5889      * @since 14
5890      */
5891     NODE_ON_KEY_EVENT = 21,
5892     /**
5893      * @brief Defines the event triggered before the input method responds to the key action.
5894      *
5895      * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
5896      * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
5897      * and no longer triggered.
5898      * The callback can be triggered during interactions with a focused window using an external keyboard or other input
5899      * device. \n
5900      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5901      * {@link ArkUI_NodeComponentEvent}. \n
5902      *
5903      * @since 14
5904      */
5905     NODE_ON_KEY_PRE_IME = 22,
5906     /**
5907      * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus.
5908      *
5909      * The event callback is triggered by interactions with a joystick and a focused component. \n
5910      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5911      * {@link ArkUI_UIInputEvent}. \n
5912      *
5913      * @since 15
5914      */
5915     NODE_ON_FOCUS_AXIS = 23,
5916 
5917 
5918     /**
5919      * @brief Dispatch key event on the component node.
5920      *
5921      * When the component node receives a key event, this callback will be triggered instead of dispatching event to its
5922      * children. \n
5923      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5924      * {@link ArkUI_NodeComponentEvent}. \n
5925      *
5926      * @since 16
5927      */
5928     NODE_DISPATCH_KEY_EVENT = 24,
5929 
5930     /**
5931      * @brief Defines the hover event.
5932      *
5933      * The event is triggered when the pointer is hovered by a pen device.
5934      * within the component. \n
5935      * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the
5936      * {@link ArkUI_UIInputEvent} object. \n
5937      * @since16
5938     */
5939     NODE_ON_HOVER_MOVE = 29,
5940 
5941     /**
5942      * @brief 文本设置TextDataDetectorConfig且识别成功时,触发onDetectResultUpdate回调。
5943      *
5944      * 触发该事件的条件:文本设置TextDataDetectorConfig且识别成功后。\n
5945      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_StringAsyncEvent}。\n
5946      * {@link ArkUI_StringAsyncEvent}中包含1个参数:\n
5947      * <b>ArkUI_StringAsyncEvent.pStr</b>:表示文本识别的结果,Json格式。\n
5948      *
5949      */
5950     NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT,
5951     /**
5952      * @brief Defines the image loading success event.
5953      *
5954      * This event is triggered when an image is successfully loaded or decoded. \n
5955      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5956      * {@link ArkUI_NodeComponentEvent}. \n
5957      * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n
5958      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is
5959      * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n
5960      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n
5961      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n
5962      * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n
5963      * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n
5964      * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the
5965      * x-axis, in px. \n
5966      * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the
5967      * y-axis, in px. \n
5968      * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n
5969      * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n
5970      */
5971     NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE,
5972     /**
5973      * @brief Defines the image loading failure event.
5974      *
5975      * This event is triggered when an error occurs during image loading. \n
5976      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5977      * {@link ArkUI_NodeComponentEvent}. \n
5978      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
5979      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n
5980      * 401: The image could not be obtained because the image path is invalid. \n
5981      * 103101: The image format is not supported. \n
5982      */
5983     NODE_IMAGE_ON_ERROR,
5984     /**
5985      * @brief Defines the SVG animation playback completion event.
5986      *
5987      * This event is triggered when the animation playback in the loaded SVG image is complete. \n
5988      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5989      * {@link ArkUI_NodeComponentEvent}. \n
5990      * {@link ArkUI_NodeComponentEvent} does not contain parameters.
5991      */
5992     NODE_IMAGE_ON_SVG_PLAY_FINISH,
5993     /**
5994      * @brief Defines image download process event.
5995      *
5996      * This event is triggered when downloading webpage images from page components.\n
5997      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
5998      * {@link ArkUI_NodeComponentEvent}. \n
5999      * {@link ArkUI_NodeComponentEvent} contains two parameter:\n
6000      * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n
6001      * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n
6002      */
6003     NODE_IMAGE_ON_DOWNLOAD_PROGRESS,
6004     /**
6005      * @brief Defines the event triggered when the toggle status changes.
6006      *
6007       \n
6008      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6009      * {@link ArkUI_NodeComponentEvent}. \n
6010      * {@link ArkUI_NodeComponentEvent} contains one parameter: \n
6011      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off.
6012      *
6013      */
6014     NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE,
6015     /**
6016      * @brief Defines the event triggered when the text input content changes.
6017      *
6018       \n
6019      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6020      * {@link ArkUI_StringAsyncEvent}. \n
6021      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6022      * <b>ArkUI_StringAsyncEvent.pStr</b>: text input.
6023      *
6024      */
6025     NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT,
6026     /**
6027      * @brief Defines the event triggered when the Enter key of the text input method is pressed.
6028      *
6029       \n
6030      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6031      * {@link ArkUI_NodeComponentEvent}. \n
6032      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6033      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method.
6034      *
6035      */
6036     NODE_TEXT_INPUT_ON_SUBMIT,
6037     /**
6038      * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box
6039      * is long pressed, is clicked.
6040      *
6041       \n
6042      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6043      * {@link ArkUI_StringAsyncEvent}. \n
6044      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6045      * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut.
6046      *
6047      */
6048     NODE_TEXT_INPUT_ON_CUT,
6049     /**
6050      * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box
6051      * is long pressed, is clicked.
6052      *
6053       \n
6054      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6055      * {@link ArkUI_StringAsyncEvent}. \n
6056      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6057      * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
6058      *
6059      */
6060     NODE_TEXT_INPUT_ON_PASTE,
6061     /**
6062      * @brief Defines the event triggered when the text selection position changes.
6063      *
6064       \n
6065      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6066      * {@link ArkUI_NodeComponentEvent}. \n
6067      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6068      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n
6069      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n
6070      *
6071      */
6072     NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE,
6073 
6074     /**
6075      * @brief 输入状态变化时,触发该回调。
6076      *
6077      * 触发该事件的条件:输入状态变化时。\n
6078      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6079      * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n
6080      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示true表示正在输入。\n
6081      *
6082      */
6083     NODE_TEXT_INPUT_ON_EDIT_CHANGE,
6084 
6085     /**
6086      * @brief textInput输入内容发生变化时触发该事件。
6087      *
6088      * 触发该事件的条件:输入内容发生变化时。\n
6089      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6090      * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n
6091      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>:表示文本的宽度。\n
6092      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>:表示文本的高度。\n
6093      *
6094      */
6095     NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE,
6096 
6097     /**
6098      * @brief Defines the event triggered when matching with the regular expression specified by
6099      * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails.
6100      *
6101       \n
6102      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6103      * {@link ArkUI_StringAsyncEvent}. \n
6104      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6105      * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n
6106      *
6107      */
6108     NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR,
6109     /**
6110      * @brief 文本内容滚动时,触发该回调。
6111      *
6112      * 触发该事件的条件:文本内容滚动时。\n
6113      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6114      * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n
6115      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示文本在内容区的横坐标偏移。\n
6116      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>:表示文本在内容区的纵坐标偏移。\n
6117      *
6118      */
6119     NODE_TEXT_INPUT_ON_CONTENT_SCROLL,
6120     /**
6121      * @brief 定义在将要输入时,触发回调的枚举值。
6122      *
6123      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6124      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n
6125      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
6126      * @return 在返回true时,表示正常插入,返回false时,表示不插入。
6127      * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n
6128      */
6129     NODE_TEXT_INPUT_ON_WILL_INSERT = 7009,
6130     /**
6131      * @brief 定义在输入完成时,触发回调的枚举值。
6132      *
6133      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6134      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n
6135      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
6136      */
6137     NODE_TEXT_INPUT_ON_DID_INSERT = 7010,
6138     /**
6139      * @brief 定义在将要删除时,触发回调的枚举值。
6140      *
6141      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6142      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n
6143      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n
6144      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
6145      * @return 在返回true时,表示正常插入,返回false时,表示不插入。\n
6146      * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n
6147      */
6148     NODE_TEXT_INPUT_ON_WILL_DELETE = 7011,
6149     /**
6150      * @brief 定义在删除完成时,触发回调的枚举值。
6151      *
6152      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6153      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n
6154      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n
6155      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
6156      */
6157     NODE_TEXT_INPUT_ON_DID_DELETE = 7012,
6158     /**
6159      * @brief 定义textInput组件在内容改变时(包含预上屏内容),触发回调的枚举值。
6160      *
6161      * 事件回调发生时,联合类型{@link ArkUI_NodeEvent}为{@link ArkUI_TextChangeEvent}。\n
6162      * {@link ArkUI_TextChangeEvent}包含参数:\n
6163      * <b>ArkUI_TextChangeEvent.pStr</b>: textInput的内容。
6164      * <b>ArkUI_TextChangeEvent.pExtendStr</b>: textInput的预上屏内容。
6165      * <b>ArkUI_TextChangeEvent.number</b>: textInput的预上屏起始位置。
6166      *
6167      * @since 15
6168      */
6169     NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013,
6170     /**
6171      * @brief Defines the event triggered when the input in the text box changes.
6172      *
6173       \n
6174      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6175      * {@link ArkUI_StringAsyncEvent}. \n
6176      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6177      * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered.
6178      *
6179      */
6180     NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA,
6181     /**
6182      * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is
6183      * long pressed, is clicked.
6184      *
6185       \n
6186      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6187      * {@link ArkUI_StringAsyncEvent}. \n
6188      * {@link ArkUI_StringAsyncEvent} contains one parameter:\n
6189      * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
6190      *
6191      */
6192     NODE_TEXT_AREA_ON_PASTE,
6193     /**
6194      * @brief Defines the event triggered when the text selection position changes.
6195      *
6196       \n
6197      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6198      * {@link ArkUI_NodeComponentEvent}. \n
6199      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6200      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n
6201      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n
6202      *
6203      */
6204     NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE,
6205     /**
6206      * @brief 设置NODE_TEXT_AREA_INPUT_FILTER,正则匹配失败时触发。
6207      *
6208      * 触发该事件的条件:正则匹配失败时。\n
6209      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_StringAsyncEvent}。\n
6210      * {@link ArkUI_StringAsyncEvent}中包含1个参数:\n
6211      * <b>ArkUI_StringAsyncEvent.pStr</b>:表示正则匹配失败时,被过滤的内容。\n
6212      *
6213      */
6214     NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR,
6215     /**
6216      * @brief 文本内容滚动时,触发该回调。
6217      *
6218      * 触发该事件的条件:文本内容滚动时。\n
6219      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6220      * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n
6221      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示文本在内容区的横坐标偏移。\n
6222      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>:表示文本在内容区的纵坐标偏移。\n
6223      *
6224      */
6225     NODE_TEXT_AREA_ON_CONTENT_SCROLL,
6226 
6227     /**
6228      * @brief 输入状态变化时,触发该回调。
6229      *
6230      * 触发该事件的条件:输入状态变化时。\n
6231      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6232      * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n
6233      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示true表示正在输入。\n
6234      *
6235      */
6236     NODE_TEXT_AREA_ON_EDIT_CHANGE,
6237 
6238     /**
6239      * @brief textArea按下输入法回车键触发该事件。
6240      *
6241      * 触发该事件的条件:按下输入法回车键。keyType为ARKUI_ENTER_KEY_TYPE_NEW_LINE时不触发\n
6242      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6243      * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n
6244      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:输入法回车键类型。
6245      *
6246      */
6247     NODE_TEXT_AREA_ON_SUBMIT,
6248 
6249     /**
6250      * @brief textArea输入内容发生变化时触发该事件。
6251      *
6252      * 触发该事件的条件:输入内容发生变化时。\n
6253      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6254      * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n
6255      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>:表示文本的宽度。\n
6256      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>:表示文本的高度。\n
6257      *
6258      */
6259     NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE,
6260 /**
6261      * @brief 定义在将要输入时,触发回调的枚举值。
6262      *
6263      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6264      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n
6265      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
6266      * @return 在返回true时,表示正常插入,返回false时,表示不插入。
6267      * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n
6268      */
6269     NODE_TEXT_AREA_ON_WILL_INSERT = 8008,
6270     /**
6271      * @brief 定义在输入完成时,触发回调的枚举值。
6272      *
6273      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6274      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n
6275      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
6276      */
6277     NODE_TEXT_AREA_ON_DID_INSERT = 8009,
6278     /**
6279      * @brief 定义在将要删除时,触发回调的枚举值。
6280      *
6281      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6282      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n
6283      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n
6284      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
6285      * @return 在返回true时,表示正常插入,返回false时,表示不插入。\n
6286      * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n
6287      */
6288     NODE_TEXT_AREA_ON_WILL_DELETE = 8010,
6289     /**
6290      * @brief 定义在删除完成时,触发回调的枚举值。
6291      *
6292      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n
6293      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n
6294      * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n
6295      * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
6296      */
6297     NODE_TEXT_AREA_ON_DID_DELETE = 8011,
6298     /**
6299      * @brief 定义textArea组件在内容改变时(包含预上屏内容),触发回调的枚举值。
6300      *
6301      * 事件回调发生时,联合类型{@link ArkUI_NodeEvent}为{@link ArkUI_TextChangeEvent}。\n
6302      * {@link ArkUI_TextChangeEvent}包含参数:\n
6303      * <b>ArkUI_TextChangeEvent.pStr</b>: textArea的内容。
6304      * <b>ArkUI_TextChangeEvent.pExtendStr</b>: textArea的预上屏内容。
6305      * <b>ArkUI_TextChangeEvent.number</b>: textArea的预上屏起始位置。
6306      *
6307      * @since 15
6308      */
6309     NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012,
6310     /**
6311      * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes.
6312      *
6313      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6314      * {@link ArkUI_NodeComponentEvent}. \n
6315      * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n
6316      */
6317     NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX,
6318 
6319     /**
6320      * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component.
6321      *
6322       \n
6323      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6324      * {@link ArkUI_NodeComponentEvent}. \n
6325      * {@link ArkUI_NodeComponentEvent} contains three parameters:\n
6326      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n
6327      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n
6328      * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n
6329      */
6330     NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER,
6331 
6332     /**
6333      * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component.
6334      *
6335       \n
6336      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6337      * {@link ArkUI_NodeComponentEvent}. \n
6338      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6339      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n
6340      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n
6341      */
6342     NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER,
6343 
6344     /**
6345      * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component.
6346      *
6347       \n
6348      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6349      * {@link ArkUI_NodeComponentEvent}. \n
6350      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6351      * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n
6352      */
6353     NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER,
6354 
6355     /**
6356      * @brief Defines the event triggered when an item is selected and scrolling has stopped in the
6357      * <b>ARKUI_NODE_TEXT_PICKER</b> component.
6358      *
6359      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6360      * {@link ArkUI_NodeComponentEvent}. \n
6361      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6362      * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n
6363      *
6364      * @since 14
6365      */
6366     NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001,
6367 
6368     /**
6369      * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>.
6370      *
6371      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6372      * {@link ArkUI_NodeComponentEvent}. \n
6373      * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n
6374      * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n
6375      * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n
6376      */
6377     NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER,
6378 
6379     /**
6380      * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked.
6381      *
6382      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6383      * {@link ArkUI_NodeComponentEvent}. \n
6384      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6385      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n
6386      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n
6387      */
6388     NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER,
6389 
6390     /**
6391      * @brief Defines the event triggered when the <b>ARKUI_NODE_RADIO</b> component is dragged or clicked.
6392      *
6393      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6394      * {@link ArkUI_NodeComponentEvent}. \n
6395      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6396      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: status of the radio button. \n
6397      */
6398     NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO,
6399 
6400     /**
6401      * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b>
6402      * or checkbox changes.
6403      *
6404      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6405      * {@link ArkUI_StringAsyncEvent}. \n
6406      * <b>ArkUI_StringAsyncEvent.pStr</b>
6407      * Name: The names of the selected checkboxes;
6408      * Status:
6409      * 0: All checkboxes are selected.
6410      * 1: Some checkboxes are selected.
6411      * 2: No checkboxes are selected. \n
6412      *
6413      * @since 15
6414      */
6415     NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP,
6416 
6417     /**
6418      * @brief Defines the event triggered when the index of the currently displayed element of this
6419      * <b>ARKUI_NODE_SWIPER</b> instance changes.
6420      *
6421      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6422      * {@link ArkUI_NodeComponentEvent}. \n
6423      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6424      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n
6425      */
6426     NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER,
6427 
6428     /**
6429      * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts.
6430      *
6431      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6432      * {@link ArkUI_NodeComponentEvent}. \n
6433      * {@link ArkUI_NodeComponentEvent} contains five parameters: \n
6434      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n
6435      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n
6436      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the
6437      * start position of the swiper along the main axis. \n
6438      * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position
6439      * of the swiper along the main axis. \n
6440      * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n
6441      */
6442     NODE_SWIPER_EVENT_ON_ANIMATION_START,
6443 
6444     /**
6445      * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends.
6446      *
6447      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6448      * {@link ArkUI_NodeComponentEvent}. \n
6449      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6450      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n
6451      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
6452      * start position of the swiper along the main axis. \n
6453      */
6454     NODE_SWIPER_EVENT_ON_ANIMATION_END,
6455 
6456     /**
6457      * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this
6458      * <b>ARKUI_NODE_SWIPER</b> instance.
6459      *
6460      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6461      * {@link ArkUI_NodeComponentEvent}. \n
6462      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6463      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n
6464      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
6465      * start position of the swiper along the main axis. \n
6466      */
6467     NODE_SWIPER_EVENT_ON_GESTURE_SWIPE,
6468 
6469     /**
6470      * @brief Defines the event triggered when content in the swiper component scrolls.
6471      * Instructions: \n
6472      * 1. This API does not work when {@link ArkUI_SwiperDisplayModeType} is set to
6473      * <b>ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR</b>. \n
6474      * 2. This API does not work when <b>prevMargin</b> and <b>nextMargin</b> are set in such a way that the
6475      * swiper frontend and backend display the same page during loop playback. \n
6476      * 3. During page scrolling, the </b>ContentDidScrollCallback</b> callback is invoked for all pages in the viewport
6477      * on a frame-by-frame basis. \n
6478      * For example, when there are two pages whose subscripts are 0 and 1 in the viewport, two callbacks whose indexes
6479      * are 0 and 1 are invoked in each frame. \n
6480      * 4. When the </b>swipeByGroup</b> parameter of the </b>displayCount</b> attribute is set to </b>true</b>,
6481      * the callback is invoked for all pages in a group if any page in the group is within the viewport. \n \n
6482      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6483      * {@link ArkUI_NodeComponentEvent}. \n
6484      * {@link ArkUI_NodeComponentEvent} contains four parameters: \n
6485      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the swiper component, which is the same as the index in the
6486      * <b>onChange</b> event. \n
6487      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of a page in the viewport. \n
6488      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: position of the page relative to the start position of the swiper
6489      * main axis (start position of the page corresponding to <b>selectedIndex</b>). \n
6490      * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: length of the page in the main axis direction. \n
6491      */
6492     NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL,
6493 
6494     /**
6495      * @brief Defines the event triggered when content in the swiper component will scroll.
6496      * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n
6497      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6498      * {@link ArkUI_NodeComponentEvent}. \n
6499      * {@link ArkUI_NodeComponentEvent} contains three parameters:\n
6500      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n
6501      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n
6502      * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame.
6503      * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating
6504      * slide forward(e.g. from index=0 to index=1). \n
6505      */
6506     NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007,
6507 
6508     /**
6509      * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls.
6510      *
6511      * Notes for triggering the event:\n
6512      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6513      * settings, such as keyboard and mouse operations. \n
6514      * 2. Scrolling can be initiated by calling the controller API. \n
6515      * 3. The out-of-bounds bounce effect is supported. \n
6516      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6517      * {@link ArkUI_NodeComponentEvent}. \n
6518      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6519      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n
6520      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n
6521      */
6522     NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL,
6523     /**
6524      * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
6525      *
6526      * Notes for triggering the event:\n
6527      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6528      * settings, such as keyboard and mouse operations. \n
6529      * 2. This event is not triggered when the controller API is called. \n
6530      * 3. This event does not support the out-of-bounds bounce effect. \n
6531      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6532      * {@link ArkUI_NodeComponentEvent}. \n
6533      * {@link ArkUI_NodeComponentEvent} contains two parameters:\n
6534      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n
6535      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n
6536      * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n
6537      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component
6538      * needs to scroll based on the real-world situation and return the result in this parameter. \n
6539      */
6540     NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN,
6541     /**
6542      * @brief Defines the event triggered when the container is about to scroll.
6543      *
6544      * Notes for triggering the event:\n
6545      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6546      * settings, such as keyboard and mouse operations. \n
6547      * 2. Scrolling can be initiated by calling the controller API. \n
6548      * 3. The out-of-bounds bounce effect is supported. \n
6549      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6550      * {@link ArkUI_NodeComponentEvent}. \n
6551      * {@link ArkUI_NodeComponentEvent} contains three parameters: \n
6552      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when
6553      * the content is scrolled left and negative when the content is scrolled right. \n
6554      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when
6555      * the content is scrolled up and negative when the content is scrolled down. \n
6556      * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state.
6557      * The parameter type is {@link ArkUI_ScrollState}. \n
6558      */
6559     NODE_SCROLL_EVENT_ON_WILL_SCROLL,
6560     /**
6561      * @brief Defines the event triggered when the container scrolls.
6562      *
6563      * Notes for triggering the event:\n
6564      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6565      * settings, such as keyboard and mouse operations. \n
6566      * 2. Scrolling can be initiated by calling the controller API. \n
6567      * 3. The out-of-bounds bounce effect is supported. \n
6568      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6569      * {@link ArkUI_NodeComponentEvent}. \n
6570      * {@link ArkUI_NodeComponentEvent} contains three parameters: \n
6571      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when the
6572      * content is scrolled left and negative when the content is scrolled right. \n
6573      * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when the
6574      * content is scrolled up and negative when the content is scrolled down. \n
6575      * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. The parameter type is
6576      * {@link ArkUI_ScrollState}. \n
6577      */
6578     NODE_SCROLL_EVENT_ON_DID_SCROLL,
6579     /**
6580      * @brief Defines the event triggered when the container starts scrolling.
6581      *
6582      * Notes for triggering the event:\n
6583      * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard
6584      * and mouse operations. \n
6585      * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n
6586      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6587      * {@link ArkUI_NodeComponentEvent}. \n
6588      * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n
6589      */
6590     NODE_SCROLL_EVENT_ON_SCROLL_START,
6591     /**
6592      * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops.
6593      *
6594      * Notes for triggering the event:\n
6595      * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input
6596      * settings, such as keyboard and mouse operations. \n
6597      * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n
6598      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6599      * {@link ArkUI_NodeComponentEvent}. \n
6600      * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n
6601      */
6602     NODE_SCROLL_EVENT_ON_SCROLL_STOP,
6603     /**
6604      * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches
6605      * one of the edges.
6606      *
6607      * Notes for triggering the event:\n
6608      * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b>
6609      * component or other input settings, such as keyboard and mouse operations. \n
6610      * 2. Scrolling can be initiated by calling the controller API. \n
6611      * 3. The out-of-bounds bounce effect is supported. \n
6612      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6613      * {@link ArkUI_NodeComponentEvent}. \n
6614      * {@link ArkUI_NodeComponentEvent} contains one parameter. \n
6615      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n
6616      */
6617     NODE_SCROLL_EVENT_ON_SCROLL_EDGE,
6618     /**
6619      * @brief Define that a callback is triggered
6620      * when the scrolling container component reaches the start position.
6621      * Condition for triggering the event: \n
6622      * Triggered when the component reaches the start position. \n
6623      * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is
6624      * {@Link ArkUI_NodeComponentEvent}. \n
6625      * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n
6626      */
6627     NODE_SCROLL_EVENT_ON_REACH_START,
6628     /**
6629      * @brief Define that a callback is triggered when the scrolling container component ends. \n
6630      * Condition for triggering the event: \n
6631      * Triggered when the component reaches the end. \n
6632      * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n
6633      * {@Link ArkUI_NodeComponentEvent}. \n
6634      * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n
6635      */
6636     NODE_SCROLL_EVENT_ON_REACH_END,
6637 
6638     /**
6639      * @brief Defines the event triggered when a child component enters or leaves the list display area.
6640      *
6641      * Notes for triggering the event:\n
6642      * This event is triggered once when the list is initialized and when the index of the first child component or the
6643      * next child component in the list display area changes. \n
6644      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6645      * {@link ArkUI_NodeComponentEvent}. \n
6646      * {@link ArkUI_NodeComponentEvent} contains three parameters: \n
6647      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n
6648      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the list display area. \n
6649      * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the center child component in the list display area. \n
6650      */
6651     NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST,
6652     /**
6653      * @brief Defines the event triggered when the list is about to scroll.
6654      *
6655      * Notes for triggering the event:\n
6656      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6657      * settings, such as keyboard and mouse operations. \n
6658      * 2. Scrolling can be initiated by calling the controller API. \n
6659      * 3. The out-of-bounds bounce effect is supported. \n
6660      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6661      * {@link ArkUI_NodeComponentEvent}. \n
6662      * {@link ArkUI_NodeComponentEvent} contains two parameters: \n
6663      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list
6664      * is scrolled up and negative when the list is scrolled down. \n
6665      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n
6666      */
6667     NODE_LIST_ON_WILL_SCROLL,
6668     /**
6669      * @brief Defines the event triggered when the list scrolls.
6670      *
6671      * Notes for triggering the event:\n
6672      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6673      * settings, such as keyboard and mouse operations. \n
6674      * 2. Scrolling can be initiated by calling the controller API. \n
6675      * 3. The out-of-bounds bounce effect is supported. \n
6676      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6677      * {@link ArkUI_NodeComponentEvent}. \n
6678      * {@link ArkUI_NodeComponentEvent} contains two parameters: \n
6679      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list
6680      * is scrolled up and negative when the list is scrolled down. \n
6681      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n
6682      */
6683     NODE_LIST_ON_DID_SCROLL,
6684 
6685      /**
6686      * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes.
6687      *
6688      * Notes for triggering the event:\n
6689      * This event is triggered once when the list is initialized and when the index of the first child component or the
6690      * next child component in the list display area changes.
6691      * During index calculation, the list item, header of the list item group, and footer of the list item group each
6692      * are counted as a child component. \n
6693      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6694      * {@link ArkUI_NodeComponentEvent}. \n
6695      * {@link ArkUI_NodeComponentEvent} contains three parameters: \n
6696      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n
6697      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts.
6698      * The type is {@link ArkUI_ListItemGroupArea}. \n
6699      * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area
6700      * in the list item group.
6701      * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n
6702      * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: index of the last child component in the list display area. \n
6703      * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: area in the list item group where the list display area ends.
6704      * The type is {@link ArkUI_ListItemGroupArea}. \n
6705      * <b>ArkUI_NodeComponentEvent.data[6].i32</b>: index of the list item at the end of the list display area in the
6706      * list item group.
6707      * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n
6708      *
6709      * @since 15
6710      */
6711     NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE,
6712 
6713     /**
6714      * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes.
6715      *
6716      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6717      * {@link ArkUI_NodeComponentEvent}. \n
6718      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6719      * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n
6720      */
6721     NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH,
6722     /**
6723      * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state.
6724      *
6725      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6726      * {@link ArkUI_NodeComponentEvent}. \n
6727      * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n
6728      */
6729     NODE_REFRESH_ON_REFRESH,
6730     /**
6731      * @brief Defines the event triggered when the pull-down distance of <b>ARKUI_NODE_REFRESH</b> changes.
6732      *
6733      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6734      * {@link ArkUI_NodeComponentEvent}. \n
6735      * {@link ArkUI_NodeComponentEvent} contains one parameter:\n
6736      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: pull-down distance. \n
6737      */
6738     NODE_REFRESH_ON_OFFSET_CHANGE = 1009002,
6739 
6740     /**
6741      * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll.
6742      *
6743      * Notes for triggering the event:\n
6744      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other
6745      * input settings, such as keyboard and mouse operations. \n
6746      * 2. Scrolling can be initiated by calling the controller API. \n
6747      * 3. The out-of-bounds bounce effect is supported. \n
6748      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6749      * {@link ArkUI_NodeComponentEvent}. \n
6750      * {@link ArkUI_NodeComponentEvent} contains two parameters: \n
6751      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the
6752      * component is scrolled up and negative when the component is scrolled down. \n
6753      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n
6754      */
6755     NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW,
6756     /**
6757      * @brief Defines the event triggered when the water flow container scrolls.
6758      *
6759      * Notes for triggering the event:\n
6760      * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
6761      * settings, such as keyboard and mouse operations. \n
6762      * 2. Scrolling can be initiated by calling the controller API. \n
6763      * 3. The out-of-bounds bounce effect is supported. \n
6764      * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
6765      * {@link ArkUI_NodeComponentEvent}. \n
6766      * {@link ArkUI_NodeComponentEvent} contains two parameters: \n
6767      * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the
6768      * content is scrolled up and negative when the content is scrolled down. \n
6769      * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n
6770      */
6771     NODE_WATER_FLOW_ON_DID_SCROLL,
6772     /**
6773      * @brief Defines the enumerated values of the event triggered,
6774      * when the subcomponent of the start position or end position displayed in the current waterfall changes.
6775      * Condition for triggering the event: \n
6776      * This event is triggered when the index value of the first or last subcomponent \n
6777      * in the waterfall display area changes. \n
6778      * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n
6779      * {@Link ArkUI_NodeComponentEvent}. \n
6780      * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n
6781      * ArkUI_NodeComponentEvent.data[0].i32: The index value of \n
6782      * the start position of the currently displayed WaterFlow. \n
6783      * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n
6784      * the end position of the currently displayed waterfall. \n
6785      */
6786     NODE_WATER_FLOW_ON_SCROLL_INDEX,
6787 
6788     /**
6789      * @brief 定义帧动画开始的状态回调。
6790      *
6791      * 触发该事件的条件:\n
6792      * 1、帧动画开始播放时。\n
6793      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6794      * {@link ArkUI_NodeComponentEvent}中不包含参数。\n
6795      *
6796     */
6797     NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR,
6798     /**
6799      * @brief 定义帧动画播放暂停时的状态回调。
6800      *
6801      * 触发该事件的条件:\n
6802      * 1、帧动画暂停播放时。\n
6803      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6804      * {@link ArkUI_NodeComponentEvent}中不包含参数。\n
6805      *
6806     */
6807     NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001,
6808     /**
6809      * @brief 定义帧动画c重复播放时的状态回调。
6810      *
6811      * 触发该事件的条件:\n
6812      * 1、帧动画重复播放时。\n
6813      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6814      * {@link ArkUI_NodeComponentEvent}中不包含参数。\n
6815      *
6816     */
6817     NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002,
6818     /**
6819      * @brief 定义帧动画返回最初状态时的状态回调。
6820      *
6821      * 触发该事件的条件:\n
6822      * 1、帧动画返回最初状态时。\n
6823      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6824      * {@link ArkUI_NodeComponentEvent}中不包含参数。\n
6825      *
6826     */
6827     NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003,
6828     /**
6829      * @brief 定义帧动画播放完成时或者停止播放时的状态回调。
6830      *
6831      * 触发该事件的条件:\n
6832      * 1、帧动画播放完成时或停止播放时。\n
6833      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
6834      * {@link ArkUI_NodeComponentEvent}中不包含参数。\n
6835      *
6836     */
6837     NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004,
6838 } ArkUI_NodeEventType;
6839 
6840 /**
6841  * @brief Defines the common structure type of a component event.
6842  *
6843  * @since 12
6844  */
6845 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent;
6846 
6847 /**
6848  * @brief Obtains the type of a component event.
6849  *
6850  * @param event Indicates the pointer to the component event.
6851  * @return Returns the type of the component event.
6852  * @since 12
6853  */
6854 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event);
6855 
6856 /**
6857  * @brief Obtains the custom ID of a component event.
6858  *
6859  * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied
6860  * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}.
6861  *
6862  * @param event Indicates the pointer to the component event.
6863  * @return Returns the custom ID of the component event.
6864  * @since 12
6865  */
6866 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event);
6867 
6868 /**
6869  * @brief Obtains the component object that triggers a component event.
6870  *
6871  * @param event Indicates the pointer to the component event.
6872  * @return Returns the component object that triggers the component event.
6873  * @since 12
6874  */
6875 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event);
6876 
6877 /**
6878  * @brief Obtains input event (for example, touch event) data for a component event.
6879  *
6880  * @param event Indicates the pointer to the component event.
6881  * @return Returns the pointer to the input event data.
6882  * @since 12
6883  */
6884 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event);
6885 
6886 /**
6887  * @brief Obtains the numerical data in a component event.
6888  *
6889  * @param event Indicates the pointer to the component event.
6890  * @return Returns the pointer to the numerical data.
6891  * @since 12
6892  */
6893 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event);
6894 
6895 /**
6896  * @brief Obtains the string data in a component event.
6897  *
6898  * @param event Indicates the pointer to the component event.
6899  * @return Returns the pointer to the string data.
6900  * @since 12
6901  */
6902 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event);
6903 
6904 /**
6905  * @brief 获取ArkUI_TextChangeEvent的数据。
6906  *
6907  * @param event ArkUI_NodeEvent的指针,不应为空。
6908  * @return 返回ArkUI_TextChangeEvent对象的指针。
6909  * @since 15
6910  */
6911 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event);
6912 
6913 /**
6914  * @brief Obtains the custom data in a component event.
6915  *
6916  * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event
6917  * is triggered.
6918  *
6919  * @param event Indicates the pointer to the component event.
6920  * @return Returns the pointer to the custom data.
6921  * @since 12
6922  */
6923 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event);
6924 
6925 /**
6926  * @brief 获取组件回调事件的数字类型参数。
6927  *
6928  * @param event 组件事件指针。
6929  * @param index 返回值索引。
6930  * @param value 具体返回值。
6931  * @return 错误码。
6932  *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
6933  *         {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中参数长度超限。
6934  *         {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。
6935  * @since 12
6936  */
6937 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value);
6938 
6939     /**
6940  * @brief 获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。
6941  *
6942  * @param event 组件事件指针。
6943  * @param index 返回值索引。
6944  * @param string 字符串数组的指针。
6945  * @param stringSize 字符串数组的长度。
6946  * @return 错误码。
6947  *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
6948  *         {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} 组件事件中参数长度超限。
6949  *         {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中不存在该数据。
6950  * @since 12
6951  */
6952 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize);
6953 
6954 /**
6955     * @brief 设置组件回调事件的返回值。
6956     *
6957     * @param event 组件事件指针。
6958     * @param value 事件数字类型数组。
6959     * @param size 数组长度。
6960     * @return 错误码。
6961     *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
6962     *         {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。
6963     * @since 12
6964     */
6965 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size);
6966 
6967 /**
6968     * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API.
6969     *
6970     * @since 12
6971     */
6972 typedef enum {
6973     /**
6974      * @brief Remeasure.
6975      *
6976      * When this type of flag is specified, re-layout is triggered by default.
6977      */
6978     NODE_NEED_MEASURE = 1,
6979 
6980     /** Re-layout. */
6981     NODE_NEED_LAYOUT,
6982     /** Re-rendering. */
6983     NODE_NEED_RENDER,
6984 } ArkUI_NodeDirtyFlag;
6985 
6986 /**
6987  * @brief Defines the custom component event type.
6988  *
6989  * @since 12
6990  */
6991 typedef enum {
6992     /** Measure type. */
6993     ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0,
6994     /** Layout type. */
6995     ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1,
6996     /** Draw type. */
6997     ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2,
6998     /** Foreground type. */
6999     ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3,
7000     /** Overlay type. */
7001     ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4,
7002 } ArkUI_NodeCustomEventType;
7003 
7004 /**
7005  * @brief Defines the general structure of a custom component event.
7006  *
7007  * @since 12
7008  */
7009 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent;
7010 
7011 /**
7012  * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components.
7013  *
7014  * @since 12
7015  */
7016 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle;
7017 
7018 /**
7019  * @brief Defines the component adapter event.
7020  *
7021  * @since 12
7022  */
7023 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent;
7024 
7025 /**
7026  * @brief Enumerates component adapter events.
7027  *
7028  * @since 12
7029  */
7030 typedef enum {
7031     /** This event occurs when the component is attached to the adapter. */
7032     NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1,
7033     /** This event occurs when the component is detached from the adapter. */
7034     NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2,
7035     /** This event occurs when the adapter obtains the unique ID of the new element to add. */
7036     NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3,
7037     /** This event occurs when the adapter obtains the content of the new element to add. */
7038     NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4,
7039     /** This event occurs when the adapter removes an element. */
7040     NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5,
7041 } ArkUI_NodeAdapterEventType;
7042 
7043 /**
7044 * @brief Creates a component adapter.
7045 *
7046 * @since 12
7047 */
7048 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(void);
7049 
7050 /**
7051 * @brief Destroys a component adapter.
7052 *
7053 * @param handle Indicates the target component adapter.
7054 * @since 12
7055 */
7056 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle);
7057 
7058 /**
7059 * @brief Sets the total number of elements in the specified adapter.
7060 *
7061 * @param handle Indicates the target component adapter.
7062 * @param size Indicates the number of elements.
7063 * @return Returns the error code.
7064 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7065 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7066 * @since 12
7067 */
7068 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size);
7069 
7070 /**
7071 * @brief Obtains the total number of elements in the specified adapter.
7072 *
7073 * @param handle Indicates the target component adapter.
7074 * @return Returns the total number of elements in the adapter.
7075 * @since 12
7076 */
7077 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle);
7078 
7079 /**
7080 * @brief Registers an event callback for the adapter.
7081 *
7082 * @param handle Indicates the target component adapter.
7083 * @param userData Indicates custom data.
7084 * @param receiver Indicates the event receiver callback.
7085 * @return Returns the error code.
7086 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7087 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7088 * @since 12
7089 */
7090 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver(
7091     ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event));
7092 
7093 /**
7094 * @brief Deregisters an event callback for the adapter.
7095 *
7096 * @param handle Indicates the target component adapter.
7097 * @since 12
7098 */
7099 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle);
7100 
7101 /**
7102 * @brief Instructs the specified adapter to reload all elements.
7103 *
7104 * @param handle Indicates the target component adapter.
7105 * @return Returns the error code.
7106 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7107 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7108 * @since 12
7109 */
7110 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle);
7111 
7112 /**
7113 * @brief Instructs the specified adapter to reload certain elements.
7114 *
7115 * @param handle Indicates the target component adapter.
7116 * @param startPosition Indicates the start position of the elements to reload.
7117 * @param itemCount Indicates the number of the elements to reload.
7118 * @return Returns the error code.
7119 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7120 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7121 * @since 12
7122 */
7123 int32_t OH_ArkUI_NodeAdapter_ReloadItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount);
7124 
7125 /**
7126 * @brief Instructs the specified adapter to remove certain elements.
7127 *
7128 * @param handle Indicates the target component adapter.
7129 * @param startPosition Indicates the start position of the elements to remove.
7130 * @param itemCount Indicates the number of the elements to remove.
7131 * @return Returns the error code.
7132 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7133 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7134 * @since 12
7135 */
7136 int32_t OH_ArkUI_NodeAdapter_RemoveItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount);
7137 
7138 /**
7139 * @brief Instructs the specified adapter to insert certain elements.
7140 *
7141 * @param handle Indicates the target component adapter.
7142 * @param startPosition Indicates the start position of the elements to insert.
7143 * @param itemCount Indicates the number of the elements to insert.
7144 * @return Returns the error code.
7145 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7146 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7147 * @since 12
7148 */
7149 int32_t OH_ArkUI_NodeAdapter_InsertItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount);
7150 
7151 /**
7152 * @brief Instructs the specified adapter to move certain elements.
7153 *
7154 * @param handle Indicates the target component adapter.
7155 * @param from Indicates the start position of the elements to move.
7156 * @param to Indicates the end position of the elements to move.
7157 * @return Returns the error code.
7158 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7159 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7160 * @since 12
7161 */
7162 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to);
7163 
7164 /**
7165 * @brief Obtains all elements stored in the specified adapter.
7166 *
7167 * This API returns the pointer to the array of the elements. You need to manually release the memory data
7168 * to which the pointer points.
7169 *
7170 * @param handle Indicates the target component adapter.
7171 * @param items Indicates the pointer to the array of the elements in the adapter.
7172 * @param size Indicates the number of elements.
7173 * @return Returns the error code.
7174 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7175 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7176 * @since 12
7177 */
7178 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size);
7179 
7180 /**
7181 * @brief Obtains the custom data passed in during registration of the specified event.
7182 *
7183 * @param event Indicates the target adapter event.
7184 * @since 12
7185 */
7186 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event);
7187 
7188 /**
7189 * @brief Obtains the event type.
7190 *
7191 * @param event Indicates the target adapter event.
7192 * @return Returns the event type.
7193 * @since 12
7194 */
7195 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event);
7196 
7197 /**
7198 * @brief Obtains the element to be removed for the event to be destroyed.
7199 *
7200 * @param event Indicates the target adapter event.
7201 * @return Returns the element to be removed.
7202 * @since 12
7203 */
7204 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event);
7205 
7206 /**
7207 * @brief Obtains the index of the element to be operated for the specified adapter event.
7208 *
7209 * @param event Indicates the target adapter event.
7210 * @return Returns the index of the element.
7211 * @since 12
7212 */
7213 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event);
7214 
7215 /**
7216 * @brief Obtains the scrollable container node that uses the specified adapter.
7217 *
7218 * @param event Indicates the target adapter event.
7219 * @return Returns the error code.
7220 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7221 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7222 * @since 12
7223 */
7224 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event);
7225 
7226 /**
7227 * @brief Sets the component to be added to the specified adapter.
7228 *
7229 * @param event Indicates the target adapter event.
7230 * @param node Indicates the component to be added.
7231 * @return Returns the error code.
7232 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7233 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7234 * @since 12
7235 */
7236 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node);
7237 
7238 /**
7239 * @brief Sets the component ID to be generated.
7240 *
7241 * @param event Indicates the target adapter event.
7242 * @param id Indicates the component ID to set.
7243 * @return Returns the error code.
7244 *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7245 *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7246 * @since 12
7247 */
7248 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id);
7249 
7250 /**
7251  * @brief Declares a collection of native node APIs provided by ArkUI.
7252  *
7253  * The APIs related to the native node must be called in the main thread.
7254  *
7255  * @version 1
7256  * @since 12
7257  */
7258 typedef struct {
7259     /** Struct version. */
7260     int32_t version;
7261 
7262     /**
7263      * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component.
7264      *
7265      * @param type Indicates the type of component to create.
7266      * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned.
7267      */
7268     ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type);
7269 
7270     /**
7271      * @brief Destroys the component to which the specified pointer points.
7272      *
7273      * @param node Indicates the pointer.
7274      */
7275     void (*disposeNode)(ArkUI_NodeHandle node);
7276 
7277     /**
7278      * @brief Adds a component to a parent node.
7279      *
7280      * @param parent Indicates the pointer to the parent node.
7281      * @param child Indicates the pointer to the child node.
7282      * @return Returns the error code.
7283      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7284      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7285      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7286      * on BuilderNode generated nodes:
7287      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7288      */
7289     int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child);
7290 
7291     /**
7292      * @brief Removes a component from its parent node.
7293      *
7294      * @param parent Indicates the pointer to the parent node.
7295      * @param child Indicates the pointer to the child node.
7296      * @return Returns the error code.
7297      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7298      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7299      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7300      * on BuilderNode generated nodes:
7301      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7302      */
7303     int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child);
7304 
7305     /**
7306      * @brief Inserts a component to a parent node after the specified <b>sibling</b> node.
7307      *
7308      * @param parent Indicates the pointer to the parent node.
7309      * @param child Indicates the pointer to the child node.
7310      * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted.
7311      * If the value is null, the node is inserted at the start of the parent node.
7312      * @return Returns the error code.
7313      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7314      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7315      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7316      * on BuilderNode generated nodes:
7317      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7318      */
7319     int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling);
7320 
7321     /**
7322      * @brief Inserts a component to a parent node before the specified <b>sibling</b> node.
7323      *
7324      * @param parent Indicates the pointer to the parent node.
7325      * @param child Indicates the pointer to the child node.
7326      * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted.
7327      * If the value is null, the node is inserted at the end of the parent node.
7328      * @return Returns the error code.
7329      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7330      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7331      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7332      * on BuilderNode generated nodes:
7333      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7334      */
7335     int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling);
7336 
7337     /**
7338      * @brief Inserts a component to the specified position in a parent node.
7339      *
7340      * @param parent Indicates the pointer to the parent node.
7341      * @param child Indicates the pointer to the child node.
7342      * @param position Indicates the position to which the target child node is to be inserted. If the value is a
7343      * negative number or invalid, the node is inserted at the end of the parent node.
7344      * @return Returns the error code.
7345      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7346      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7347      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7348      * on BuilderNode generated nodes:
7349      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7350      */
7351     int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position);
7352 
7353     /**
7354      * @brief Sets the attribute of a node.
7355      *
7356      * @param node Indicates the node whose attribute needs to be set.
7357      * @param attribute Indicates the type of attribute to set.
7358      * @param item Indicates the attribute value.
7359      * @return Returns the error code.
7360      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7361      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7362      *         Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library
7363      *         of the native API was not found.
7364      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7365      *         on BuilderNode generated nodes:
7366      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7367      */
7368     int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item);
7369 
7370     /**
7371      * @brief Obtains an attribute.
7372      *
7373      * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need
7374      * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next
7375      * time. Otherwise, the pointer may be overwritten by other values.
7376      *
7377      * @param node Indicates the node whose attribute needs to be obtained.
7378      * @param attribute Indicates the type of attribute to obtain.
7379      * @return Returns the attribute value. If the operation fails, a null pointer is returned.
7380      */
7381     const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute);
7382 
7383     /**
7384      * @brief Resets an attribute.
7385      *
7386      * @param node Indicates the node whose attribute needs to be reset.
7387      * @param attribute Indicates the type of attribute to reset.
7388      * @return Returns the error code.
7389      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7390      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7391      *         Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library
7392      *         of the native API was not found.
7393      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7394      *         on BuilderNode generated nodes:
7395      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7396      */
7397     int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute);
7398 
7399     /**
7400      * @brief Registers an event for the specified node.
7401      *
7402      * @param node Indicates the target node.
7403      * @param eventType Indicates the type of event to register.
7404      * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent}
7405      * when the event is triggered.
7406      * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent}
7407      * when the event is triggered.
7408      * @return Returns the error code.
7409      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7410      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7411      *         Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library
7412      *         of the native API was not found.
7413      *         Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed
7414      *         on BuilderNode generated nodes:
7415      *         setting or resetting attributes, setting events, or adding or editing subnodes.
7416      */
7417     int32_t (*registerNodeEvent)(
7418         ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, int32_t targetId, void* userData);
7419 
7420     /**
7421      * @brief Unregisters an event for the specified node.
7422      *
7423      * @param node Indicates the target node.
7424      * @param eventType Indicates the type of event to unregister.
7425      */
7426     void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType);
7427 
7428     /**
7429      * @brief Registers an event receiver.
7430      *
7431      * The ArkUI framework collects component events generated during the process and calls back the events through
7432      * the registered event receiver. \n
7433      * A new call to this API will overwrite the previously registered event receiver. \n
7434      * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the callback
7435      * is complete. \n
7436      * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n
7437      *
7438      * @param eventReceiver Indicates the event receiver to register.
7439      */
7440     void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event));
7441 
7442     /**
7443      * @brief Unregisters the event receiver.
7444      *
7445      */
7446     void (*unregisterNodeEventReceiver)();
7447 
7448     /**
7449      * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again.
7450      *
7451      * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs
7452      * measuring, layout, or rendering again. In this case, you do not need to call this API.
7453      *
7454      * @param node Indicates the node for which you want to mark as dirty area.
7455      * @param dirtyFlag Indicates type of dirty area.
7456      */
7457     void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag);
7458 
7459     /**
7460      * @brief Obtains the number of subnodes.
7461      *
7462      * @param node Indicates the target node.
7463      * @return Returns the error code.
7464      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7465      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7466      */
7467     uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node);
7468 
7469     /**
7470      * @brief Obtains a subnode.
7471      *
7472      * @param node Indicates the target node.
7473      * @param position Indicates the position of the subnode.
7474      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7475      */
7476     ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position);
7477 
7478     /**
7479      * @brief Obtains the first subnode.
7480      *
7481      * @param node Indicates the target node.
7482      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7483      */
7484     ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node);
7485 
7486     /**
7487      * @brief Obtains the last subnode.
7488      *
7489      * When the component is being displayed, this API must be called in the main thread.
7490      *
7491      * @param node Indicates the target node.
7492      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7493      */
7494     ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node);
7495 
7496     /**
7497      * @brief Obtains the previous sibling node.
7498      *
7499      * @param node Indicates the target node.
7500      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7501      */
7502     ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node);
7503 
7504     /**
7505      * @brief Obtains the next sibling node.
7506      *
7507      * @param node Indicates the target node.
7508      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7509      */
7510     ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node);
7511 
7512     /**
7513      * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry
7514      * point function registered by <b>registerNodeCustomEventReceiver</b>.
7515      *
7516      * @param node Indicates the target node.
7517      * @param eventType Indicates the type of event to register.
7518      * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent}
7519      * when the event is triggered.
7520      * @param userData Indicates the custom event parameter, which is passed in the callback of
7521      * {@link ArkUI_NodeCustomEvent} when the event is triggered.
7522      * @return Returns the error code.
7523      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7524      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7525      *         Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library
7526      *         of the native API was not found.
7527      */
7528     int32_t (*registerNodeCustomEvent)(
7529         ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData);
7530 
7531     /**
7532      * @brief Unregisters a custom event for a node.
7533      *
7534      * @param node Indicates the target node.
7535      * @param eventType Indicates the type of event to unregister.
7536      */
7537     void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType);
7538 
7539     /**
7540      * @brief Registers a unified entry point function for custom node event callbacks.
7541      *
7542      * The ArkUI framework collects custom component events generated during the process and calls back the events
7543      * through the registered <b>registerNodeCustomEventReceiver</b>. \n
7544      * A new call to this API will overwrite the previously registered event receiver.
7545      * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
7546      * The data will be destroyed after the callback is complete. \n
7547      * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n
7548      *
7549      * @param eventReceiver Indicates the event receiver to register.
7550      */
7551     void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event));
7552 
7553     /**
7554      * @brief Unregisters the unified entry point function for custom node event callbacks.
7555      *
7556      */
7557     void (*unregisterNodeCustomEventReceiver)();
7558 
7559     /**
7560      * @brief Sets the width and height for a component after the measurement.
7561      *
7562      * @param node Indicates the target node.
7563      * @param width Indicates the width.
7564      * @param height Indicates the height.
7565      * @return Returns the error code.
7566      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7567      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7568      */
7569     int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height);
7570 
7571     /**
7572      * @brief Sets the position for a component.
7573      *
7574      * @param node Indicates the target node.
7575      * @param positionX Indicates the X coordinate.
7576      * @param positionY Indicates the Y coordinate.
7577      * @return Returns the error code.
7578      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7579      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7580      */
7581     int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY);
7582 
7583     /**
7584      * @brief Obtains the width and height of a component after measurement.
7585      *
7586      * @param node Indicates the target node.
7587      * @return Returns the width and height of the component.
7588      */
7589     ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node);
7590 
7591     /**
7592      * @brief Obtains the position of a component after the layout is complete.
7593      *
7594      * @param node Indicates the target node.
7595      * @return Returns the position of the component.
7596      */
7597     ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node);
7598 
7599     /**
7600      * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement.
7601      *
7602      * @param node Indicates the target node.
7603      * @param Constraint Indicates the size constraint.
7604      * @return Returns the error code.
7605      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7606      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7607      */
7608     int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint);
7609 
7610     /**
7611      * @brief Lays outs a component and passes the expected position of the component relative to its parent component.
7612      *
7613      * @param node Indicates the target node.
7614      * @param positionX Indicates the X coordinate.
7615      * @param positionY Indicates the Y coordinate.
7616      * @return Returns the error code.
7617      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7618      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7619      */
7620     int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY);
7621 
7622     /**
7623      * @brief Adds a component event callback function to a component to receive component events generated
7624      * by the component.
7625      *
7626      * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event
7627      * receivers to be added to the same component. \n
7628      * The callback added by this API is triggered before the global callback registered by
7629      * <b>registerNodeEventReceiver</b>. \n
7630      * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer.
7631      * The data will be destroyed after the callback is complete. \n
7632      *
7633      * @param node Indicates the component for which you want to add the event callback function.
7634      * @param eventReceiver Indicates the component event callback function to add.
7635      * @return Returns the error code.
7636      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7637      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7638      */
7639     int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event));
7640 
7641     /**
7642      * @brief Removes the registered component event callback function from a component.
7643      *
7644      * @param node Indicates the component from which you want to remove the event callback function.
7645      * @param eventReceiver Indicates the component event callback function to remove.
7646      * @return Returns the error code.
7647      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7648      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7649      */
7650     int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event));
7651 
7652     /**
7653      * @brief Adds a custom event callback function to a component to receive custom events
7654      * (such as layout and drawing events) generated by the component.
7655      *
7656      * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows
7657      * multiple event receivers to be added to the same component. \n
7658      * The callback added by this API is triggered before the global callback registered by
7659      * <b>registerNodeCustomEventReceiver</b>. \n
7660      * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
7661      * The data will be destroyed after the callback is complete. \n
7662      *
7663      * @param node Indicates the component for which you want to add the custom event callback function.
7664      * @param eventReceiver Indicates the custom event callback function to add.
7665      * @return Returns the error code.
7666      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7667      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7668      */
7669     int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event));
7670 
7671     /**
7672      * @brief Removes a registered custom event callback function from a component.
7673      *
7674      * @param node Indicates the component from which you want to remove the custom event callback function.
7675      * @param eventReceiver Indicates the custom event callback function to remove.
7676      * @return Returns the error code.
7677      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7678      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7679      */
7680     int32_t (*removeNodeCustomEventReceiver)(
7681         ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event));
7682 
7683     /**
7684      * @brief Saves custom data on the specified component.
7685      *
7686      * @param node Indicates the component on which the custom data will be saved.
7687      * @param userData Indicates the custom data to be saved.
7688      * @return Returns the error code.
7689      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7690      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7691      */
7692     int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData);
7693 
7694     /**
7695      * @brief Obtains the custom data saved on the specified component.
7696      *
7697      * @param node Indicates the target component.
7698      * @return Returns the custom data.
7699      */
7700     void* (*getUserData)(ArkUI_NodeHandle node);
7701 
7702     /**
7703      * @brief Sets the unit for a component.
7704      *
7705      * @param node Indicates the component for which you want to set the unit.
7706      * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}.
7707      * @return Returns the error code.
7708      *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7709      *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7710      */
7711     int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit);
7712 
7713     /**
7714      * @brief Obtains the parent node.
7715      *
7716      * @param node Indicates the target node.
7717      * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
7718      */
7719     ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node);
7720 
7721     /**
7722      * @brief 从父组件上卸载所有子节点。
7723      *
7724      * @param parent 目标节点对象。
7725      * @return 0 - 成功。
7726      *         401 - 函数参数异常。
7727      */
7728     int32_t (*removeAllChildren)(ArkUI_NodeHandle parent);
7729 } ArkUI_NativeNodeAPI_1;
7730 
7731 /**
7732 * @brief Obtains the size constraint for measurement through a custom component event.
7733 *
7734 * @param event Indicates the pointer to the custom component event.
7735 * @return Returns the pointer to the size constraint.
7736 * @since 12
7737 */
7738 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event);
7739 
7740 /**
7741 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a
7742 * custom component event.
7743 *
7744 * @param event Indicates the pointer to the custom component event.
7745 * @return Returns the expected position relative to the parent component.
7746 * @since 12
7747 */
7748 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event);
7749 
7750 /**
7751 * @brief Obtains the drawing context through a custom component event.
7752 *
7753 * @param event Indicates the pointer to the custom component event.
7754 * @return Returns the drawing context.
7755 * @since 12
7756 */
7757 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event);
7758 
7759 /**
7760 * @brief Obtains the ID of a custom component event.
7761 *
7762 * @param event Indicates the pointer to the custom component event.
7763 * @return Returns the ID of the custom component event.
7764 * @since 12
7765 */
7766 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event);
7767 
7768 /**
7769 * @brief Obtains custom event parameters through a custom component event.
7770 *
7771 * @param event Indicates the pointer to the custom component event.
7772 * @return Returns the custom event parameters.
7773 * @since 12
7774 */
7775 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event);
7776 
7777 /**
7778 * @brief Obtains a component object through a custom component event.
7779 *
7780 * @param event Indicates the pointer to the custom component event.
7781 * @return Returns the component object.
7782 * @since 12
7783 */
7784 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event);
7785 
7786 /**
7787 * @brief Obtains the event type through a custom component event.
7788 *
7789 * @param event Indicates the pointer to the custom component event.
7790 * @return Returns the type of the custom component event.
7791 * @since 12
7792 */
7793 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event);
7794 
7795 /**
7796 * @brief 通过自定义组件事件获取自定义段落组件的测量信息。
7797 *
7798 * @param event 自定义组件事件。
7799 * @param info 需要获取的测量信息。
7800 * @return 错误码。
7801 *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
7802 *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。
7803 * @since 12
7804 */
7805 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(
7806     ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info);
7807 
7808 /**
7809 * @brief 通过自定义组件事件设置自定义段落的度量指标。
7810 *
7811 * @param event 自定义组件事件。
7812 * @param metrics 需要获取的度量指标信息。
7813 * @return 错误码。
7814 *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
7815 *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。
7816 * @since 12
7817 */
7818 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(
7819     ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics);
7820 
7821 /**
7822 * @brief 通过自定义组件事件获取自定义段落组件的绘制信息。
7823 *
7824 * @param event 自定义组件事件。
7825 * @param event 需要获取的绘制信息。
7826 * @return 错误码。
7827 *         {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。
7828 *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。
7829 * @since 12
7830 */
7831 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(
7832     ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info);
7833 
7834 /**
7835  * @brief Adds a component to a node content.
7836  *
7837  * @param content Indicates the pointer to the node content instance.
7838  * @param node Indicates the pointer to the node.
7839  * @return Returns 0 if success.
7840  *         Returns 401 if a parameter exception occurs.
7841  * @since 12
7842  */
7843 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node);
7844 
7845 /**
7846  * @brief Adds a component to a node content.
7847  *
7848  * @param content Indicates the pointer to the node content instance.
7849  * @param node Indicates the pointer to the node.
7850  * @return Returns 0 if success.
7851  *         Returns 401 if a parameter exception occurs.
7852  * @since 12
7853  */
7854 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position);
7855 
7856 /**
7857  * @brief Removes a component from a node content.
7858  *
7859  * @param content Indicates the pointer to the node content.
7860  * @param node Indicates the pointer to the node.
7861  * @return Returns 0 if success.
7862  *         Returns 401 if a parameter exception occurs.
7863  * @since 12
7864  */
7865 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node);
7866 
7867 /**
7868  * @brief Defines the node content event type.
7869  *
7870  * @since 12
7871  */
7872 typedef enum {
7873     /** Defines the mount event. */
7874     NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0,
7875     /** Defines the unmount event. */
7876     NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1,
7877 } ArkUI_NodeContentEventType;
7878 
7879 
7880 /**
7881  * @brief Enumerates the inspector error codes.
7882  * @since 15
7883  */
7884 typedef enum {
7885     /**
7886      * @error Success.
7887      */
7888     ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0,
7889     /**
7890      * @error Invalid parameter.
7891      */
7892     ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1,
7893 } ArkUI_InspectorErrorCode;
7894 
7895 /**
7896  * @brief Defines the general structure of a node content event.
7897  *
7898  * @since 12
7899  */
7900 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent;
7901 
7902 /**
7903   * @brief Defines the node content event callback function.
7904   *
7905   * @since 12
7906   */
7907 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event);
7908 
7909 /**
7910  * @brief Register a callback for this <b>ArkUI_NodeContentHandle</b> instance.
7911  *
7912  * @param content Indicates the <b>ArkUI_NodeContentHandle</b> instance.
7913  * @param callback Indicates the callback of <b>ArkUI_NodeContentHandle</b>
7914  * @return Returns the status code
7915  * @since 12
7916  */
7917 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback);
7918 
7919 /**
7920  * @brief Obtains the type of a node content.
7921  *
7922  * @param event Indicates the pointer to the node content.
7923  * @return Returns the type of the node content.
7924  * @since 12
7925  */
7926 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event);
7927 
7928 /**
7929  * @brief Obtains the node content object that triggers a node content event.
7930  *
7931  * @param event Indicates the pointer to the node content event.
7932  * @return Returns the node content object that triggers the node content event.
7933  * @since 12
7934  */
7935 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event);
7936 
7937 /**
7938  * @brief Saves custom data on the specified node content.
7939  *
7940  * @param content Indicates the node content on which the custom data will be saved.
7941  * @param userData Indicates the custom data to be saved.
7942  * @return Returns the error code.
7943  *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
7944  *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
7945  * @since 12
7946  */
7947 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData);
7948 
7949 /**
7950  * @brief Obtains the custom data saved on the specified node content.
7951  *
7952  * @param content Indicates the target node content.
7953  * @return Returns the custom data.
7954  * @since 12
7955  */
7956 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content);
7957 
7958 /**
7959  * @brief Get the size of the component layout area.
7960  * The layout area size does not include graphic variation attributes such as scaling.
7961  *
7962  * @param node ArkUI_NodeHandle pointer.
7963  * @param size The drawing area size of the component handle, in px.
7964  * @return Error code.
7965  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
7966  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
7967  * @since 12
7968  */
7969 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size);
7970 
7971 /**
7972  * @brief Obtain the position of the component layout area relative to the parent component.
7973  * The relative position of the layout area does not include graphic variation attributes, such as translation.
7974  *
7975  * @param node ArkUI_NodeHandle pointer.
7976  * @param localOffset The offset value of the component handle relative to the parent component, in px.
7977  * @return Error code.
7978  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
7979  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
7980  * @since 12
7981  */
7982 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset);
7983 
7984 /**
7985  * @brief Obtain the position of the component layout area relative to the window.
7986  * The relative position of the layout area does not include graphic variation attributes, such as translation.
7987  *
7988  * @param node ArkUI_NodeHandle pointer.
7989  * @param globalOffset The offset value of the component handle relative to the window, in px.
7990  * @return Error code.
7991  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
7992  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
7993  * @since 12
7994  */
7995 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset);
7996 
7997 /**
7998  * @brief Obtain the position of the component layout area relative to the screen.
7999  * The relative position of the layout area does not include graphic variation attributes, such as translation.
8000  *
8001  * @param node ArkUI_NodeHandle pointer.
8002  * @param screenOffset The offset value of the component handle relative to the screen, in px.
8003  * @return Error code.
8004  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8005  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8006  * @since 12
8007  */
8008 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset);
8009 
8010 /**
8011  * @brief Obtain the position of the component in the window, including the properties of graphic translation changes.
8012  *
8013  * @param node ArkUI_NodeHandle pointer.
8014  * @param translateOffset The cumulative offset value of the component handle itself,
8015  * parent components, and ancestor nodes, in px.
8016  * @return Error code.
8017  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8018  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8019  * @since 12
8020  */
8021 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset);
8022 
8023 /**
8024  * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes.
8025  *
8026  * @param node ArkUI_NodeHandle pointer.
8027  * @param translateOffset The cumulative offset value of the component handle itself,
8028  * parent components, and ancestor nodes, in px.
8029  * @return Error code.
8030  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8031  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8032  * @since 12
8033  */
8034 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset);
8035 
8036 /**
8037  * @brief Add the custom property of the component. This interface only works on the main thread.
8038  *
8039  * @param node ArkUI_NodeHandle pointer.
8040  * @param name The name of the custom property. Passing null pointers is not allowed.
8041  * @param value The value of the custom property. Passing null pointers is not allowed.
8042  * @since 13
8043  */
8044 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value);
8045 
8046 /**
8047  * @brief Remove the custom property of the component.
8048  *
8049  * @param node ArkUI_NodeHandle pointer.
8050  * @param name The name of the custom property.
8051  * @since 13
8052  */
8053 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name);
8054 
8055 /**
8056  * @brief Get the value of the custom property of the component.
8057  *
8058  * @param node ArkUI-NodeHandle pointer.
8059  * @param name The name of the custom attribute.
8060  * @param handle The structure of the custom attribute corresponding to the key parameter name obtained.
8061  * @return Error code.
8062  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8063  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8064  * @since 14
8065  */
8066 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle);
8067 
8068 /**
8069  * @brief Get the parent node to obtain the component nodes created by ArkTs.
8070  *
8071  * @param node Target node object.
8072  * @return Return the pointer of the component.
8073  * @since 14
8074  */
8075 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node);
8076 
8077 /**
8078  * @brief Retrieve all active child nodes of a node. Span and ImageSpan will not be counted in the children.
8079  *
8080  * @param head Pass in the node that needs to be obtained.
8081  * @param handle The structure corresponding to the sub node information of the head node.
8082  * @return Error code.
8083  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8084  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8085  * @since 14
8086  */
8087 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle);
8088 
8089 /**
8090  * @brief Retrieve the root node of the current page.
8091  *
8092  * @param node Target node object.
8093  * @return Return the pointer of the component.
8094  * @since 14
8095  */
8096 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node);
8097 
8098 /**
8099  * @brief Retrieve whether the component is labeled by C-API.
8100  *
8101  * @param node Target node object.
8102  * @return Return whether the node is a Tag created by C-API,
8103  *         true represents created by C-API, false represents not created by C-API.
8104  * @since 14
8105  */
8106 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node);
8107 
8108 /**
8109  * @brief Get the type of node.
8110  *
8111  * @param node Target node object.
8112  * @return Return the type of the node.
8113  *         For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1.
8114  * @since 14
8115  */
8116 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node);
8117 
8118 /**
8119  * @brief Get the node handle by id. This interface only works on the main thread.
8120  *
8121  * @param id The id of the target node handle.
8122  * @param node The handle of target node handle.
8123  * @return Error code.
8124  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8125  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8126  * @since 15
8127  */
8128 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node);
8129 
8130 /**
8131  * @brief Get info of the window to which the node belongs.
8132  *
8133  * @param node Target node object.
8134  * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory.
8135  * @return Error code.
8136  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8137  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8138  *         {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted.
8139  * @since 15
8140  */
8141 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info);
8142 
8143 /**
8144  * @brief The event called when the sliding operation offset changes.
8145  *
8146  * @param node Indicates the target node.
8147  * @param userData Indicates the custom data to be saved.
8148  * @param onFinish Callback Events.
8149  *        offset Slide offset.
8150  * @return Error code.
8151  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8152  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8153  *         {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event.
8154  * @since 12
8155  */
8156 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData));
8157 
8158 /**
8159 * @brief Obtain the UIContext pointer to the page where the node is located.
8160 *
8161 * @param node The node.
8162 * @return The UIContext pointer.
8163 *         If a null pointer is returned, it may be because the node is empty.
8164 * @since 12
8165 */
8166 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node);
8167 
8168 /**
8169  * @brief The event called when the system color mode changes.
8170  *        Only one system color change callback can be registered for the same component.
8171  *
8172  * @param node Indicates the target node.
8173  * @param userData Indicates the custom data to be saved.
8174  * @param onColorModeChange Callback Events.
8175  * @return Error code.
8176  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8177  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8178  *         {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event.
8179  * @since 12
8180  */
8181 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(
8182     ArkUI_NodeHandle node, void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData));
8183 
8184 /**
8185  * @brief Unregister the event callback when the system color mode changes.
8186  *
8187  * @param node Indicates the target node.
8188  * @since 12
8189  */
8190 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node);
8191 
8192 /**
8193  * @brief The event called when the system font style changes.
8194  *        Only one system font change callback can be registered for the same component.
8195  *
8196  * @param node Indicates the target node.
8197  * @param userData Indicates the custom data to be saved.
8198  * @param onFontStyleChange Callback Events.
8199  * @return Error code.
8200  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8201  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8202  *         {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event.
8203  * @since 12
8204  */
8205 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, void* userData,
8206     void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData));
8207 
8208 /**
8209  * @brief Unregister the event callback when the system font style changes.
8210  *
8211  * @param node Indicates the target node.
8212  * @since 12
8213  */
8214 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node);
8215 
8216 /**
8217  * @brief Retrieve the font size value for system font change events.
8218  *
8219  * @param event Indicates a pointer to the current system font change event.
8220  * @return Updated system font size scaling factor. Default value: 1.0.
8221  * @since 12
8222  */
8223 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event);
8224 
8225 /**
8226  * @brief Retrieve the font thickness values for system font change events.
8227  *
8228  * @param event Indicates a pointer to the current system font change event.
8229  * @return The updated system font thickness scaling factor. Default value: 1.0.
8230  * @since 12
8231  */
8232 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event);
8233 
8234 /**
8235  * @brief Registers a callback for node when layout is completed.
8236  *
8237  * @param node Indicates the target node.
8238  * @param userData Indicates the custom data used in onLayoutCompleted callback function.
8239  * @param onLayoutCompleted Indicates the function when layout completed is callback.
8240  * @return error code
8241            {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
8242  *         {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
8243  * @since 15
8244  */
8245 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node,
8246     void* userData, void (*onLayoutCompleted)(void* userData));
8247 
8248 
8249 /**
8250  * @brief Registers a callback for node when draw is completed.
8251  *
8252  * @param node Indicates the target node.
8253  * @param userData Indicates the custom data used in onDrawCompleted callback function.
8254  * @param onDrawCompleted Indicates the function when draw completed is callback.
8255  * @return error code
8256            {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
8257  *         {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
8258  * @since 15
8259  */
8260 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node,
8261     void* userData, void (*onDrawCompleted)(void* userData));
8262 
8263 /**
8264  * @brief Unregisters the layout completed callback for node.
8265  *
8266  * @param node Indicates the target node.
8267  * @return error code
8268            {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
8269  *         {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
8270  * @since 15
8271  */
8272 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node);
8273 
8274 /**
8275  * @brief Unregisters the draw completed callback for node.
8276  *
8277  * @param node Indicates the target node.
8278  * @return error code
8279            {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
8280  *         {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
8281  * @since 15
8282  */
8283 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node);
8284 
8285 /**
8286  * @brief Set the cross-language option of the target node handle.
8287  *
8288  * @param node The target node handle.
8289  * @param option The cross-language option {@link ArkUI_CrossLanguageOption}.
8290  * @return Error code.
8291  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8292  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8293  * @since 15
8294  */
8295 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option);
8296 
8297 /**
8298  * @brief Get the cross-language option of the target node handle.
8299  *
8300  * @param node The target node handle.
8301  * @param option The cross-language option {@link ArkUI_CrossLanguageOption}.
8302  * @return Error code.
8303  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8304  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8305  * @since 15
8306  */
8307 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option);
8308 
8309 /**
8310  * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the
8311  * tree or is not rendered yet.
8312  * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more.
8313  *
8314  * @param node Indicates the target node.
8315  * @param snapshotOptions the given configuration for taking snapshot, can be null for using default.
8316  * @param pixelmap Pixelmap pointer created by system, it's the out result.
8317  * @return Returns the result code.
8318  *         Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful.
8319  *         Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.
8320  *         Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned.
8321  *         Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout.
8322  * @since 15
8323  */
8324 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions,
8325     OH_PixelmapNative** pixelmap);
8326 
8327 /**
8328  * @brief Obtains the index of the current FrameNode's first child node which is on the tree.
8329  *
8330  * @param node Indicates the target node.
8331  * @param index The index of the subnode.
8332  * @return Error code.
8333  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8334  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8335  * @since 15
8336  */
8337 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index);
8338 
8339 /**
8340  * @brief Obtains the index of the current FrameNode's last child node which is on the tree.
8341  *
8342  * @param node Indicates the target node.
8343  * @param index the index of the subnode.
8344  * @return Error code.
8345  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8346  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8347  * @since 15
8348  */
8349 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index);
8350 
8351 /**
8352  * @brief Obtains a subnode by position with the expand mode.
8353  *
8354  * @param node Indicates the target node.
8355  * @param position Indicates the position of the subnode.
8356  * @param subnode The pointer to the subnode.
8357  * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}.
8358  * @return Error code.
8359  *         {@link ARKUI_ERROR_CODE_NO_ERROR} success.
8360  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8361  * @since 15
8362  */
8363 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position,
8364     ArkUI_NodeHandle* subnode, uint32_t expandMode);
8365 
8366 /**
8367  * @brief Obtain the position of the component layout area relative to the window.
8368  * The relative position of the layout area does not include graphic variation attributes, such as translation.
8369  *
8370  * @param node ArkUI_NodeHandle pointer.
8371  * @param globalOffset The offset value of the component handle relative to the window, in px.
8372  * @return Error code.
8373  *         {@link ARKUI_ERROR_CODE_NO_ERROR} Success.
8374  *         {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception.
8375  * @since 15
8376  */
8377 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset);
8378 #ifdef __cplusplus
8379 };
8380 #endif
8381 
8382 #endif // ARKUI_NATIVE_NODE_H
8383 /** @}*/
8384