• 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 提供ArkUI在Native侧的UI能力,如UI组件创建销毁、树节点操作,属性设置,事件监听等。
21  *
22  * @since 12
23  */
24 
25 /**
26  * @file native_node.h
27  *
28  * @brief 提供NativeNode接口的类型定义。
29  *
30  * @library libace_ndk.z.so
31  * @syscap SystemCapability.ArkUI.ArkUI.Full
32  * @since 12
33  */
34 
35 #ifndef ARKUI_NATIVE_NODE_H
36 #define ARKUI_NATIVE_NODE_H
37 
38 #include "native_event.h"
39 #include "native_type.h"
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 #define MAX_NODE_SCOPE_NUM 1000
46 
47 /**
48  * @brief 提供ArkUI在Native侧可创建组件类型。
49  *
50  * @since 12
51  */
52 typedef enum {
53     /** 自定义节点。 */
54     ARKUI_NODE_CUSTOM = 0,
55     /** 文本。 */
56     ARKUI_NODE_TEXT = 1,
57     /** 文本段落。 */
58     ARKUI_NODE_SPAN,
59     /** 文本图片段落。 */
60     ARKUI_NODE_IMAGE_SPAN,
61     /** 图片。 */
62     ARKUI_NODE_IMAGE,
63     /** 状态开关。 */
64     ARKUI_NODE_TOGGLE,
65     /** 等待图标。 */
66     ARKUI_NODE_LOADING_PROGRESS,
67     /** 单行文本输入。 */
68     ARKUI_NODE_TEXT_INPUT,
69     /** 堆叠容器。 */
70     ARKUI_NODE_STACK,
71     /** 滚动容器。 */
72     ARKUI_NODE_SCROLL,
73     /** 列表。 */
74     ARKUI_NODE_LIST,
75     /** 翻页容器。 */
76     ARKUI_NODE_SWIPER,
77     /** 多行文本。 */
78     ARKUI_NODE_TEXT_AREA,
79     /** 按钮。 */
80     ARKUI_NODE_BUTTON,
81     /** 进度条。 */
82     ARKUI_NODE_PROGRESS,
83     /** 复选框。 */
84     ARKUI_NODE_CHECKBOX,
85     /** 垂直布局容器。 */
86     ARKUI_NODE_COLUMN,
87     /** 水平布局容器。 */
88     ARKUI_NODE_ROW,
89     /** 弹性布局容器。 */
90     ARKUI_NODE_FLEX,
91     /** 列表项。 */
92     ARKUI_NODE_LIST_ITEM,
93     /** 刷新组件。 */
94     ARKUI_NODE_REFRESH,
95     /** XComponent。 */
96     ARKUI_NODE_XCOMPONENT,
97     /** 列表item分组。 */
98     ARKUI_NODE_LIST_ITEM_GROUP,
99     /** 日期选择器组件。 */
100     ARKUI_NODE_DATE_PICKER,
101     /** 时间选择组件。 */
102     ARKUI_NODE_TIME_PICKER,
103     /** 滑动选择文本内容的组件。 */
104     ARKUI_NODE_TEXT_PICKER,
105     /** 滑动条组件 */
106     ARKUI_NODE_SLIDER,
107 } ArkUI_NodeType;
108 
109 /**
110  * @brief 定义{@link setAttribute}函数通用入参结构。
111  *
112  * @since 12
113  */
114 typedef struct {
115     /** 数字类型数组。*/
116     const ArkUI_NumberValue* value;
117     /** 数字类型数组大小。*/
118     int32_t size;
119     /** 字符串类型。*/
120     const char* string;
121     /** 对象类型。*/
122     void* object;
123 } ArkUI_AttributeItem;
124 
125 /**
126  * @brief 定义ArkUI在Native侧可以设置的属性样式集合。
127  *
128  * @since 12
129  */
130 typedef enum {
131     /**
132      * @brief 宽度属性,支持属性设置,属性重置和属性获取接口。
133      *
134      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
135      * .value[0].f32:宽度数值,单位为vp;\n
136      * \n
137      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
138      * .value[0].f32:宽度数值,单位为vp;\n
139      *
140      * @code {.cpp}
141      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
142      * ArkUI_NumberValue value[] = { 1.2 };
143      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
144      * nativeNodeApi->setAttribute(nodeHandle, NODE_WIDTH, &item);
145      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_WIDTH);
146      * auto nodeWidth = item->value[0].f32;
147      * @endcode
148      *
149      */
150     NODE_WIDTH = 0,
151     /**
152      * @brief 高度属性,支持属性设置,属性重置和属性获取接口。
153      *
154      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
155      * .value[0].f32:高度数值,单位为vp;\n
156      * \n
157      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
158      * .value[0].f32:高度数值,单位为vp;\n
159      *
160      * @code {.cpp}
161      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
162      * ArkUI_NumberValue value[] = { 1.2 };
163      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
164      * nativeNodeApi->setAttribute(nodeHandle, NODE_HEIGHT, &item);clang-tid
165      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_HEIGHT);
166      * auto nodeHeight = item->value[0].f32;
167      * @endcode
168      *
169      */
170     NODE_HEIGHT,
171     /**
172      * @brief 背景色属性,支持属性设置,属性重置和属性获取接口。
173      *
174      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
175      * .value[0].u32:背景色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
176      * \n
177      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
178      * .value[0].u32:背景色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
179      *
180      * @code {.cpp}
181      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
182      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
183      * ArkUI_AttributeItem item = { value, 1 };
184      * nativeNodeApi->setAttribute(nodeHandle, NODE_BACKGROUND_COLOR, &item);
185      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_BACKGROUND_COLOR);
186      * auto nodeBackgroundColor = item->value[0].u32;
187      * @endcode
188      *
189      */
190     NODE_BACKGROUND_COLOR,
191     /**
192      * @brief 背景色图片属性,支持属性设置,属性重置和属性获取接口。
193      *
194      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
195      * .string: 图片地址;\n
196      * .value[0]?.i32:可选值,repeat参数,参数类型{@link ArkUI_ImageRepeat},默认值为ARKUI_IMAGEREPEAT_NO_REPEAT;\n
197      * \n
198      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
199      * .string: 图片地址;\n
200      * .value[0].i32:repeat参数,参数类型{@link ArkUI_ImageRepeat};\n
201      *
202      * @code {.cpp}
203      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
204      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_IMAGEREPEAT_NO_REPEAT} };
205      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue), "/pages/icon.png" };
206      * nativeNodeApi->setAttribute(nodeHandle, NODE_BACKGROUND_IMAGE, &item);
207      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_BACKGROUND_IMAGE);
208      * auto nodeBackgroundImageUrl = item->string;
209      * auto nodeBackgroundImageRepeat = item->value[0].i32;
210      * @endcode
211      *
212      */
213     NODE_BACKGROUND_IMAGE,
214     /**
215      * @brief 内间距属性,支持属性设置,属性重置和属性获取接口。
216      *
217      * 属性设置方法参数{@link ArkUI_AttributeItem}格式有两种:\n
218      * 1:上下左右四个位置的内间距值相等。\n
219      * .value[0].f32:内间距数值,单位为vp;\n
220      * 2:分别指定上下左右四个位置的内间距值。\n
221      * .value[0].f32:上内间距数值,单位为vp;\n
222      * .value[1].f32:右内间距数值,单位为vp;\n
223      * .value[2].f32:下内间距数值,单位为vp;\n
224      * .value[3].f32:左内间距数值,单位为vp;\n
225      * \n
226      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
227      * .value[0].f32:上内间距数值,单位为vp;\n
228      * .value[1].f32:右内间距数值,单位为vp;\n
229      * .value[2].f32:下内间距数值,单位为vp;\n
230      * .value[3].f32:左内间距数值,单位为vp;\n
231      *
232      * @code {.cpp}
233      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
234      * ArkUI_NumberValue value1[] = { 1, 2, 3, 4};
235      * ArkUI_AttributeItem item1 = { value1, sizeof(value1)/sizeof(ArkUI_NumberValue) };
236      * ArkUI_NumberValue value2[] = { 10 };
237      * ArkUI_AttributeItem item2 = { value2, sizeof(value2)/sizeof(ArkUI_NumberValue) };
238      * nativeNodeApi->setAttribute(nodeHandle, NODE_PADDING, &item1);
239      * nativeNodeApi->setAttribute(nodeHandle, NODE_PADDING, &item2);
240      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_PADDING);
241      * auto nodePaddingTop = item->value[0].f32;
242      * @endcode
243      *
244      */
245     NODE_PADDING,
246     /**
247      * @brief 组件ID属性,支持属性设置,属性重置和属性获取接口。
248      *
249      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
250      * .string: ID的内容;\n
251      * \n
252      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
253      * .string: ID的内容;\n
254      *
255      * @code {.cpp}
256      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
257      * ArkUI_AttributeItem item = { .string = "test" };
258      * nativeNodeApi->setAttribute(nodeHandle, NODE_ID, &item);
259      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_ID);
260      * auto nodeId = item->string;
261      * @endcode
262      *
263      */
264     NODE_ID,
265     /**
266      * @brief 通过{@link setAttribute}方法设置组件是否可交互,设置为false可不响应点击等操作。
267      *
268      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
269      * .value[0].i32:false表示不可交互,true表示可交互;\n
270      * \n
271      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
272      * .value[0].i32:0表示不可交互,1表示可交互;\n
273      *
274      * @code {.cpp}
275      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
276      * ArkUI_NumberValue value[] = { {.i32 = false} };
277      * ArkUI_AttributeItem item = { value, 1 };
278      * nativeNodeApi->setAttribute(nodeHandle, NODE_ENABLED, &item);
279      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_ENABLED);
280      * auto nodeEnabled = item->value[0].i32;
281      * @endcode
282      */
283     NODE_ENABLED,
284     /**
285      * @brief 通过{@link setAttribute}方法设置组件外间距。
286      *
287      * {@link ArkUI_AttributeItem}支持两种入参格式:\n
288      * 1:上下左右四个位置的外间距值相等。\n
289      * .value[0].f32:外间距数值,单位为vp;\n
290      * 2:分别指定上下左右四个位置的外间距值。\n
291      * .value[0].f32:上外间距数值,单位为vp;\n
292      * .value[1].f32:右外间距数值,单位为vp;\n
293      * .value[2].f32:下外间距数值,单位为vp;\n
294      * .value[3].f32:左外间距数值,单位为vp。
295      *
296      * @code {.c}
297      * ArkUI_NumberValue value1[] = { 1, 2, 3, 4};
298      * ArkUI_AttributeItem item1 = { value1, sizeof(value1)/sizeof(ArkUI_NumberValue) };
299      * ArkUI_NumberValue value2[] = { 10 };
300      * ArkUI_AttributeItem item2 = { value2, sizeof(value2)/sizeof(ArkUI_NumberValue) };
301      * basicNodeApi->setAttribute(nodeHandle, NODE_MARGIN, &item1);
302      * basicNodeApi->setAttribute(nodeHandle, NODE_MARGIN, &item2);
303      * @endcode
304      *
305      */
306     NODE_MARGIN,
307     /**
308      * @brief 通过{@link setAttribute}方法设置组件平移。
309      *
310      * {@link ArkUI_AttributeItem}参数类型:\n
311      * .value[0].f32: x轴移动距离,单位vp,默认值0;\n
312      * .value[1].f32: y轴移动距离,单位vp,默认值0;\n
313      * .value[2].f32: z轴移动距离,单位vp,默认值0。
314      *
315      * @code {.c}
316      * ArkUI_NumberValue value[] = { 100, 20, 0 };
317      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
318      * basicNodeApi->setAttribute(nodeHandle, NODE_TRANSLATE, &item);
319      * @endcode
320      *
321      */
322     NODE_TRANSLATE,
323     /**
324      * @brief 通过{@link setAttribute}方法设置组件缩放。
325      *
326      * {@link ArkUI_AttributeItem}参数类型:\n
327      * .value[0].f32: x轴的缩放系数,默认值1;\n
328      * .value[1].f32: y轴的缩放系数,默认值1。
329      *
330      * @code {.c}
331      * ArkUI_NumberValue value[] = { 1.0, 0.5 };
332      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
333      * basicNodeApi->setAttribute(nodeHandle, NODE_SCALE, &item);
334      * @endcode
335      *
336      */
337     NODE_SCALE,
338     /**
339      * @brief 通过{@link setAttribute}方法设置组件旋转。
340      *
341      * {@link ArkUI_AttributeItem}参数类型:\n
342      * .value[0].f32: 旋转轴向量x坐标,默认值0;\n
343      * .value[1].f32: 旋转轴向量y坐标,默认值0;\n
344      * .value[2].f32: 旋转轴向量z坐标,默认值0;\n
345      * .value[3].f32: 旋转角度,默认值0;\n
346      * .value[4].f32: 视距,即视点到z=0平面的距离,单位vp,默认值0。
347      *
348      * @code {.c}
349      * ArkUI_NumberValue value[] = { 0, 0, 1, 300, 0 };
350      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
351      * basicNodeApi->setAttribute(nodeHandle, NODE_ROTATE, &item);
352      * @endcode
353      *
354      */
355     NODE_ROTATE,
356     /**
357      * @brief 通过{@link setAttribute}方法设置组件高光效果。
358      *
359      * {@link ArkUI_AttributeItem}参数类型:\n
360      * .value[0].f32: 亮度值,默认值1.0,推荐取值范围[0,2]。
361      *
362      * @code {.c}
363      * ArkUI_NumberValue value[] = { 1.2 };
364      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
365      * basicNodeApi->setAttribute(nodeHandle, NODE_BRIGHTNESS, &item);
366      * @endcode
367      *
368      */
369     NODE_BRIGHTNESS,
370     /**
371      * @brief 通过{@link setAttribute}方法设置组件饱和度效果。
372      *
373      * {@link ArkUI_AttributeItem}参数类型:\n
374      * .value[0].f32: 饱和度值,默认值1.0,推荐取值范围[0,FLT_MAX]。
375      *
376      * @code {.c}
377      * ArkUI_NumberValue value[] = { 1.0 };
378      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
379      * basicNodeApi->setAttribute(nodeHandle, NODE_SATURATE, &item);
380      * @endcode
381      *
382      */
383     NODE_SATURATE,
384     /**
385      * @brief 通过{@link setAttribute}方法设置组件内容模糊效果。
386      *
387      * {@link ArkUI_AttributeItem}参数类型:\n
388      * .value[0].f32: 模糊半径,模糊半径越大越模糊,为0时不模糊。单位vp,默认值0.0。
389      *
390      * @code {.c}
391      * ArkUI_NumberValue value[] = { 1.0 };
392      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
393      * basicNodeApi->setAttribute(nodeHandle, NODE_BLUR, "1.0");
394      * @endcode
395      *
396      */
397     NODE_BLUR,
398     /**
399      * @brief 通过{@link setAttribute}方法设置组件颜色渐变效果。
400      *
401      * {@link ArkUI_AttributeItem}参数类型:\n
402      * .string: 字符串组合参数,入参4个,以分号分割:\n
403      *      入参1: 指定某百分比位置处的渐变色颜色,设置非法颜色直接跳过。颜色和位置(单位vp)数组类型,以逗号分割;\n
404      *      入参2: 线性渐变的起始角度。0点方向顺时针旋转为正向角度,默认值:180;\n
405      *      入参3:
406      * 线性渐变的方向,设置angle后不生效。取值("left","top","right","bottom","left-top","left-bottom","right-top",\n
407      *             "right-bottom","none", 默认值 "bottom");\n
408      *      入参4: 为渐变的颜色重复着色,默认值 false;\n
409      *      如 "#ffff0000,0.0,#ff0000ff,0.3,#ffffff00,0.5;;left;true" 。
410      * @code {.c}
411      * ARKUI_AttributeItem item = { .string = "#ffff0000,0.0,#ff0000ff,0.3,#ffffff00,0.5;;left;true" };
412      * basicNodeApi->setAttribute(nodeHandle, NODE_LINEAR_GRADIENT, &item);
413      * @endcode
414      *
415      */
416     NODE_LINEAR_GRADIENT,
417     /**
418      * @brief 通过{@link setAttribute}方法设置组件内容在元素绘制区域内的对齐方式。
419      *
420      * {@link ArkUI_AttributeItem}参数类型:\n
421      * .value[0].i32: 对齐方式,数据类型{@link ArkUI_Alignment},默认值ARKUI_ALIGNMENT_CENTER。
422      *
423      * @code {.c}
424      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_ALIGNMENT_CENTER } };
425      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
426      * basicNodeApi->setAttribute(nodeHandle, NODE_ALIGN, "center");
427      * @endcode
428      *
429      */
430     NODE_ALIGN,
431     /**
432      * @brief 透明度属性,支持属性设置,属性重置和属性获取接口。
433      *
434      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
435      * .value[0].f32:透明度数值,取值范围为0到1。 \n
436      * \n
437      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
438      * .value[0].f32:透明度数值,取值范围为0到1。 \n
439      *
440      * @code {.cpp}
441      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
442      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
443      * ArkUI_NumberValue value[] = { 0.5 };
444      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
445      * nativeNodeApi->setAttribute(nodeHandle, NODE_OPACITY, &item);
446      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_OPACITY);
447      * auto nodeOpacity = item->value[0].f32;
448      * @endcode
449      *
450      */
451     NODE_OPACITY,
452     /**
453      * @brief 边框宽度属性,支持属性设置,属性重置和属性获取接口。
454      *
455      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
456      * 1: .value[0].f32:统一设置四条边的边框宽度。 \n
457      * 2: .value[0].f32:设置上边框的边框宽度。 \n
458      * .value[1].f32:设置右边框的边框宽度。 \n
459      * .value[2].f32:设置下边框的边框宽度。 \n
460      * .value[3].f32:设置左边框的边框宽度。 \n
461      * \n
462      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
463      * .value[0].f32:设置上边框的边框宽度。 \n
464      * .value[1].f32:设置右边框的边框宽度。 \n
465      * .value[2].f32:设置下边框的边框宽度。 \n
466      * .value[3].f32:设置左边框的边框宽度。 \n
467      *
468      * @code {.cpp}
469      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
470      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
471      * ArkUI_NumberValue value[] = { 5 };
472      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
473      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_WIDTH, &item);
474      * ArkUI_NumberValue value[] = { 5, 5, 10, 10 };
475      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
476      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_WIDTH, &item);
477      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_BORDER_WIDTH);
478      * auto nodeBorderWitdh = item->value[0].f32;
479      * @endcode
480      *
481      */
482     NODE_BORDER_WIDTH,
483     /**
484      * @brief 边框圆角属性,支持属性设置,属性重置和属性获取接口。
485      *
486      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
487      * 1: .value[0].f32:统一设置四条边的边框圆角。 \n
488      * 2: .value[0].f32:设置左上角圆角半径。 \n
489      * .value[1].f32:设置右上角圆角半径。 \n
490      * .value[2].f32:设置左下角圆角半径。 \n
491      * .value[3].f32:设置右下角圆角半径。 \n
492      * \n
493      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
494      * .value[0].f32:设置左上角圆角半径。 \n
495      * .value[1].f32:设置右上角圆角半径。 \n
496      * .value[2].f32:设置左下角圆角半径。 \n
497      * .value[3].f32:设置右下角圆角半径。 \n
498      *
499      * @code {.cpp}
500      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
501      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
502      * ArkUI_NumberValue value[] = { 5 };
503      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
504      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_RADIUS, &item);
505      * ArkUI_NumberValue value[] = { 5, 5, 10, 10 };
506      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
507      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_RADIUS, &item);
508      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_BORDER_RADIUS);
509      * auto nodeBorderRadius = item->value[0].f32;
510      * @endcode
511      *
512      */
513     NODE_BORDER_RADIUS,
514     /**
515      * @brief 边框颜色属性,支持属性设置,属性重置和属性获取接口。
516      *
517      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
518      * 1: .value[0].u32:统一设置四条边的边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
519      * 2: .value[0].u32:设置上侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
520      * .value[1].u32:设置右侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
521      * .value[2].u32:设置下侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
522      * .value[3].u32:设置左侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
523      * \n
524      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
525      * .value[0].u32:设置上侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
526      * .value[1].u32:设置右侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
527      * .value[2].u32:设置下侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
528      * .value[3].u32:设置左侧边框颜色,使用0xargb表示,如0xFFFF11FF。 \n
529      *
530      * @code {.cpp}
531      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
532      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
533      * ArkUI_NumberValue value[] = { {.u32 = 0xFFFF11FF} };
534      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
535      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_COLOR, &item);
536      * ArkUI_NumberValue value[] = { {.u32 = 0xFFFF11FF}, {.u32 = 0xFFFF11FF}, {.u32 = 0xFFFFFFFF}, {.u32 = 0x000000} };
537      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
538      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_COLOR, &item);
539      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_BORDER_COLOR);
540      * auto nodeBorderColor = item->value[0].u32;
541      * @endcode
542      *
543      */
544     NODE_BORDER_COLOR,
545     /**
546      * @brief 边框线条样式属性,支持属性设置,属性重置和属性获取接口。
547      *
548      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
549      * 1: .value[0].i32:统一设置四条边的边框线条样式,参数类型{@link ArkUI_BorderStyle},默认值为ARKUI_BORDER_STYLE_SOLID。 \n
550      * 2:.value[0].i32:设置上侧边框线条样式,参数类型{@linkArkUI_BorderStyle},默认值为ARKUI_BORDER_STYLE_SOLID。 \n
551      * .value[1].i32:设置右侧边框线条样式,参数类型{@link ArkUI_BorderStyle},默认值为ARKUI_BORDER_STYLE_SOLID。 \n
552      * .value[2].i32:设置下侧边框线条样式,参数类型{@link ArkUI_BorderStyle},默认值为ARKUI_BORDER_STYLE_SOLID。 \n
553      * .value[3].i32:设置左侧边框线条样式,参数类型{@link ArkUI_BorderStyle},默认值为ARKUI_BORDER_STYLE_SOLID。 \n
554      * \n
555      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
556      * .value[0].i32:上侧边框线条样式对应的数值。 \n
557      * .value[1].i32:右侧边框线条样式对应的数值。 \n
558      * .value[2].i32:下侧边框线条样式对应的数值。 \n
559      * .value[3].i32:左侧边框线条样式对应的数值。 \n
560      *
561      * @code {.cpp}
562      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
563      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
564      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_BORDER_STYLE_DOTTED} };
565      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
566      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_STYLE, &item);
567      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_BORDER_STYLE_DOTTED}, {.i32 = ARKUI_BORDER_STYLE_SOLID},
568      * {.i32 = ARKUI_BORDER_STYLE_SOLID}, {.i32 = ARKUI_BORDER_STYLE_DOTTED} };
569      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
570      * nativeNodeApi->setAttribute(nodeHandle, NODE_BORDER_STYLE, &item);
571      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_BORDER_STYLE);
572      * auto nodeBorderStyle = item->value[0].i32;
573      * @endcode
574      *
575      */
576     NODE_BORDER_STYLE,
577     /**
578      * @brief 组件的堆叠顺序属性,支持属性设置,属性重置和属性获取接口。
579      *
580      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
581      * .value[0].f32:堆叠顺序数值。 \n
582      * \n
583      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
584      * .value[0].f32:堆叠顺序数值。 \n
585      *
586      * @code {.cpp}
587      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
588      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
589      * ArkUI_NumberValue value[] = { 2 };
590      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
591      * nativeNodeApi->setAttribute(nodeHandle, NODE_ZINDEX, &item);
592      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_ZINDEX);
593      * auto nodeZIndex = item->value[0].f32;
594      * @endcode
595      *
596      */
597     NODE_ZINDEX,
598     /**
599      * @brief 组件是否可见属性,支持属性设置,属性重置和属性获取接口。
600      *
601      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
602      * .value[0].i32:控制当前组件显示或隐藏,参数类型{@link ARKUI_Visibility},默认值为ARKUI_VISIBILITY_VISIBLE。 \n
603      * \n
604      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
605      * .value[0].i32:控制当前组件显示或隐藏,参数类型{@link ARKUI_Visibility},默认值为ARKUI_VISIBILITY_VISIBLE。 \n
606      *
607      * @code {.cpp}
608      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
609      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
610      * ArkUI_NumberValue value[] = { {.i32=ARKUI_VISIBILITY_NONE} };
611      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
612      * nativeNodeApi->setAttribute(nodeHandle, NODE_VISIBILITY, &item);
613      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_VISIBILITY);
614      * auto nodeVisibility = item->value[0].i32;
615      * @endcode
616      *
617      */
618     NODE_VISIBILITY,
619     /**
620      * @brief 组件进行裁剪、遮罩处理属性,支持属性设置,属性重置和属性获取接口。
621      *
622      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
623      * .value[0].i32:控制是否按照父容器边缘轮廓进行裁剪,0表示不裁切,1表示裁切。 \n
624      * \n
625      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
626      * .value[0].i32:控制是否按照父容器边缘轮廓进行裁剪,0表示不裁切,1表示裁切。 \n
627      *
628      * @code {.cpp}
629      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
630      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
631      * ArkUI_NumberValue value[] = { {.i32 = 0} };
632      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
633      * nativeNodeApi->setAttribute(nodeHandle, NODE_CLIP, &item);
634      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CLIP);
635      * auto nodeClip = item->value[0].i32;
636      * @endcode
637      *
638      */
639     NODE_CLIP,
640     /**
641      * @brief 组件进行裁剪、遮罩处理属性,支持属性设置,属性重置和属性获取接口。
642      *
643      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
644      * .string:形状描述,可选: \n
645      * "rect(10,10,10,10)"括号内分别为width、height、radiusWidth与radiusHeight"; \n
646      * "circle(10,10)"括号内分别为width、height; \n
647      * "ellipse(10,10)"括号内分别为width、height; \n
648      * "path(10,10,M0 0 L600 0)"括号内分别为width、height、commands; \n
649      * \n
650      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
651      * .string:形状描述: \n
652      * "rect(10,10,10,10)"括号内分别为width、height、radiusWidth与radiusHeight"; \n
653      * "circle(10,10)"括号内分别为width、height; \n
654      * "ellipse(10,10)"括号内分别为width、height; \n
655      * "path(10,10,M0 0 L600 0)"括号内分别为width、height、commands; \n
656      *
657      * @code {.cpp}
658      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
659      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
660      * ArkUI_AttributeItem item = { .string = "rect(10,10,10,10)" };
661      * nativeNodeApi->setAttribute(nodeHandle, NODE_CLIP_SHAPE, &item);
662      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CLIP);
663      * auto nodeClipShape = item[0].string;
664      * @endcode
665      *
666      */
667     NODE_CLIP_SHAPE,
668     /**
669      * @brief 矩阵变换功能,可对图形进行平移、旋转和缩放等,支持属性设置,属性重置和属性获取接口。
670      *
671      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
672      * .data[0...15].f32: 16个浮点数字。 \n
673      * \n
674      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
675      * .data[0...15].f32: 16个浮点数字。 \n
676      *
677      * @code {.cpp}
678      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
679      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
680      * ArkUI_NumberValue value[] = { {.f32 = 1}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0},
681      * {.f32 = 0}, {.f32 = 0}, {.f32 = 1}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 0}, {.f32 = 1}  };
682      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
683      * nativeNodeApi->setAttribute(nodeHandle, NODE_TRANSFORM, &item);
684      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_TRANSFORM);
685      * auto nodeTransform = item[0].value;
686      * @endcode
687      *
688      */
689     NODE_TRANSFORM,
690     /**
691      * @brief 触摸测试类型,支持属性设置,属性重置和属性获取接口。
692      *
693      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
694      * .value[0].i32:控制当前组件的触摸测试类型,参数类型{@link ARKUI_HitTestMode},默认值为ARKUI_HIT_TEST_MODE_DEFAULT。 \n
695      * \n
696      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
697      * .value[0].i32:控制当前组件的触摸测试类型,参数类型{@link ARKUI_HitTestMode},默认值为ARKUI_HIT_TEST_MODE_DEFAULT。 \n
698      *
699      * @code {.cpp}
700      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
701      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
702      * ArkUI_NumberValue value[] = { {.i32=ARKUI_HIT_TEST_MODE_BLOCK} };
703      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
704      * nativeNodeApi->setAttribute(nodeHandle, NODE_HIT_TEST_BEHAVIOR, &item);
705      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_HIT_TEST_BEHAVIOR);
706      * auto nodeHitTestBehavior = item->value[0].i32;
707      * @endcode
708      *
709      */
710     NODE_HIT_TEST_BEHAVIOR,
711     /**
712      * @brief 元素左上角相对于父容器左上角偏移位置,支持属性设置,属性重置和属性获取接口。
713      *
714      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
715      * .value[0].f32:x轴坐标。 \n
716      * .value[1].f32: y轴坐标。 \n
717      * \n
718      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
719      * .value[0].f32:x轴坐标。 \n
720      * .value[1].f32: y轴坐标。 \n
721      *
722      * @code {.cpp}
723      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
724      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
725      * ArkUI_NumberValue value[] = { 50, 50 };
726      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
727      * nativeNodeApi->setAttribute(nodeHandle, NODE_POSITION, &item);
728      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_POSITION);
729      * auto nodePositionX = item->value[0].f32;
730      * auto nodePositionY = item->value[1].f32;
731      * @endcode
732      *
733      */
734     NODE_POSITION,
735     /**
736      * @brief 阴影效果属性,支持属性设置,属性重置和属性获取接口。
737      *
738      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
739      * .value[0].i32:设置当前组件阴影效果,参数类型{@link ArkUI_ShadowStyle}。 \n
740      * \n
741      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
742      * .value[0].i32:设置当前组件阴影效果,参数类型{@link ArkUI_ShadowStyle}。 \n
743      *
744      * @code {.cpp}
745      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
746      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
747      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_SHADOW_STYLE_OUTER_DEFAULT_XS} };
748      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
749      * nativeNodeApi->setAttribute(nodeHandle, NODE_SHADOW, &item);
750      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SHADOW);
751      * auto nodePositionX = item->value[0].i32;
752      * @endcode
753      *
754      */
755     NODE_SHADOW,
756     /**
757      * @brief 自定义阴影效果,支持属性设置,属性重置和属性获取接口。
758      *
759      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
760      * .string: 字符串组合参数,入参6个,以分号分割: \n
761      * 入参1:阴影模糊半径。 \n
762      * 入参2:阴影的X轴偏移量。 \n
763      * 入参3:阴影的Y轴偏移量。 \n
764      * 入参4:阴影类型。 \n
765      * 入参5:阴影的颜色。 \n
766      * 入参6:阴影是否内部填充。 \n
767      * \n
768      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
769      * .string: 字符串组合参数,入参6个,以分号分割: \n
770      * 入参1:阴影模糊半径。 \n
771      * 入参2:阴影的X轴偏移量。 \n
772      * 入参3:阴影的Y轴偏移量。 \n
773      * 入参4:阴影类型。 \n
774      * 入参5:阴影的颜色。 \n
775      * 入参6:阴影是否内部填充。 \n
776      *
777      * @code {.cpp}
778      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
779      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
780      * ArkUI_AttributeItem item = { .string = "5; 10; 10; COLOR; 0xACCCCC; true" };
781      * nativeNodeApi->setAttribute(nodeHandle, NODE_CUSTOM_SHADOW, &item);
782      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CUSTOM_SHADOW);
783      * auto nodeCustomShadow = item[0].string;
784      * @endcode
785      *
786      */
787     NODE_CUSTOM_SHADOW,
788     /**
789      * @brief 通过<b>setAttribute</b>方法设置组件背景图片的宽高。
790      *
791      * @note
792      * 入参width:number,height:number (默认单位vp)。
793      * @code {.c}
794      * basicNodeApi->setAttribute(nodeHandle, NODE_BACKGROUND_IMAGE_SIZE, "20 40");
795      * @endcode
796      *
797      */
798     NODE_BACKGROUND_IMAGE_SIZE,
799     /**
800      * @brief 通过<b>setAttribute</b>为当前组件提供一种背景和内容之间的模糊能力。
801      *
802      * @note 入参blurStyle:String("thin","regular","thick")。
803      * @code {.c}
804      * basicNodeApi->setAttribute(nodeHandle, NODE_BACKGROUND_BLUR_STYLE, "thin");
805      * @endcode
806      *
807      */
808     NODE_BACKGROUND_BLUR_STYLE,
809     /**
810      * @brief 通过<b>setAttribute</b>为当前组件设置转场缩放或者旋转的中心点。
811      *
812      * @note 入参: centerX: number,centerY: number,centerZ: number表示中心点。
813      * @code {.c}
814      * basicNodeApi->setAttribute(nodeHandle, NODE_TRANSITION_CENTER, "20 20 0");
815      * @endcode
816      */
817     NODE_TRANSITION_CENTER,
818     /**
819      * @brief 通过<b>setAttribute</b>为当前组件设置转场时的透明度效果。
820      *
821      * @note 入参: opacity: number,duration: number,
822      * curve: String("linear","ease","easein","easeout","easeinout","fastoutslowin","linearoutslowin",
823      * "fastoutlinearin","extremedeceleration","sharp","rhythm","smooth","friction"),delay: number,iterations:
824      * number,playmode: String("normal","alternate","reverse","alternate_reverse"),tempo: number
825      * opacity表示插入时的透明度起点值和删除时的透明度终点值。
826      * duration表示动画播放时长,单位毫秒。curve表示动画曲线。
827      * delay表示动画延迟播放时间,单位毫秒。
828      * iterations表示动画播放次数,默认1次。
829      * playmode表示动画播放模式,默认播放完从头开始播放。
830      * tempo表示动画播放速度,值越大播放越快,默认值1,0表示无动画。
831      * @code {.c}
832      * basicNodeApi->setAttribute(nodeHandle, NODE_OPACITY_TRANSITION, "0.5 3000 ease");
833      * @endcode
834      */
835     NODE_OPACITY_TRANSITION,
836     /**
837      * @brief 通过<b>setAttribute</b>为当前组件设置转场时的旋转效果。
838      *
839      * @note 入参: x: number,y: number,z: number,angle: number,perspective: number,duration: number,
840      * curve: String("linear","ease","easein","easeout","easeinout","fastoutslowin","linearoutslowin",
841      * "fastoutlinearin","extremedeceleration","sharp","rhythm","smooth","friction"),delay: number,iterations:
842      * number,playmode: String("normal","alternate","reverse","alternate_reverse"),tempo: number
843      * 表示插入时的起点值和删除时的终点值。
844      * 其中x表示横向旋转分量,y表示纵向的旋转分量,z表示竖向的旋转分量。
845      * duration表示动画播放时长,单位毫秒。curve表示动画曲线。
846      * delay表示动画延迟播放时间,单位毫秒。
847      * iterations表示动画播放次数,默认1次。
848      * playmode表示动画播放模式,默认播放完从头开始播放。
849      * tempo表示动画播放速度,值越大播放越快,默认值1,0表示无动画。
850      * @code {.c}
851      * basicNodeApi->setAttribute(nodeHandle, NODE_ROTATE_TRANSITION, "0 0 1 180 0 3000 ease");
852      * @endcode
853      */
854     NODE_ROTATE_TRANSITION,
855     /**
856      * @brief 通过<b>setAttribute</b>为当前组件设置转场时的缩放效果。
857      *
858      * @note 入参: x: number,y: number,z: number,duration: number,
859      * curve: String("linear","ease","easein","easeout","easeinout","fastoutslowin","linearoutslowin",
860      * "fastoutlinearin","extremedeceleration","sharp","rhythm","smooth","friction"),delay: number,iterations:
861      * number,playmode: String("normal","alternate","reverse","alternate_reverse"),tempo: number
862      * 其中x表示横向放大倍数,y表示纵向的放大倍数,z表示竖向的放大倍数。
863      * duration表示动画播放时长,单位毫秒。curve表示动画曲线。
864      * delay表示动画延迟播放时间,单位毫秒。
865      * iterations表示动画播放次数,默认1次。
866      * playmode表示动画播放模式,默认播放完从头开始播放。
867      * tempo表示动画播放速度,值越大播放越快,默认值1,0表示无动画。
868      * @code {.c}
869      * basicNodeApi->setAttribute(nodeHandle, NODE_SCALE_TRANSITION, "0 0 0 3000 ease");
870      * @endcode
871      */
872     NODE_SCALE_TRANSITION,
873     /**
874      * @brief 通过<b>setAttribute</b>为当前组件设置转场时的平移效果。
875      *
876      * @note 入参: x: number,y: number,z: number,duration: number,
877      * curve: String("linear","ease","easein","easeout","easeinout","fastoutslowin","linearoutslowin",
878      * "fastoutlinearin","extremedeceleration","sharp","rhythm","smooth","friction"),delay: number,iterations:
879      * number,playmode: String("normal","alternate","reverse","alternate_reverse"),tempo: number
880      * x表示横向的平移距离,y表示纵向的平移距离,z表示竖向的平移距离。
881      * duration表示动画播放时长,单位毫秒。curve表示动画曲线。
882      * delay表示动画延迟播放时间,单位毫秒。
883      * iterations表示动画播放次数,默认1次。
884      * playmode表示动画播放模式,默认播放完从头开始播放。
885      * tempo表示动画播放速度,值越大播放越快,默认值1,0表示无动画。
886      * @code {.c}
887      * basicNodeApi->setAttribute(nodeHandle, NODE_TRANSLATE_TRANSITION, "12 50 0 3000 ease");
888      * @endcode
889      */
890     NODE_TRANSLATE_TRANSITION,
891 
892     /**
893      * @brief 获焦属性,支持属性设置,属性重置和属性获取。
894      *
895      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
896      * .value[0].i32:参数类型为1或者0。
897      * \n
898      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
899      * .value[0].i32:参数类型为1或者0。
900      *
901      * @code {.c}
902      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
903      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
904      * ArkUI_NumberValue value[] = { { .i32 = 1 } };
905      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
906      * nativeNodeApi->setAttribute(nodeHandle, NODE_FOCUSABLE, &item);
907      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_FOCUSABLE);
908      * auto value = item->value[0].i32;
909      * @endcode
910      *
911      */
912     NODE_FOCUSABLE,
913 
914     /**
915      * @brief 无障碍组属性, 支持属性设置,属性重置和属性获取。
916      *
917      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
918      * .value[0].i32:为1时表示该组件及其所有子组件为一整个可以选中的组件
919      * 无障碍服务将不再关注其子组件内容。参数类型为1或者0。
920      * \n
921      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
922      * .value[0].i32:为1时表示该组件及其所有子组件为一整个可以选中的组件
923      * 无障碍服务将不再关注其子组件内容。参数类型为1或者0。
924      *
925      * @code {.c}
926      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
927      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
928      * ArkUI_NumberValue value[] = { { .i32 = 1 } };
929      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
930      * nativeNodeApi->setAttribute(nodeHandle, NODE_ACCESSIBILITY_GROUP, &item);
931      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_ACCESSIBILITY_GROUP);
932      * auto value = item->value[0].i32;
933      * @endcode
934      *
935      */
936     NODE_ACCESSIBILITY_GROUP,
937 
938     /**
939      * @brief 无障碍文本属性,支持属性设置,属性重置和属性获取。
940      *
941      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
942      * .string:无障碍文本。
943      * \n
944      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
945      * .value[0].i32:为1时表示该组件及其所有子组件为一整个可以选中的组件
946      * 无障碍服务将不再关注其子组件内容。参数类型为1或者0。
947      *
948      * @code {.c}
949      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
950      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
951      * ArkUI_AttributeItem item = {.string = "test"};
952      * nativeNodeApi->setAttribute(nodeHandle, NODE_ACCESSIBILITY_TEXT, &item);
953      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_ACCESSIBILITY_TEXT);
954      * auto value = item->string;
955      * @endcode
956      *
957      */
958     NODE_ACCESSIBILITY_TEXT,
959 
960     /**
961      * @brief 无障碍重要性属性,支持属性设置,属性重置和属性获取。
962      *
963      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
964      * .value[0].i32:障碍重要性,参数类型{@link ArkUI_AccessibilityLevel}。
965      * \n
966      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
967      * .value[0].i32:障碍重要性,参数类型{@link ArkUI_AccessibilityLevel}。
968      *
969      * @code {.c}
970      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
971      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
972      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_ACCESSIBILITY_LEVEL_AUTO } };
973      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
974      * nativeNodeApi->setAttribute(nodeHandle, NODE_ACCESSIBILITY_LEVEL, &item);
975      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_ACCESSIBILITY_LEVEL);
976      * auto value = item->value[0].i32;
977      * @endcode
978      *
979      */
980     NODE_ACCESSIBILITY_LEVEL,
981 
982     /**
983      * @brief 无障碍说明属性,支持属性设置,属性重置和属性获取。
984      *
985      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
986      * .string:无障碍说明。
987      * \n
988      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
989      * .string:无障碍说明。
990      *
991      * @code {.c}
992      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
993      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
994      * ArkUI_AttributeItem item = { .string = "test" };
995      * nativeNodeApi->setAttribute(nodeHandle, NODE_ACCESSIBILITY_DESCRIPTION, &item);
996      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_ACCESSIBILITY_DESCRIPTION);
997      * auto value = item->string;
998      * @endcode
999      *
1000      */
1001     NODE_ACCESSIBILITY_DESCRIPTION,
1002 
1003     /**
1004      * @brief 默认焦点属性,支持属性设置,属性重置和属性获取。
1005      *
1006      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1007      * value[0].i32:参数类型为1或者0。
1008      * \n
1009      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1010      * value[0].i32:参数类型为1或者0。
1011      *
1012      * @code {.c}
1013      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1014      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1015      * ArkUI_NumberValue value[] = { { .i32 = 1 } };
1016      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1017      * nativeNodeApi->setAttribute(nodeHandle, NODE_DEFAULT_FOCUS, &item);
1018      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_DEFAULT_FOCUS);
1019      * auto value = item->value[0].i32;
1020      * @endcode
1021      *
1022      */
1023     NODE_DEFAULT_FOCUS,
1024 
1025     /**
1026      * @brief 触摸热区属性,支持属性设置,属性重置和属性获取。
1027      *
1028      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1029      * .data[0].f32:触摸点相对于组件左上角的x轴坐标,单位为vp。 \n
1030      * .data[1].f32:触摸点相对于组件左上角的y轴坐标,单位为vp。 \n
1031      * .data[2].f32:触摸热区的宽度 ,单位为%。 \n
1032      * .data[3].f32:触摸热区的高度,单位为%。 \n
1033      * .data[4...].f32:可以设置多个手势响应区域,顺序和上述一致。
1034      * \n
1035      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1036      * .data[0].f32:触摸点相对于组件左上角的x轴坐标,单位为vp。 \n
1037      * .data[1].f32:触摸点相对于组件左上角的y轴坐标,单位为vp。 \n
1038      * .data[2].f32:触摸热区的宽度 ,单位为%。 \n
1039      * .data[3].f32:触摸热区的高度,单位为%。 \n
1040      * .data[4...].f32:可以设置多个手势响应区域,顺序和上述一致。
1041      *
1042      * @code {.c}
1043      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1044      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1045      * ArkUI_NumberValue value[] = { 0, 0, 100, 100 };
1046      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1047      * nativeNodeApi->setAttribute(nodeHandle, NODE_RESPONSE_REGION, &item);
1048      *
1049      * ArkUI_NumberValue value[] = { 0, 0, 100, 100, 0, 0, 100, 100 };
1050      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1051      * nativeNodeApi->setAttribute(nodeHandle, NODE_RESPONSE_REGION, &item);
1052      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_RESPONSE_REGION);
1053      * auto x = item->value[0].f32;
1054      * auto y = item->value[1].f32;
1055      * auto width = item->value[2].f32;
1056      * auto height = item->value[3].f32;
1057      * @endcode
1058      *
1059      */
1060     NODE_RESPONSE_REGION,
1061 
1062     /**
1063      * @brief 遮罩文本属性,支持属性设置,属性重置和属性获取。
1064      *
1065      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1066      * .string 遮罩文本;\n
1067      * .value[0]?.i32:可选值,浮层相对于组件的位置,参数类型{@link ArkUI_Alignment},
1068      *  默认值为ARKUI_ALIGNMENT_TOP_START。 \n
1069      * .value[1]?.i32:可选值,浮层基于自身左上角的偏移量X,单位为vp。 \n
1070      * .value[2]?.i32:可选值,浮层基于自身左上角的偏移量Y,单位为vp。
1071      * \n
1072      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1073      * .string 遮罩文本; \n
1074      * .value[0]?.i32:可选值,浮层相对于组件的位置,参数类型{@link ArkUI_Alignment},
1075      *  默认值为ARKUI_ALIGNMENT_TOP_START。 \n
1076      * .value[1]?.i32:可选值,浮层基于自身左上角的偏移量X,单位为vp。 \n
1077      * .value[2]?.i32:可选值,浮层基于自身左上角的偏移量Y,单位为vp。
1078      *
1079      * @code {.c}
1080      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1081      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1082      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_ALIGNMENT_TOP_START }, 1.2, 0.3 };
1083      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue), "test"};
1084      * nativeNodeApi->setAttribute(nodeHandle, NODE_OVERLAY, &item);
1085      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_OVERLAY);
1086      * auto text = item->string;
1087      * @endcode
1088      *
1089      */
1090     NODE_OVERLAY,
1091 
1092     /**
1093      * @brief 通过<b>setAttribute</b>为当前text组件设置内容。
1094      *
1095      * @note 入参:value: String
1096      * @code {.c}
1097      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_CONTENT, "一段文本。");
1098      * @endcode
1099      */
1100     NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT,
1101     /**
1102      * @brief 组件字体颜色属性,支持属性设置,属性重置和属性获取接口。
1103      *
1104      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1105      * .value[0].u32:字体颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1106      * \n
1107      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1108      * .value[0].u32:字体颜色数值,0xargb格式;\n
1109      *
1110      * @code {.cpp}
1111      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1112      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1113      * ArkUI_AttributeItem item = { value, 1 };
1114      * nativeNodeApi->setAttribute(nodeHandle, NODE_FONT_COLOR, &item);
1115      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_FONT_COLOR);
1116      * auto nodeFontColor = item->value[0].u32;
1117      * @endcode
1118      *
1119      */
1120     NODE_FONT_COLOR,
1121     /**
1122      * @brief 组件字体大小属性,支持属性设置,属性重置和属性获取接口。
1123      *
1124      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1125      * .value[0].f32:字体大小数值,单位为fp;\n
1126      * \n
1127      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1128      * .value[0].f32:字体大小数值,单位为fp;\n
1129      *
1130      * @code {.cpp}
1131      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1132      * ArkUI_NumberValue value[] = { 10 };
1133      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1134      * nativeNodeApi->setAttribute(nodeHandle, NODE_FONT_SIZE, &item);
1135      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_FONT_SIZE);
1136      * auto nodeFontSize = item->value[0].f32;
1137      * @endcode
1138      *
1139      */
1140     NODE_FONT_SIZE,
1141     /**
1142      * @brief 组件字体样式属性,支持属性设置,属性重置和属性获取接口。
1143      *
1144      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1145      * .value[0].i32:字体样式{@link ArkUI_FontStyle},默认值为ARKUI_FONT_STYLE_NORMAL;\n
1146      * \n
1147      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1148      * .value[0].i32:字体样式{@link ArkUI_FontStyle};\n
1149      *
1150      * @code {.cpp}
1151      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1152      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_FONT_STYLE_NORMAL} };
1153      * ArkUI_AttributeItem item = { value, 1 };
1154      * nativeNodeApi->setAttribute(nodeHandle, NODE_FONT_STYLE, &item);
1155      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_FONT_STYLE);
1156      * auto nodeFontStyle = item->value[0].i32;
1157      * @endcode
1158      *
1159      */
1160     NODE_FONT_STYLE,
1161     /**
1162      * @brief 组件字体粗细属性,支持属性设置,属性重置和属性获取接口。
1163      *
1164      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1165      * .value[0].i32:字体粗细样式{@link ArkUI_FontWeight},默认值为ARKUI_FONT_WEIGHT_NORMAL;\n
1166      * \n
1167      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1168      * .value[0].i32:字体粗细样式{@link ArkUI_FontWeight};\n
1169      *
1170      * @code {.cpp}
1171      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1172      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_FONT_WEIGHT_NORMAL} };
1173      * ArkUI_AttributeItem item = { value, 1 };
1174      * nativeNodeApi->setAttribute(nodeHandle, NODE_FONT_WEIGHT, &item);
1175      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_FONT_WEIGHT);
1176      * auto nodeFontWeight = item->value[0].i32;
1177      * @endcode
1178      *
1179      */
1180     NODE_FONT_WEIGHT,
1181     /**
1182      * @brief 通过<b>setAttribute</b>为当前组件提供设置文本行高的能力。
1183      *
1184      * @note 入参格式为value:number,默认单位vp。
1185      * @code {.c}
1186      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_LINE_HEIGHT, "20");
1187      * @endcode
1188      */
1189     NODE_TEXT_LINE_HEIGHT,
1190     /**
1191      * @brief 置文本装饰线样式及其颜色属性,支持属性设置,属性重置和属性获取接口。
1192      *
1193      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1194      * .value[0].i32:文本装饰线样式{@link ArkUI_TextDecorationType},默认值为ARKUI_TEXT_DECORATION_TYPE_NONE;\n
1195      * .value[1]?.u32:可选值,装饰线颜色,0xargb格式,形如 0xFFFF0000 表示红色;\n
1196      * \n
1197      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1198      * .value[0].i32:文本装饰线样式{@link ArkUI_TextDecorationType};\n
1199      * .value[1].u32:装饰线颜色,0xargb格式。\n
1200      *
1201      * @code {.cpp}
1202      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1203      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_TEXT_DECORATION_TYPE_NONE}, {.u32=0xFFFF0000} };
1204      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1205      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_DECORATION, &item);
1206      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_DECORATION);
1207      * auto nodeDecorationStyle = item->value[0].i32;
1208      * auto nodeDecorationColor = item->value[1].u32;
1209      * @endcode
1210      *
1211      */
1212     NODE_TEXT_DECORATION,
1213     /**
1214      * @brief 文本大小写属性,支持属性设置,属性重置和属性获取接口。
1215      *
1216      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1217      * .value[0].i32:文本大小写样式{@link ArkUI_TextCase},默认值为ARKUI_TEXT_CASE_NORMAL;\n
1218      * \n
1219      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1220      * .value[0].i32:文本大小写样式{@link ArkUI_TextCase}。\n
1221      *
1222      * @code {.cpp}
1223      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1224      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_TEXT_CASE_NORMAL} };
1225      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1226      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_CASE, &item);
1227      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_CASE);
1228      * auto nodeTextCase = item->value[0].i32;
1229      * @endcode
1230      *
1231      */
1232     NODE_TEXT_CASE,
1233     /**
1234      * @brief 文本字符间距属性,支持属性设置,属性重置和属性获取接口。
1235      *
1236      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1237      * .value[0].f32:文本字符间距数值,单位为fp;\n
1238      * \n
1239      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1240      * .value[0].f32:文本字符间距数值,单位为fp。\n
1241      *
1242      * @code {.cpp}
1243      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1244      * ArkUI_NumberValue value[] = { 10 };
1245      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1246      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_LETTER_SPACING, &item);
1247      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_LETTER_SPACING);
1248      * auto nodeTextLetterSpacing = item->value[0].f32;
1249      * @endcode
1250      *
1251      */
1252     NODE_TEXT_LETTER_SPACING,
1253     /**
1254      * @brief 通过<b>setAttribute</b>为当前组件提供设置文本最大行数。
1255      *
1256      * @note 入参:value:number
1257      * @code {.c}
1258      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_MAX_LINES, "1");
1259      * @endcode
1260      */
1261     NODE_TEXT_MAX_LINES,
1262     /**
1263      * @brief 字体水平对齐属性,支持属性设置,属性重置和属性获取接口。
1264      *
1265      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1266      * .value[0].i32:水平对齐方式{@link ArkUI_TextAlign},默认值为ARKUI_TEXT_ALIGN_START;\n
1267      * \n
1268      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1269      * .value[0].i32:水平对齐方式{@link ArkUI_TextAlign}。\n
1270      *
1271      * @code {.cpp}
1272      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1273      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_TEXT_ALIGN_START} };
1274      * ArkUI_AttributeItem item = { value, 1 };
1275      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_ALIGN, &item);
1276      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_ALIGN);
1277      * auto nodeTextAlign = item->value[0].i32;
1278      * @endcode
1279      *
1280      */
1281     NODE_TEXT_ALIGN,
1282     /**
1283      * @brief 通过<b>setAttribute</b>为当前组件提供设置文本超长时的显示方式。
1284      *
1285      * @note 入参:value: String("none","clip","ellipsis","marquee")
1286      * @code {.c}
1287      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_OVER_FLOW, "ellipsis");
1288      * @endcode
1289      */
1290     NODE_TEXT_OVER_FLOW,
1291     /**
1292      * @brief Text字体列表属性,支持属性设置,属性重置和属性获取。
1293      *
1294      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1295      * .string:字体字符串,多个用,分隔。
1296      * \n
1297      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1298      * .string:字体字符串,多个用,分隔。
1299      *
1300      * @code {.c}
1301      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1302      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1303      * ArkUI_AttributeItem item = {.string = "HarmonyOS Sans"};
1304      * nativeNodeApi->setAttribute(nodeHandle, NODE_FONT_FAMILY, &item);
1305      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_FONT_FAMILY);
1306      * auto font = item->string;
1307      * @endcode
1308      *
1309      */
1310     NODE_FONT_FAMILY,
1311     /**
1312      * @brief 文本复制粘贴属性,支持属性设置,属性重置和属性获取接口。
1313      *
1314      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1315      * .value[0].i32:复制粘贴方式{@link ArkUI_CopyOptions},默认值为ARKUI_COPY_OPTIONS_NONE;\n
1316      * \n
1317      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1318      * .value[0].i32:复制粘贴方式{@link ArkUI_CopyOptions}。\n
1319      *
1320      * @code {.cpp}
1321      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1322      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_COPY_OPTIONS_NONE} };
1323      * ArkUI_AttributeItem item = { value, 1 };
1324      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_COPY_OPTION, &item);
1325      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_COPY_OPTION);
1326      * auto nodeTextCopyOption = item->value[0].i32;
1327      * @endcode
1328      *
1329      */
1330     NODE_TEXT_COPY_OPTION,
1331     /**
1332      * @brief 文本基线的偏移量属性,支持属性设置,属性重置和属性获取接口。
1333      *
1334      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1335      * .value[0].f32:偏移量数值,单位为fp;\n
1336      * \n
1337      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1338      * .value[0].f32:偏移量数值,单位为fp。\n
1339      *
1340      * @code {.cpp}
1341      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1342      * ArkUI_NumberValue value[] = { 10 };
1343      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1344      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_BASELINE_OFFSET, &item);
1345      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_BASELINE_OFFSET);
1346      * auto nodeTextBaselineOffset = item->value[0].f32;
1347      * @endcode
1348      *
1349      */
1350     NODE_TEXT_BASELINE_OFFSET,
1351     /**
1352      * @brief 文字阴影效果属性,支持属性设置,属性重置和属性获取接口。
1353      *
1354      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1355      * .value[0].f32:阴影模糊半径,单位为vp;\n
1356      * .value[1].i32:阴影类型{@link ArkUI_ShadowType},默认值为ARKUI_SHADOW_TYPE_COLOR;\n
1357      * .value[2].u32:阴影颜色,0xargb格式,形如 0xFFFF0000 表示红色;\n
1358      * .value[3].f32:阴影X轴偏移量,单位为vp;\n
1359      * .value[4].f32:阴影Y轴偏移量,单位为vp;\n
1360      * \n
1361      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1362      * .value[0].f32:阴影模糊半径,单位为vp;\n
1363      * .value[1].i32:阴影类型{@link ArkUI_ShadowType};\n
1364      * .value[2].u32:阴影颜色,0xargb格式;\n
1365      * .value[3].f32:阴影X轴偏移量,单位为vp;\n
1366      * .value[4].f32:阴影Y轴偏移量,单位为vp;\n
1367      *
1368      * @code {.cpp}
1369      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1370      * ArkUI_NumberValue value[] = { 10, {.i32=ARKUI_SHADOW_TYPE_COLOR}, {.u32=0xFFFF0000}, 10, 10 };
1371      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1372      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_TEXT_SHADOW, &item);
1373      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_TEXT_SHADOW);
1374      * auto nodeTextShadowRadius = item->value[0].f32;
1375      * auto nodeTextShadowType = item->value[1].i32;
1376      * auto nodeTextShadowColor = item->value[2].u32;
1377      * auto nodeTextShadowOffsetX = item->value[3].f32;
1378      * auto nodeTextShadowOffsetY = item->value[4].f32;
1379      * @endcode
1380      *
1381      */
1382     NODE_TEXT_TEXT_SHADOW,
1383 
1384     /**
1385      * @brief Text最小显示字号,支持属性设置,属性重置和属性获取。
1386      *
1387      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1388      * .value[0].f32:文本最小显示字号,单位FP。
1389      * \n
1390      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1391      * .value[0].f32:文本最小显示字号,单位FP。
1392      *
1393      * @code {.c}
1394      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1395      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1396      * ArkUI_NumberValue value[] = { 20 };
1397      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1398      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_MIN_FONT_SIZE, &item);
1399      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_TEXT_MIN_FONT_SIZE);
1400      * auto value = item->value[0].f32;
1401      * @endcode
1402      *
1403      */
1404     NODE_TEXT_MIN_FONT_SIZE,
1405 
1406     /**
1407      * @brief Text最大显示字号,支持属性设置,属性重置和属性获取。
1408      *
1409      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1410      * .value[0].f32:文本最大显示字号 单位FP。
1411      * \n
1412      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1413      * .value[0].f32:文本最大显示字号 单位FP。
1414      *
1415      * @code {.c}
1416      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1417      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1418      * ArkUI_NumberValue value[] = { 20 };
1419      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1420      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_MAX_FONT_SIZE, &item);
1421      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_TEXT_MAX_FONT_SIZE);
1422      * auto value = item->value[0].f32;
1423      * @endcode
1424      *
1425      */
1426     NODE_TEXT_MAX_FONT_SIZE,
1427 
1428     /**
1429      * @brief Text样式,支持属性设置,属性重置和属性获取。
1430      *
1431      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1432      * .string?:可选值 字体列表,使用多个字体,使用','进行分割。 \n
1433      * .value[0].f32:文本尺寸 单位FP。 \n
1434      * .value[1]?.i32:可选值,文本的字体粗细,参数类型{@link ArkUI_FontWeight}。
1435      * 默认值为ARKUI_FONT_WEIGHT_NORMAL。 \n
1436      * .value[2]?.i32:可选值,字体样式,参数类型{@link ArkUI_FontStyle}。
1437      *  默认值为ARKUI_TEXT_FONT_STYLE_NORMAL。
1438      * \n
1439      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1440      * .string?:可选值 字体列表,使用多个字体,使用','进行分割。 \n
1441      * .value[0].f32:文本尺寸 单位FP。 \n
1442      * .value[1]?.i32:可选值,文本的字体粗细,参数类型{@link ArkUI_FontWeight}。
1443      * 默认值为ARKUI_FONT_WEIGHT_NORMAL。 \n
1444      * .value[2]?.i32:可选值,字体样式,参数类型{@link ArkUI_FontStyle}。
1445      *  默认值为ARKUI_TEXT_FONT_STYLE_NORMAL。
1446      *
1447      * @code {.c}
1448      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1449      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1450      * ArkUI_NumberValue value[] = { 16, { .i32 = ARKUI_FONT_STYLE_NORMAL },
1451      * { .i32 = ARKUI_TEXT_FONT_STYLE_NORMAL } };
1452      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1453      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_FONT, &item);
1454      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_TEXT_FONT);
1455      * auto size = item->value[0].f32;
1456      * @endcode
1457      *
1458      */
1459     NODE_TEXT_FONT,
1460 
1461     /**
1462      * @brief Text自适应高度的方式,支持属性设置,属性重置和属性获取。
1463      *
1464      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
1465      * .value[0].i32:参数类型{@link ArkUI_TextHeightAdaptivePolicy}。
1466      * \n
1467      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
1468      * .value[0].i32:参数类型{@link ArkUI_TextHeightAdaptivePolicy}。
1469      *
1470      * @code {.c}
1471      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
1472      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1473      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_MAX_LINES_FIRST } };
1474      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
1475      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, &item);
1476      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_TEXT_HEIGHT_ADAPTIVE_POLICY);
1477      * auto size = item->value[0].i32;
1478      * @endcode
1479      *
1480      */
1481     NODE_TEXT_HEIGHT_ADAPTIVE_POLICY,
1482 
1483     /**
1484      * @brief 通过<b>setAttribute</b>为当前span组件设置文本内容。
1485      *
1486      * @note 入参:value: String。
1487      * @code {.c}
1488      * basicNodeApi->setAttribute(nodeHandle, NODE_SPAN_CONTENT, "一段文本。");
1489      * @endcode
1490      */
1491     NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN,
1492     /**
1493      * @brief 通过<b>setAttribute</b>为当前imageSpan组件设置图片地址。
1494      *
1495      * @note 入参:value: String。
1496      * @code {.c}
1497      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_SPAN_SRC, "https://www.example.com/xxx.png");
1498      * @endcode
1499      */
1500     NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN,
1501     /**
1502      * @brief 通过<b>setAttribute</b>为当前imageSpan组件设置图片基于文本的对齐方式。
1503      *
1504      * @note 入参:value: String("top","center","bottom","baseline","none")。
1505      * @code {.c}
1506      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_SPAN_VERTICAL_ALIGN, "center");
1507      * @endcode
1508      */
1509     NODE_IMAGE_SPAN_VERTICAL_ALIGN,
1510     /**
1511      * @brief 通过<b>setAttribute</b>为当前image组件设置图片地址。
1512      *
1513      * @note 入参:value: String。
1514      * @code {.c}
1515      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_SRC, "https://www.example.com/xxx.png");
1516      * @endcode
1517      */
1518     NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE,
1519     /**
1520      * @brief 通过<b>setAttribute</b>为当前image组件设置图片填充效果。
1521      *
1522      * @note 入参:value: String("fill","contain","cover","fitwidth","fitheight","none",
1523      * "scale_down","top_left" )。
1524      * @code {.c}
1525      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_OBJECT_FIT, "fill");
1526      * @endcode
1527      */
1528     NODE_IMAGE_OBJECT_FIT,
1529     /**
1530      * @brief 通过<b>setAttribute</b>为当前image组件设置图片插值效果效果,缓解图片缩放时的锯齿问题。
1531      *
1532      * @note 入参:value: String("none","low","medium","high")。
1533      * @code {.c}
1534      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_INTERPOLATION, "low");
1535      * @endcode
1536      */
1537     NODE_IMAGE_INTERPOLATION,
1538     /**
1539      * @brief 通过<b>setAttribute</b>为当前image组件设置图片重复样式。
1540      *
1541      * @note 入参:value: String("no_repeat","repeat_x","repeat_y","repeat" )
1542      * @code {.c}
1543      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_OBJECT_REPEAT, "repeat");
1544      * @endcode
1545      */
1546     NODE_IMAGE_OBJECT_REPEAT,
1547     /**
1548      * @brief 通过<b>setAttribute</b>为当前image组件设置图片滤镜效果。
1549      *
1550      * @note 入参:colorFilter: String(4*5的转换矩阵)。
1551      * @code {.c}
1552      * basicNodeApi->setAttribute(nodeHandle, NODE_IMAGE_COLOR_FILTER, "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0");
1553      * @endcode
1554      */
1555     NODE_IMAGE_COLOR_FILTER,
1556 
1557     /**
1558      * @brief 组件打开状态的背景颜色属性,支持属性设置,属性重置和属性获取接口。
1559      *
1560      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1561      * .value[0].u32:背景色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1562      * \n
1563      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1564      * .value[0].u32:背景色数值,0xargb格式。\n
1565      *
1566      * @code {.cpp}
1567      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1568      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1569      * ArkUI_AttributeItem item = { value, 1 };
1570      * basicNodeApi->setAttribute(nodeHandle, NODE_TOGGLE_SELECTED_COLOR, &item);
1571      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TOGGLE_SELECTED_COLOR);
1572      * auto nodeToggleSelectedColor = item->value[0].u32;
1573      * @endcode
1574      *
1575      */
1576     NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE,
1577     /**
1578      * @brief Switch类型的圆形滑块颜色属性,支持属性设置,属性重置和属性获取接口。
1579      *
1580      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1581      * .value[0].u32:圆形滑块颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1582      * \n
1583      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1584      * .value[0].u32:圆形滑块颜色数值,0xargb格式。\n
1585      *
1586      * @code {.cpp}
1587      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1588      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1589      * ArkUI_AttributeItem item = { value, 1 };
1590      * nativeNodeApi->setAttribute(nodeHandle, NODE_TOGGLE_SWITCH_POINT_COLOR, &item);
1591      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TOGGLE_SWITCH_POINT_COLOR);
1592      * auto nodeSwitchPointColor = item->value[0].u32;
1593      * @endcode
1594      *
1595      */
1596     NODE_TOGGLE_SWITCH_POINT_COLOR,
1597 
1598     /**
1599      * @brief 加载进度条前景色属性,支持属性设置,属性重置和属性获取接口。
1600      *
1601      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1602      * .value[0].u32:前景颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1603      * \n
1604      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1605      * .value[0].u32:前景颜色数值,0xargb格式。\n
1606      *
1607      * @code {.cpp}
1608      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1609      * ArkUI_NumberValue value[] = { { .u32 = 0x99666666 } };
1610      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
1611      * nativeNodeApi->setAttribute(nodeHandle, NODE_LOADING_PROGRESS_COLOR, &item);
1612      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_LOADING_PROGRESS_COLOR);
1613      * auto nodeLoadingProgressColor = item->value[0].u32;
1614      * @endcode
1615      *
1616      */
1617     NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS,
1618     /**
1619      * @brief LoadingProgress动画显示属性,支持属性设置,属性重置和属性获取接口。
1620      *
1621      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1622      * .value[0].i32:false时不显示动画,true时可以显示动画;\n
1623      * \n
1624      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1625      * .value[0].i32:0时不显示动画,1时可以显示动画。\n
1626      *
1627      * @code {.cpp}
1628      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1629      * ArkUI_NumberValue value[] = { { .i32 = true } };
1630      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
1631      * nativeNodeApi->setAttribute(nodeHandle, NODE_LOADING_PROGRESS_ENABLE_LOADING, &item);
1632      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_LOADING_PROGRESS_ENABLE_LOADING);
1633      * auto nodeLoadingProgressEnableLoading = item->value[0].i32;
1634      * @endcode
1635      */
1636     NODE_LOADING_PROGRESS_ENABLE_LOADING,
1637 
1638     /**
1639      * @brief 单行文本输入框的默认提示文本内容属性,支持属性设置,属性重置和属性获取接口。
1640      *
1641      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1642      * .string:默认提示文本的内容;\n
1643      * \n
1644      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1645      * .string:默认提示文本的内容。\n
1646      *
1647      * @code {.cpp}
1648      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1649      * ArkUI_AttributeItem item = { .string="input" };
1650      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER, &item);
1651      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER);
1652      * auto nodeTextInputPlaceholder = item->string;
1653      * @endcode
1654      *
1655      */
1656     NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT,
1657     /**
1658      * @brief 单行文本输入框的默认文本内容属性,支持属性设置,属性重置和属性获取接口。
1659      *
1660      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1661      * .string:默认文本的内容;\n
1662      * \n
1663      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1664      * .string:默认文本的内容。\n
1665      *
1666      * @code {.cpp}
1667      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1668      * ArkUI_AttributeItem item = { .string="input" };
1669      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_TEXT, &item);
1670      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_TEXT);
1671      * auto nodeTextInputText = item->string;
1672      * @endcode
1673      *
1674      */
1675     NODE_TEXT_INPUT_TEXT,
1676     /**
1677      * @brief 光标颜色属性,支持属性设置,属性重置和属性获取接口。
1678      *
1679      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1680      * .value[0].u32:背景色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1681      * \n
1682      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1683      * .value[0].u32:背景色数值,0xargb格式。\n
1684      *
1685      * @code {.cpp}
1686      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1687      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1688      * ArkUI_AttributeItem item = { value, 1 };
1689      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_CARET_COLOR, &item);
1690      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_CARET_COLOR);
1691      * auto nodeTextInputCaretColor = item->value[0].u32;
1692      * @endcode
1693      *
1694      */
1695     NODE_TEXT_INPUT_CARET_COLOR,
1696     /**
1697      * @brief 光标风格属性,支持属性设置,属性重置和属性获取接口。
1698      *
1699      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1700      * .value[0].f32:光标宽度数值,单位为vp;\n
1701      * \n
1702      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1703      * .value[0].f32:光标宽度数值,单位为vp。\n
1704      *
1705      * @code {.cpp}
1706      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1707      * ArkUI_NumberValue value[] = { 100 };
1708      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
1709      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_CARET_STYLE, &item);
1710      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_CARET_STYLE);
1711      * auto nodeTextInputCaretStyle = item->value[0].f32;
1712      * @endcode
1713      *
1714      */
1715     NODE_TEXT_INPUT_CARET_STYLE,
1716     /**
1717      * @brief 单行文本输入框下划线属性,支持属性设置,属性重置和属性获取接口。
1718      *
1719      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1720      * .value[0].i32:false表示不展示下划线,true表示展示下划线;\n
1721      * \n
1722      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1723      * .value[0].i32:0表示不展示下划线,1表示展示下划线。\n
1724      *
1725      * @code {.cpp}
1726      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1727      * ArkUI_NumberValue value[] = { {.i32 = true} };
1728      * ArkUI_AttributeItem item = { value, 1 };
1729      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_SHOW_UNDERLINE, &item);
1730      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_SHOW_UNDERLINE);
1731      * auto nodeTextInputUnderline = item->value[0].i32;
1732      * @endcode
1733      *
1734      */
1735     NODE_TEXT_INPUT_SHOW_UNDERLINE,
1736     /**
1737      * @brief 输入框支持的最大文本数属性,支持属性设置,属性重置和属性获取接口。
1738      *
1739      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1740      * .value[0].i32:最大文本数的数字,无单位;\n
1741      * \n
1742      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1743      * .value[0].i32:最大文本数的数字。\n
1744      *
1745      * @code {.cpp}
1746      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1747      * ArkUI_NumberValue value[] = { { .i32 = 50 } };
1748      * ArkUI_AttributeItem item = { value, 1 };
1749      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_MAX_LENGTH, &item);
1750      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_MAX_LENGTH);
1751      * auto nodeTextInputMaxlength = item->value[0].i32;
1752      * @endcode
1753      *
1754      */
1755     NODE_TEXT_INPUT_MAX_LENGTH,
1756     /**
1757      * @brief 回车键类型属性,支持属性设置,属性重置和属性获取接口。
1758      *
1759      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1760      * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType},默认值为ARKUI_ENTER_KEY_TYPE_DONE;\n
1761      * \n
1762      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1763      * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType}。\n
1764      *
1765      * @code {.cpp}
1766      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1767      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_ENTER_KEY_TYPE_DONE} };
1768      * ArkUI_AttributeItem item = { value, 1 };
1769      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_ENTER_KEY_TYPE, &item);
1770      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_ENTER_KEY_TYPE);
1771      * auto nodeTextInputMaxlength = item->value[0].i32;
1772      * @endcode
1773      *
1774      */
1775     NODE_TEXT_INPUT_ENTER_KEY_TYPE,
1776     /**
1777      * @brief 无输入时默认提示文本的颜色属性,支持属性设置,属性重置和属性获取接口。
1778      *
1779      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1780      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1781      * \n
1782      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1783      * .value[0].u32:颜色数值,0xargb格式。\n
1784      *
1785      * @code {.cpp}
1786      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1787      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1788      * ArkUI_AttributeItem item = { value, 1 };
1789      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER_COLOR, &item);
1790      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER_COLOR);
1791      * auto nodeTextInputPlaceholderColor = item->value[0].u32;
1792      * @endcode
1793      *
1794      */
1795     NODE_TEXT_INPUT_PLACEHOLDER_COLOR,
1796     /**
1797      * @brief 无输入时默认提示文本的字体配置(包括大小、字重、样式、字体列表)属性,支持属性设置,属性重置和属性获取接口。
1798      *
1799      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1800      * .value[0]?.f32:可选字体大小数值,默认值16.0,单位为fp;\n
1801      * .value[1]?.i32:可选字体样式{@link ArkUI_FontStyle},默认值为ARKUI_FONT_STYLE_NORMAL;\n
1802      * .value[2]?.i32:可选字体粗细样式{@link ArkUI_FontWeight},默认值为ARKUI_FONT_WEIGHT_NORMAL;\n
1803      * ?.string: 字体族内容,多个字体族之间使用逗号分隔,形如“字重;字体族1,字体族2”;\n
1804      * \n
1805      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1806      * .value[0].f32:字体大小数值,单位为fp;\n
1807      * .value[1].i32:字体样式{@link ArkUI_FontStyle};\n
1808      * .value[2].i32:字体粗细样式{@link ArkUI_FontWeight};\n
1809      * .string: 字体族内容,多个字体族之间使用逗号分隔。\n
1810      *
1811      * @code {.cpp}
1812      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1813      * ArkUI_NumberValue value[] = \n
1814      * { 16.0, {.i32=ARKUI_FONT_STYLE_NORMAL}, {.i32=ARKUI_FONT_WEIGHT_NORMAL} };
1815      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue), "Arial" };
1816      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER_FONT, &item);
1817      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_PLACEHOLDER_FONT);
1818      * auto nodeTextInputPlaceholderFontSize = item->value[0].f32;
1819      * auto nodeTextInputPlaceholderFontStyle = item->value[1].i32;
1820      * auto nodeTextInputPlaceholderFontWeight = item->value[2].i32;
1821      * auto nodeTextInputPlaceholderFontFamily = item->string;
1822      * @endcode
1823      *
1824      */
1825     NODE_TEXT_INPUT_PLACEHOLDER_FONT,
1826     /**
1827      * @brief 聚焦时是否绑定输入法属性,支持属性设置,属性重置和属性获取接口。
1828      *
1829      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1830      * .value[0].i32:false表示聚焦不拉起输入法,true表示拉起;\n
1831      * \n
1832      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1833      * .value[0].i32:0表示聚焦不拉起输入法,1表示拉起。\n
1834      *
1835      * @code {.cpp}
1836      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1837      * ArkUI_NumberValue value[] = { {.i32 = true} };
1838      * ArkUI_AttributeItem item = { value, 1 };
1839      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, &item);
1840      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS);
1841      * auto nodeTextInputFocusKeyboard = item->value[0].i32;
1842      * @endcode
1843      *
1844      */
1845     NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS,
1846     /**
1847      * @brief 输入框的类型属性,支持属性设置,属性重置和属性获取接口。
1848      *
1849      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1850      * .value[0].i32:输入框类型枚举{@link ArkUI_TextInputType},默认值为ARKUI_TEXTINPUT_TYPE_NORMAL;\n
1851      * \n
1852      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1853      * .value[0].i32:输入框类型枚举{@link ArkUI_TextInputType}。\n
1854      *
1855      * @code {.cpp}
1856      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1857      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_TEXTINPUT_TYPE_NORMAL} };
1858      * ArkUI_AttributeItem item = { value, 1 };
1859      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_TYPE, &item);
1860      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_TYPE);
1861      * auto nodeTextInputType = item->value[0].i32;
1862      * @endcode
1863      *
1864      */
1865     NODE_TEXT_INPUT_TYPE,
1866     /**
1867      * @brief 输入框文本选中时的背景色属性,支持属性设置,属性重置和属性获取接口。
1868      *
1869      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1870      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1871      * \n
1872      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1873      * .value[0].u32:颜色数值,0xargb格式。\n
1874      *
1875      * @code {.cpp}
1876      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1877      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
1878      * ArkUI_AttributeItem item = { value, 1 };
1879      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, &item);
1880      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR);
1881      * auto nodeTextInputSelectedColor = item->value[0].u32;
1882      * @endcode
1883      *
1884      */
1885     NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR,
1886     /**
1887      * @brief 密码输入模式时是否显示末尾图标属性,支持属性设置,属性重置和属性获取接口。
1888      *
1889      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1890      * .value[0].i32:false表示不显示图标,true表示显示图标;\n
1891      * \n
1892      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1893      * .value[0].i32:0表示不显示图标,1表示显示图标。\n
1894      *
1895      * @code {.cpp}
1896      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1897      * ArkUI_NumberValue value[] = { {.i32 = true} };
1898      * ArkUI_AttributeItem item = { value, 1 };
1899      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, &item);
1900      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_SHOW_PASSWORD_ICON);
1901      * auto nodeTextInputPasswordIcon = item->value[0].i32;
1902      * @endcode
1903      *
1904      */
1905     NODE_TEXT_INPUT_SHOW_PASSWORD_ICON,
1906     /**
1907      * @brief 控制单行文本输入框编辑态属性,支持属性设置。
1908      *
1909      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1910      * .value[0].i32:false表示退出编辑态,true表示维持现状。
1911      *
1912      * @code {.cpp}
1913      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1914      * ArkUI_NumberValue value[] = { {.i32 = false} };
1915      * ArkUI_AttributeItem item = { value, 1 };
1916      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_EDITING, &item);
1917      * @endcode
1918      *
1919      */
1920     NODE_TEXT_INPUT_EDITING,
1921     /**
1922      * @brief 单行文本右侧清除按钮样式属性,支持属性设置,属性重置和属性获取接口。
1923      *
1924      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
1925      * .value[0].i32:按钮样式{@link ArkUI_CancelButtonStyle},默认值为ARKUI_CANCELBUTTON_STYLE_INPUT;\n
1926      * .value[1]?.f32:图标大小数值,单位为vp;\n
1927      * .value[2]?.u32:按钮图标颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
1928      * ?.string:按钮图标地址,入参内容为图片本地地址,例如 /pages/icon.png;\n
1929      * \n
1930      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
1931      * .value[0].i32:按钮样式{@link ArkUI_CancelButtonStyle};\n
1932      * .value[1].f32:图标大小数值,单位为vp;\n
1933      * .value[2].u32:按钮图标颜色数值,0xargb格式;\n
1934      * .string:按钮图标地址;\n
1935      *
1936      * @code {.cpp}
1937      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
1938      * ArkUI_NumberValue value[] = { {.i32=ARKUI_CANCELBUTTON_STYLE_INPUT}, 10.0, {.u32=0xFFFF0000} };
1939      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue), "/pages/icon.png" };
1940      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_INPUT_CANCEL_BUTTON, &item);
1941      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_INPUT_CANCEL_BUTTON);
1942      * auto nodeCancelButtonStyle = item->value[0].i32;
1943      * auto nodeCancelButtonSize = item->value[1].f32;
1944      * auto nodeCancelButtonColor = item->value[2].u32;
1945      * auto nodeCancelButtonImage = item->string;
1946      * @endcode
1947      *
1948      */
1949     NODE_TEXT_INPUT_CANCEL_BUTTON,
1950 
1951     /**
1952      * @brief 通过{@link setAttribute}方法设置子组件在容器内的对齐方式。
1953      *
1954      * {@link ArkUI_AttributeItem}参数类型:\n
1955      * .value[0].i32: 对齐方式,数据类型{@link ArkUI_Alignment},默认值ARKUI_ALIGNMENT_CENTER。
1956      *
1957      * @code {.c}
1958      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_ALIGNMENT_CENTER } };
1959      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
1960      * basicNodeApi->setAttribute(nodeHandle, NODE_STACK_ALIGN_CONTENT, &item);
1961      * @endcode
1962      */
1963     NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK,
1964 
1965     /**
1966      * @brief 通过{@link setAttribute}方法设置滚动条状态。
1967      *
1968      * {@link ArkUI_AttributeItem}参数类型:\n
1969      * .value[0].i32: 滚动条状态,数据类型{@link
1970      * ArkUI_ScrollBarDisplayMode},默认值ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO。
1971      *
1972      * @code {.c}
1973      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO } };
1974      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
1975      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_BAR_DISPLAY_MODE, &item);
1976      * @endcode
1977      *
1978      */
1979     NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL,
1980     /**
1981      * @brief 通过{@link setAttribute}方法设置滚动条的宽度。
1982      *
1983      * {@link ArkUI_AttributeItem}参数类型:\n
1984      * .value[0].f32: 滚动条宽度,单位vp,默认值4。
1985      *
1986      * @code {.c}
1987      * ArkUI_NumberValue value[] = { 20 };
1988      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
1989      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_BAR_WIDTH, &item);
1990      * @endcode
1991      *
1992      */
1993     NODE_SCROLL_BAR_WIDTH,
1994     /**
1995      * @brief 通过{@link setAttribute}方法设置滚动条的颜色。
1996      *
1997      * {@link ArkUI_AttributeItem}参数类型:\n
1998      * .data[0].i32: 滚动条颜色,0xargb类型。
1999      *
2000      * @code {.c}
2001      * ArkUI_NumberValue value[] = { { .i32 = 0xFFFFFFFF } };
2002      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2003      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_BAR_COLOR, &item);
2004      * @endcode
2005      *
2006      */
2007     NODE_SCROLL_BAR_COLOR,
2008     /**
2009      * @brief 通过{@link setAttribute}方法设置滚动方向。
2010      *
2011      * {@link ArkUI_AttributeItem}参数类型:\n
2012      * .value[0].i32:滚动方向,数据类型{@link ArkUI_Axis},默认值ARKUI_AXIS_VERTICAL。
2013      *
2014      * @code {.c}
2015      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_AXIS_VERTICAL } };
2016      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2017      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_SCROLL_DIRECTION, &item);
2018      * @endcode
2019      *
2020      */
2021     NODE_SCROLL_SCROLL_DIRECTION,
2022     /**
2023      * @brief 通过{@link setAttribute}方法设置边缘滑动效果。
2024      *
2025      * {@link ArkUI_AttributeItem}参数类型:\n
2026      * .value[0].i32: 边缘滑动效果,参数类型{@link ArkUI_EdgeEffect},默认值ARKUI_EDGE_EFFECT_NONE;\n
2027      * .value[1]?.i32: 可选值,组件内容大小小于组件自身时,设置是否开启滑动效果,开启为1,关闭为0,默认值1。
2028      *
2029      * @code {.c}
2030      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_EDGE_EFFECT_NONE }, { .i32 = 1 } };
2031      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2032      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_EDGE_EFFECT, &item);
2033      * @endcode
2034      *
2035      */
2036     NODE_SCROLL_EDGE_EFFECT,
2037     /**
2038      * @brief
2039      * 通过{@link
2040      * setAttribute}方法设置是否支持滚动手势,当设置为false时,无法通过手指或者鼠标滚动,但不影响控制器的滚动接口。
2041      *
2042      * {@link ArkUI_AttributeItem}参数类型:\n
2043      * .value[0].i32: 是否支持滚动手势,默认值true。
2044      *
2045      * @code {.c}
2046      * ArkUI_NumberValue value[] = { { .i32 = true } };
2047      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2048      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_ENABLE_SCROLL_INTERACTION, &item);
2049      * @endcode
2050      *
2051      */
2052     NODE_SCROLL_ENABLE_SCROLL_INTERACTION,
2053     /**
2054      * @brief
2055      * 通过{@link
2056      * setAttribute}方法设置摩擦系数,手动划动滚动区域时生效,只对惯性滚动过程有影响,对惯性滚动过程中的链式效果有间接影响。
2057      *
2058      * {@link ArkUI_AttributeItem}参数类型:\n
2059      * .value[0].f32: 摩擦系数,默认值:非可穿戴设备为0.6,可穿戴设备为0.9。
2060      *
2061      * @code {.c}
2062      * ArkUI_NumberValue value[] = { 0.6 };
2063      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2064      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_FRICTION, &item);
2065      * @endcode
2066      *
2067      */
2068     NODE_SCROLL_FRICTION,
2069     /**
2070      * @brief 通过{@link setAttribute}方法设置Scroll组件的限位滚动模式。
2071      *
2072      * {@link ArkUI_AttributeItem}参数类型:\n
2073      * .value[0].i32: Scroll组件限位滚动时的对其方式,数据类型{@link ArkUI_ScrollSnapAlign},默认值ARKUI_SCROLL_SNAP_ALIGN_NONE;\n
2074      * .value[1].i32: 在Scroll组件限位滚动模式下,该属性设置为false后,运行Scroll在开头和第一个限位点间自由滑动。默认值true,仅在限位点为多个时生效;\n
2075      * .value[2].i32: 在Scroll组件限位滚动模式下,该属性设置为false后,运行Scroll在最后一个限位点和末尾间自由滑动。默认值true,仅在限位点为多个时生效;\n
2076      *
2077      * @code {.c}
2078      * ArkUI_NumberValue value[] = {
2079      *     { .i32=ARKUI_SCROLL_SNAP_ALIGN_NONE }, { .i32=true }, { .i32=true },
2080      *     { .f32=0 }, { .f32=500 }, { .f32=1000 }, { .f32=1500 }
2081      * };
2082      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2083      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_SNAP, &item);
2084      * @endcode
2085      *
2086      */
2087     NODE_SCROLL_SNAP,
2088 
2089     /**
2090      * @brief Scroll嵌套滚动选项,支持属性设置,属性重置和属性获取。
2091      *
2092      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
2093      * .value[0]?.i32:可滚动组件往末尾端滚动时的嵌套滚动,参数类型{@link ArkUI_ScrollNestedMode}。\n
2094      * .value[1]?.i32:可滚动组件往起始端滚动时的嵌套滚动,参数类型{@link ArkUI_ScrollNestedMode}。
2095      * \n
2096      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2097      * .value[0]?.i32:可滚动组件往末尾端滚动时的嵌套滚动,参数类型{@link ArkUI_ScrollNestedMode}。\n
2098      * .value[1]?.i32:可滚动组件往起始端滚动时的嵌套滚动,参数类型{@link ArkUI_ScrollNestedMode}。
2099      *
2100      * @code {.c}
2101      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2102      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2103      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_SCROLL_NESTED_MODE_SELF_ONLY },
2104      * { .i32 = ARKUI_SCROLL_NESTED_OPTIONS_SELF_ONLY } };
2105      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
2106      * nativeNodeApi->setAttribute(nodeHandle, NODE_SCROLL_NESTED_SCROLL, &item);
2107      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SCROLL_NESTED_SCROLL);
2108      * auto first = item->value[0].i32;
2109      * auto second = item->value[1].i32;
2110      * @endcode
2111      *
2112      */
2113     NODE_SCROLL_NESTED_SCROLL,
2114     /**
2115      * @brief Scroll滑动到指定位置,支持属性设置,属性重置和属性获取。
2116      *
2117      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
2118      * .value[0].f32:水平滑动偏移,单位为vp。\n
2119      * .value[1].f32:垂直滑动偏移,单位为vp。\n
2120      * .value[2]?.i32:可选值,滚动时长,单位为毫秒。\n
2121      * .value[3]?.i32:可选值,滚动曲线,参数类型{@link ArkUI_AnimationCurve}。默认值为ARKUI_CURVE_EASE。\n
2122      * .value[4]?.i32:可选值,是否使能默认弹簧动效,默认值为0不使能。
2123      * \n
2124      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2125      * .value[0].f32:水平滑动偏移,单位为vp。\n
2126      * .value[1].f32:垂直滑动偏移,单位为vp。\n
2127      *
2128      * @code {.c}
2129      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2130      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2131      * ArkUI_NumberValue value[] = { 10, 100, { .i32 = 1000 }, { .i32 = ARKUI_CURVE_EASE },
2132      * { .i32 = 1 } };
2133      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
2134      * nativeNodeApi->setAttribute(nodeHandle, NODE_SCROLL_OFFSET, &item);
2135      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SCROLL_OFFSET);
2136      * auto x = item->value[0].f32;
2137      * auto y = item->value[1].f32;
2138      * @endcode
2139      *
2140      */
2141     NODE_SCROLL_OFFSET,
2142 
2143     /**
2144      * @brief Scroll滚动到容器边缘,支持属性设置,属性重置和属性获取。
2145      *
2146      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
2147      * .value[0].i32:容器边缘,参数类型{@link ArkUI_ScrollEdge}。
2148      * \n
2149      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2150      * .value[0].i32:容器边缘,参数类型{@link ArkUI_ScrollEdge}。
2151      *
2152      * @code {.c}
2153      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2154      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2155      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_SCROLL_EDGE_TOP } };
2156      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
2157      * nativeNodeApi->setAttribute(nodeHandle, NODE_SCROLL_EDGE, &item);
2158      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SCROLL_EDGE);
2159      * auto value = item->value[0].i32;
2160      * @endcode
2161      *
2162      */
2163     NODE_SCROLL_EDGE,
2164 
2165     /**
2166      * @brief 通过{@link setAttribute}方法设置是否支持滑动翻页。
2167      * @note 如果同时设置了划动翻页 enablePaging 和限位滚动 scrollSnap,则 scrollSnap 优先生效,enablePaging 不生效。
2168      *
2169      * {@link ArkUI_AttributeItem}参数类型:\n
2170      * .value[0].i32: 是否支持划动翻页,默认值false。
2171      *
2172      * @code {.c}
2173      * ArkUI_NumberValue value[] = { { .i32 = true } };
2174      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2175      * basicNodeApi->setAttribute(nodeHandle, NODE_SCROLL_ENABLE_PAGING, &item);
2176      * @endcode
2177      *
2178      */
2179     NODE_SCROLL_ENABLE_PAGING,
2180 
2181     /**
2182      * @brief 通过{@link setAttribute}方法设置List组件排列方向。
2183      *
2184      * {@link ArkUI_AttributeItem}参数类型:\n
2185      * .value[0].i32:List组件排列方向,数据类型{@link ArkUI_Axis},默认值ARKUI_AXIS_VERTICAL。
2186      *
2187      * @code {.c}
2188      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_AXIS_VERTICAL } };
2189      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2190      * basicNodeApi->setAttribute(nodeHandle, NODE_LIST_LIST_DIRECTION, &item);
2191      * @endcode
2192      *
2193      */
2194     NODE_LIST_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST,
2195     /**
2196      * @brief 通过{@link setAttribute}方法配合ListItemGroup组件使用,设置 ListItemGroup 中 header 和 footer 是否要吸顶或吸底。
2197      *
2198      * {@link ArkUI_AttributeItem}参数类型:\n
2199      * .value[0].i32:配合ListItemGroup组件使用,设置ListItemGroup中header和footer是否要吸顶或吸底。数据类型{@link ArkUI_StickyStyle},默认值
2200      *     ARKUI_STICKYSTYLE_NONE。
2201      *
2202      * @code {.c}
2203      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_STICKYSTYLE_NONE } };
2204      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2205      * basicNodeApi->setAttribute(nodeHandle, NODE_LIST_STICKY, &item);
2206      * @endcode
2207      *
2208      */
2209     NODE_LIST_STICKY,
2210     /**
2211      * @brief 通过{@link setAttribute}方法设置列表项间距。
2212      *
2213      * {@link ArkUI_AttributeItem}参数类型:\n
2214      * .value[0].f32: 子组件主轴方向的间隔。默认值0。
2215      *
2216      * @code {.c}
2217      * ArkUI_NumberValue value[] = { 10 };
2218      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2219      * basicNodeApi->setAttribute(nodeHandle, NODE_LIST_SPACE, &item);
2220      * @endcode
2221      *
2222      */
2223     NODE_LIST_SPACE,
2224 
2225     /**
2226      * @brief Swiper是否开启循环,支持属性设置,属性重置和属性获取接口。
2227      *
2228      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2229      * .value[0].i32:控制是否开启循环,0表示不循环,1表示循环,默认值为1。 \n
2230      * \n
2231      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2232      * .value[0].i32:控制是否开启循环,0表示不循环,1表示循环,默认值为1。 \n
2233      *
2234      * @code {.cpp}
2235      * ArkUI_NumberValue value[] = { {.i32 = 0} };
2236      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2237      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_LOOP, &item);
2238      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_LOOP);
2239      * auto nodeSwiperLoop = item->value[0].i32;
2240      * @endcode
2241      *
2242      */
2243     NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER,
2244     /**
2245      * @brief Swiper子组件是否自动播放,支持属性设置,属性重置和属性获取接口。
2246      *
2247      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2248      * .value[0].i32:控制子组件是否自动播放,0表示不自动播放,1表示自动播放,默认值为0。 \n
2249      * \n
2250      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2251      * .value[0].i32:控制子组件是否自动播放,0表示不自动播放,1表示自动播放,默认值为0。 \n
2252      *
2253      * @code {.cpp}
2254      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2255      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2256      * ArkUI_NumberValue value[] = { {.i32 = 1} };
2257      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2258      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_AUTO_PLAY, &item);
2259      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_AUTO_PLAY);
2260      * auto nodeSwiperLoop = item->value[0].i32;
2261      * @endcode
2262      *
2263      */
2264     NODE_SWIPER_AUTO_PLAY,
2265     /**
2266      * @brief Swiper是否显示导航点指示器,支持属性设置,属性重置和属性获取接口。
2267      *
2268      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2269      * .value[0].i32:是否显示导航点指示器,0表示不显示导航点指示器,1表示显示导航点指示器,默认值为1。 \n
2270      * \n
2271      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2272      * .value[0].i32:是否显示导航点指示器,0表示不显示导航点指示器,1表示显示导航点指示器,默认值为1。 \n
2273      *
2274      * @code {.cpp}
2275      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2276      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2277      * ArkUI_NumberValue value[] = { {.i32 = 0} };
2278      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2279      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_SHOW_INDICATOR, &item);
2280      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_SHOW_INDICATOR);
2281      * auto nodeSwiperShowIndicator = item->value[0].i32;
2282      * @endcode
2283      *
2284      */
2285     NODE_SWIPER_SHOW_INDICATOR,
2286     /**
2287      * @brief 设置Swiper自动播放时播放的时间间隔,支持属性设置,属性重置和属性获取接口。
2288      *
2289      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2290      * .value[0].f32:使用自动播放时播放的时间间隔,单位为毫秒。 \n
2291      * \n
2292      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2293      * .value[0].f32:使用自动播放时播放的时间间隔,单位为毫秒。 \n
2294      *
2295      * @code {.cpp}
2296      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2297      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2298      * ArkUI_NumberValue value[] = { 3000 };
2299      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2300      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_INTERVAL, &item);
2301      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_INTERVAL);
2302      * auto nodeSwiperInterval = item->value[0].f32;
2303      * @endcode
2304      *
2305      */
2306     NODE_SWIPER_INTERVAL,
2307     /**
2308      * @brief 设置Swiper是否为纵向滑动,支持属性设置,属性重置和属性获取接口。
2309      *
2310      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2311      * .value[0].i32:是否为纵向滑动,0表示横向滑动,1表示纵向滑动,默认值为0。 \n
2312      * \n
2313      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2314      * .value[0].i32:是否为纵向滑动,0表示横向滑动,1表示纵向滑动,默认值为0。 \n
2315      *
2316      * @code {.cpp}
2317      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2318      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2319      * ArkUI_NumberValue value[] = { {.i32 = 1} };
2320      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2321      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_VERTICAL, &item);
2322      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_VERTICAL);
2323      * auto nodeSwiperVertical = item->value[0].i32;
2324      * @endcode
2325      *
2326      */
2327     NODE_SWIPER_VERTICAL,
2328 
2329     /**
2330      * @brief 设置Swiper子组件切换的动画时长,支持属性设置,属性重置和属性获取接口。
2331      *
2332      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2333      * .value[0].f32:子组件切换的动画时长,单位为毫秒, 默认值为400。 \n
2334      * \n
2335      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2336      * .value[0].f32:子组件切换的动画时长,单位为毫秒, 默认值为400。 \n
2337      *
2338      * @code {.cpp}
2339      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2340      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2341      * ArkUI_NumberValue value[] = { 1000 };
2342      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2343      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_DURATION, &item);
2344      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_DURATION);
2345      * auto nodeSwiperVertical = item->value[0].f32;
2346      * @endcode
2347      *
2348      */
2349     NODE_SWIPER_DURATION,
2350 
2351     /**
2352      * @brief 设置Swiper的动画曲线,支持属性设置,属性重置和属性获取接口。
2353      *
2354      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2355      * .value[0].i32:设置动画曲线参数,参数类型{@link ArkUI_AnimationCurve},默认值为ARKUI_CURVE_LINEAR。 \n
2356      * \n
2357      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2358      * .value[0].i32:设置动画曲线参数,参数类型{@link ArkUI_AnimationCurve},默认值为ARKUI_CURVE_LINEAR。 \n
2359      *
2360      * @code {.cpp}
2361      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2362      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2363      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_CURVE_SHARP} };
2364      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2365      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_CURVE, &item);
2366      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_CURVE);
2367      * auto nodeSwiperVertical = item->value[0].i32;
2368      * @endcode
2369      *
2370      */
2371     NODE_SWIPER_CURVE,
2372 
2373     /**
2374      * @brief 设置Swiper子组件与子组件之间间隙,支持属性设置,属性重置和属性获取接口。
2375      *
2376      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2377      * .value[0].f32:子组件与子组件之间间隙数值。 \n
2378      * \n
2379      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2380      * .value[0].f32:子组件与子组件之间间隙数值。 \n
2381      *
2382      * @code {.cpp}
2383      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2384      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2385      * ArkUI_NumberValue value[] = { 10 };
2386      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2387      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_ITEM_SPACE, &item);
2388      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_ITEM_SPACE);
2389      * auto nodeSwiperVertical = item->value[0].f32;
2390      * @endcode
2391      *
2392      */
2393     NODE_SWIPER_ITEM_SPACE,
2394 
2395     /**
2396      * @brief 设置Swiper当前在容器中显示的子组件的索引值,支持属性设置,属性重置和属性获取接口。
2397      *
2398      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2399      * .value[0].i32:子组件的索引值。 \n
2400      * \n
2401      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2402      * .value[0].i32:子组件的索引值。 \n
2403      *
2404      * @code {.cpp}
2405      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2406      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2407      * ArkUI_NumberValue value[] = { {i32 = 3} };
2408      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2409      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_INDEX, &item);
2410      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_ITEM_SPACE);
2411      * auto nodeSwiperIndex = item->value[0].i32;
2412      * @endcode
2413      *
2414      */
2415     NODE_SWIPER_INDEX,
2416 
2417     /**
2418      * @brief 设置Swiper一页内元素显示个数,支持属性设置,属性重置和属性获取接口。
2419      *
2420      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2421      * .value[0].i32:子组件的索引值。 \n
2422      * \n
2423      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2424      * .value[0].i32:子组件的索引值。 \n
2425      *
2426      * @code {.cpp}
2427      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2428      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2429      * ArkUI_NumberValue value[] = { {i32 = 3} };
2430      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2431      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_DISPLAY_COUNT, &item);
2432      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_ITEM_SPACE);
2433      * auto nodeSwiperDisplayCount = item->value[0].i32;
2434      * @endcode
2435      *
2436      */
2437     NODE_SWIPER_DISPLAY_COUNT,
2438 
2439     /**
2440      * @brief 设置Swiper禁用组件滑动切换功能,支持属性设置,属性重置和属性获取接口。
2441      *
2442      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2443      * .value[0].i32:是否禁用组件滑动切换功能,0表示不禁用滑动切换功能,1表示禁用滑动切换功能,默认值为0。 \n
2444      * \n
2445      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2446      * .value[0].i32:是否禁用组件滑动切换功能,0表示不禁用滑动切换功能,1表示禁用滑动切换功能,默认值为0。 \n
2447      *
2448      * @code {.cpp}
2449      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2450      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2451      * ArkUI_NumberValue value[] = { {.i32 = 1} };
2452      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2453      * basicNodeApi->setAttribute(nodeHandle, NODE_SWIPER_DISABLE_SWIPE, &item);
2454      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_DISABLE_SWIPE);
2455      * auto nodeSwiperDisplayCount = item->value[0].i32;
2456      * @endcode
2457      *
2458      */
2459     NODE_SWIPER_DISABLE_SWIPE,
2460 
2461     /**
2462      * @brief 设置Swiper是否显示导航点箭头,支持属性设置,属性重置和属性获取接口。
2463      *
2464      * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n
2465      * .value[0].i32:设置是否显示导航点箭头,参数类型{@link ArkUI_SwiperDisplayArrow}, \n
2466      * 默认值为ARKUI_SWIPER_ARROW_FALSE。 \n
2467      * \n
2468      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
2469      * .value[0].i32:设置是否显示导航点箭头,参数类型{@link ArkUI_SwiperDisplayArrow}, \n
2470      * 默认值为ARKUI_SWIPER_ARROW_FALSE。 \n
2471      *
2472      * @code {.cpp}
2473      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
2474      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2475      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_SWIPER_ARROW_SHOW_ON_HOVER} };
2476      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2477      * nativeNodeApi->setAttribute(nodeHandle, NODE_SWIPER_SHOW_DISPLAY_ARROW, &item);
2478      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SWIPER_SHOW_DISPLAY_ARROW);
2479      * auto nodeSwiperDisplayCount = item->value[0].i32;
2480      * @endcode
2481      *
2482      */
2483     NODE_SWIPER_SHOW_DISPLAY_ARROW,
2484 
2485     /**
2486      * @brief 多行文本输入框的默认提示文本内容属性,支持属性设置,属性重置和属性获取接口。
2487      *
2488      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2489      * .string:默认提示文本的内容;\n
2490      * \n
2491      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2492      * .string:默认提示文本的内容。\n
2493      *
2494      * @code {.cpp}
2495      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2496      * ArkUI_AttributeItem item = { .string="input" };
2497      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER, &item);
2498      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER);
2499      * auto nodeTextAreaPlaceholder = item->string;
2500      * @endcode
2501      *
2502      */
2503     NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA,
2504     /**
2505      * @brief 多行文本输入框的默认文本内容属性,支持属性设置,属性重置和属性获取接口。
2506      *
2507      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2508      * .string:默认文本的内容;\n
2509      * \n
2510      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2511      * .string:默认文本的内容。\n
2512      *
2513      * @code {.cpp}
2514      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2515      * ArkUI_AttributeItem item = { .string="input" };
2516      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_TEXT, &item);
2517      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_TEXT);
2518      * auto nodeTextAreaText = item->string;
2519      * @endcode
2520      *
2521      */
2522     NODE_TEXT_AREA_TEXT,
2523     /**
2524      * @brief 输入框支持的最大文本数属性,支持属性设置,属性重置和属性获取接口。
2525      *
2526      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2527      * .value[0].i32:最大文本数的数字,无单位;\n
2528      * \n
2529      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2530      * .value[0].i32:最大文本数的数字。\n
2531      *
2532      * @code {.cpp}
2533      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2534      * ArkUI_NumberValue value[] = { { .i32 = 50 } };
2535      * ArkUI_AttributeItem item = { value, 1 };
2536      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_MAX_LENGTH, &item);
2537      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_MAX_LENGTH);
2538      * auto nodeTextAreaMaxlength = item->value[0].i32;
2539      * @endcode
2540      *
2541      */
2542     NODE_TEXT_AREA_MAX_LENGTH,
2543     /**
2544      * @brief 无输入时默认提示文本的颜色属性,支持属性设置,属性重置和属性获取接口。
2545      *
2546      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2547      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
2548      * \n
2549      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2550      * .value[0].u32:颜色数值,0xargb格式。\n
2551      *
2552      * @code {.cpp}
2553      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2554      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
2555      * ArkUI_AttributeItem item = { value, 1 };
2556      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER_COLOR, &item);
2557      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER_COLOR);
2558      * auto nodeTextAreaPlaceholderColor = item->value[0].u32;
2559      * @endcode
2560      *
2561      */
2562     NODE_TEXT_AREA_PLACEHOLDER_COLOR,
2563     /**
2564      * @brief 无输入时默认提示文本的字体配置(包括大小、字重、样式、字体列表)属性,支持属性设置,属性重置和属性获取接口。
2565      *
2566      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2567      * .value[0]?.f32:可选字体大小数值,默认值16.0,单位为fp;\n
2568      * .value[1]?.i32:可选字体样式{@link ArkUI_FontStyle},默认值为ARKUI_FONT_STYLE_NORMAL;\n
2569      * .value[2]?.i32:可选字体粗细样式{@link ArkUI_FontWeight},默认值为ARKUI_FONT_WEIGHT_NORMAL;\n
2570      * ?.string: 字体族内容,多个字体族之间使用逗号分隔,形如“字重;字体族1,字体族2”;\n
2571      * \n
2572      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2573      * .value[0].f32:字体大小数值,单位为fp;\n
2574      * .value[1].i32:字体样式{@link ArkUI_FontStyle};\n
2575      * .value[2].i32:字体粗细样式{@link ArkUI_FontWeight};\n
2576      * .string: 字体族内容,多个字体族之间使用逗号分隔。\n
2577      *
2578      * @code {.cpp}
2579      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2580      * ArkUI_NumberValue value[] = { 16.0, {.i32=ARKUI_FONT_STYLE_NORMAL}, {.i32=ARKUI_FONT_WEIGHT_NORMAL} };
2581      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue), "Arial" };
2582      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER_FONT, &item);
2583      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_PLACEHOLDER_FONT);
2584      * auto nodeTextAreaPlaceholderFontSize = item->value[0].f32;
2585      * auto nodeTextAreaPlaceholderFontStyle = item->value[1].i32;
2586      * auto nodeTextAreaPlaceholderFontWeight = item->value[2].i32;
2587      * auto nodeTextAreaPlaceholderFontFamily = item->string;
2588      * @endcode
2589      *
2590      */
2591     NODE_TEXT_AREA_PLACEHOLDER_FONT,
2592     /**
2593      * @brief 光标颜色属性,支持属性设置,属性重置和属性获取接口。
2594      *
2595      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2596      * .value[0].u32:背景色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
2597      * \n
2598      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2599      * .value[0].u32:背景色数值,0xargb格式。\n
2600      *
2601      * @code {.cpp}
2602      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2603      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
2604      * ArkUI_AttributeItem item = { value, 1 };
2605      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_CARET_COLOR, &item);
2606      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_AREA_CARET_COLOR);
2607      * auto nodeTextAreaCaretColor = item->value[0].u32;
2608      * @endcode
2609      *
2610      */
2611     NODE_TEXT_AREA_CARET_COLOR,
2612     /**
2613      * @brief 控制多行文本输入框编辑态属性,支持属性设置。
2614      *
2615      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2616      * .value[0].i32:false表示退出编辑态,true表示维持现状。
2617      *
2618      * @code {.cpp}
2619      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2620      * ArkUI_NumberValue value[] = { {.i32 = false} };
2621      * ArkUI_AttributeItem item = { value, 1 };
2622      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_AREA_EDITING, &item);
2623      * @endcode
2624      *
2625      */
2626     NODE_TEXT_AREA_EDITING,
2627 
2628     /**
2629      * @brief button按钮的文本内容属性,支持属性设置,属性重置和属性获取接口。
2630      *
2631      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2632      * .string:默认文本的内容;\n
2633      * \n
2634      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2635      * .string:默认文本的内容。\n
2636      *
2637      * @code {.cpp}
2638      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2639      * ArkUI_AttributeItem item = { .string="click" };
2640      * nativeNodeApi->setAttribute(nodeHandle, NODE_BUTTON_LABEL, &item);
2641      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_BUTTON_LABEL);
2642      * auto nodeButtonLabelr = item->string;
2643      * @endcode
2644      *
2645      */
2646     NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON,
2647 
2648     /**
2649      * @brief 进度条的当前进度值属性,支持属性设置,属性重置和属性获取接口。
2650      *
2651      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2652      * .value[0].f32:进度条当前值;\n
2653      * \n
2654      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2655      * .value[0].f32:进度条当前值。\n
2656      *
2657      * @code {.cpp}
2658      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2659      * ArkUI_NumberValue value[] = { 10 };
2660      * ArkUI_AttributeItem item = { value, 1 };
2661      * nativeNodeApi->setAttribute(nodeHandle, NODE_PROGRESS_VALUE, &item);
2662      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_PROGRESS_VALUE);
2663      * auto nodeProgressValue = item->value[0].f32;
2664      * @endcode
2665      *
2666      */
2667     NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS,
2668     /**
2669      * @brief 进度条的总长属性,支持属性设置,属性重置和属性获取接口。
2670      *
2671      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2672      * .value[0].f32:进度条总长;\n
2673      * \n
2674      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2675      * .value[0].f32:进度条总长。\n
2676      *
2677      * @code {.cpp}
2678      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2679      * ArkUI_NumberValue value[] = { 100 };
2680      * ArkUI_AttributeItem item = { value, 1 };
2681      * nativeNodeApi->setAttribute(nodeHandle, NODE_PROGRESS_TOTAL, &item);
2682      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_PROGRESS_TOTAL);
2683      * auto nodeProgressTotal = item->value[0].f32;
2684      * @endcode
2685      *
2686      */
2687     NODE_PROGRESS_TOTAL,
2688     /**
2689      * @brief 进度条显示进度值的颜色属性,支持属性设置,属性重置和属性获取接口。
2690      *
2691      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2692      * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色;\n
2693      * \n
2694      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2695      * .value[0].u32:颜色数值,0xargb格式。\n
2696      *
2697      * @code {.cpp}
2698      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2699      * ArkUI_NumberValue value[] = { {.u32=0xFFFF0000} };
2700      * ArkUI_AttributeItem item = { value, 1 };
2701      * nativeNodeApi->setAttribute(nodeHandle, NODE_PROGRESS_COLOR, &item);
2702      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_PROGRESS_COLOR);
2703      * auto nodeProgressColor = item->value[0].u32;
2704      * @endcode
2705      *
2706      */
2707     NODE_PROGRESS_COLOR,
2708     /**
2709      * @brief 进度条的类型属性,支持属性设置,属性重置和属性获取接口。
2710      *
2711      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2712      * .value[0].i32:进度条类型枚举值{@link ArkUI_ProgressType},默认值为ARKUI_PROGRESS_LINEAR;\n
2713      * \n
2714      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2715      * .value[0].i32:进度条类型枚举值{@link ArkUI_ProgressType}。\n
2716      *
2717      * @code {.c}
2718      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2719      * ArkUI_NumberValue value[] = { {.i32=ARKUI_PROGRESS_LINEAR} };
2720      * ArkUI_AttributeItem item = { value, 1 };
2721      * nativeNodeApi->setAttribute(nodeHandle, NODE_PROGRESS_TYPE, &item);
2722      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_PROGRESS_TYPE);
2723      * auto nodeProgressType = item->value[0].i32;
2724      * @endcode
2725      */
2726     NODE_PROGRESS_TYPE,
2727 
2728     /**
2729      * @brief XComponent组件ID属性,支持属性设置和属性获取接口。
2730      *
2731      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2732      * .string: ID的内容;\n
2733      * \n
2734      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2735      * .string: ID的内容。\n
2736      *
2737      * @code {.cpp}
2738      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2739      * ArkUI_AttributeItem item = { .string = "test" };
2740      * basicNodeApi->setAttribute(nodeHandle, NODE_XCOMPONENT_ID, &item);
2741      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_XCOMPONENT_ID);
2742      * auto nodeXcomponentId = item->string;
2743      * @endcode
2744      *
2745      */
2746     NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT,
2747     /**
2748      * @brief XComponent的类型,支持属性设置,属性重置和属性获取接口。
2749      *
2750      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2751      * .value[0].i32:字体样式{@link ArkUI_XComponentType},默认值为ARKUI_XCOMPONENT_TYPE_SURFACE;\n
2752      * \n
2753      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2754      * .value[0].i32:字体样式{@link ArkUI_XComponentType}。\n
2755      *
2756      * @code {.cpp}
2757      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2758      * ArkUI_NumberValue value[] = { {.i32 = ARKUI_XCOMPONENT_TYPE_SURFACE} };
2759      * ArkUI_AttributeItem item = { value, 1 };
2760      * nativeNodeApi->setAttribute(nodeHandle, NODE_XCOMPONENT_TYPE, &item);
2761      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_XCOMPONENT_TYPE);
2762      * auto nodeXcomponentType = item->value[0].i32;
2763      * @endcode
2764      *
2765      */
2766     NODE_XCOMPONENT_TYPE,
2767     /**
2768      * @brief 设置XComponent的宽高,支持属性设置和获取接口。
2769      *
2770      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
2771      * .value[0].f32:宽数值,单位为vp;\n
2772      * .value[1].f32:高数值,单位为vp;\n
2773      * \n
2774      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
2775      * .value[0].f32:宽数值,单位为vp;\n
2776      * .value[1].f32:高数值,单位为vp;\n
2777      *
2778      * @code {.cpp}
2779      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
2780      * ArkUI_NumberValue value[] = { 300, 50 };
2781      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
2782      * nativeNodeApi->setAttribute(nodeHandle, NODE_XCOMPONENT_SURFACE_SIZE, &item);
2783      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_XCOMPONENT_SURFACE_SIZE);
2784      * auto nodeXcomponentSurfaceWidth = item->value[0].f32;
2785      * auto nodeXcomponentSurfaceHeight = item->value[1].f32;
2786      * @endcode
2787      *
2788      */
2789     NODE_XCOMPONENT_SURFACE_SIZE,
2790 
2791     /**
2792      * @brief 通过{@link setAttribute}方法设置 ListItemGroup 头部组件。
2793      *
2794      * {@link ArkUI_AttributeItem}参数类型:\n
2795      * .object:使用{@link ArkUI_NodeHandle}对象作为ListItemGroup头部组件。
2796      *
2797      * @code {.c}
2798      * auto header = nodeAPI->createNode(ARKUI_NODE_TEXT);
2799      * ARKUI_AttributeItem item = { .object = header };
2800      * basicNodeApi->setAttribute(nodeHandle, NODE_LIST_ITEM_GROUP_SET_HEADER, &item);
2801      * @endcode
2802      */
2803     NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP,
2804     /**
2805      * @brief 通过{@link setAttribute}方法设置 ListItemGroup 尾部组件。
2806      *
2807      * {@link ArkUI_AttributeItem}参数类型:\n
2808      * .object:使用{@link ArkUI_NodeHandle}对象作为ListItemGroup尾部组件。
2809      *
2810      * @code {.c}
2811      * auto footer = nodeAPI->createNode(ARKUI_NODE_TEXT);
2812      * ARKUI_AttributeItem item = { .object = footer };
2813      * basicNodeApi->setAttribute(nodeHandle, NODE_LIST_ITEM_GROUP_SET_FOOTER, &item);
2814      * @endcode
2815      */
2816     NODE_LIST_ITEM_GROUP_SET_FOOTER,
2817     /**
2818      * @brief 通过{@link setAttribute}方法设置ListItem分割线样式,默认无分割线。
2819      *
2820      * {@link ArkUI_AttributeItem}参数类型:\n
2821      * .value[0].i32: 颜色,0xargb类型;\n
2822      * .value[0].f32: 分割线宽,单位vp;\n
2823      * .value[1].f32: 分割线距离列表侧边起始端的距离,单位vp;\n
2824      * .value[2].f32: 分割线距离列表侧边结束端的距离,单位vp。
2825      *
2826      * @code {.c}
2827      * ArkUI_NumberValue value[] = { { .i32 = 0xFFFFFFFF }, 1, 0, 0 };
2828      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2829      * basicNodeApi->setAttribute(nodeHandle, NODE_XCOMPONENT_SURFACE_SIZE, &item);
2830      * @endcode
2831      */
2832     NODE_LIST_ITEM_GROUP_SET_DIVIDER,
2833     /**
2834      * @brief 通过{@link setAttribute}方法设置日期选择器组件的日期是否显示农历。
2835      *
2836      * {@link ArkUI_AttributeItem}参数类型:\n
2837      * .value[0].i32: 是否显示农历,默认值false。
2838      *
2839      * @code {.c}
2840      * ArkUI_NumberValue value[] = { { .i32 = true } };
2841      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2842      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_LUNAR, &item);
2843      * @endcode
2844      */
2845     NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER,
2846     /**
2847      * @brief 通过{@link setAttribute}方法设置日期选择器组件选择器的起始日期。
2848      *
2849      * {@link ArkUI_AttributeItem}参数类型:\n
2850      * .string: 日期,默认值"1970-1-1"。
2851      *
2852      * @code {.c}
2853      * ARKUI_AttributeItem item = { .string = "1970-1-1" };
2854      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_START, &item);
2855      * @endcode
2856      */
2857     NODE_DATE_PICKER_START,
2858     /**
2859      * @brief 通过{@link setAttribute}方法设置日期选择器组件选择器的结束日期。
2860      *
2861      * {@link ArkUI_AttributeItem}参数类型:\n
2862      * .string: 日期,默认值"2100-12-31"。
2863      *
2864      * @code {.c}
2865      * ARKUI_AttributeItem item = { .string = "2100-12-31" };
2866      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_END, &item);
2867      * @endcode
2868      */
2869     NODE_DATE_PICKER_END,
2870     /**
2871      * @brief 通过{@link setAttribute}方法设置日期选择器组件选中项的日期。
2872      *
2873      * {@link ArkUI_AttributeItem}参数类型:\n
2874      * .string: 日期,默认值"2024-01-22"。
2875      *
2876      * @code {.c}
2877      * ARKUI_AttributeItem item = { .string = "2024-01-22" };
2878      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_SELECTED, &item);
2879      * @endcode
2880      */
2881     NODE_DATE_PICKER_SELECTED,
2882     /**
2883      * @brief 通过{@link setAttribute}方法设置日期选择器组件的所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。
2884      *
2885      * {@link ArkUI_AttributeItem}参数类型:\n
2886      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
2887      *       入参1: 文本颜色,#argb类型\n
2888      *       入参2: 文本大小,数字类型,单位fp\n
2889      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
2890      *       入参4: 文本字体列表,使用 ',' 进行分割\n
2891      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
2892      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
2893      * @code {.c}
2894      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
2895      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, &item);
2896      * @endcode
2897      */
2898     NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE,
2899     /**
2900      * @brief 通过{@link
2901      * setAttribute}方法设置日期选择器组件的所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。
2902      *
2903      * {@link ArkUI_AttributeItem}参数类型:\n
2904      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
2905      *       入参1: 文本颜色,#argb类型\n
2906      *       入参2: 文本大小,数字类型,单位fp\n
2907      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
2908      *       入参4: 文本字体列表,使用 ',' 进行分割\n
2909      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
2910      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
2911      * @code {.c}
2912      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
2913      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_TEXT_STYLE, &item);
2914      * @endcode
2915      */
2916     NODE_DATE_PICKER_TEXT_STYLE,
2917     /**
2918      * @brief 通过{@link setAttribute}方法设置日期选择器组件的选中项的文本颜色、字号、字体粗细。
2919      *
2920      * {@link ArkUI_AttributeItem}参数类型:\n
2921      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
2922      *       入参1: 文本颜色,#argb类型\n
2923      *       入参2: 文本大小,数字类型,单位fp\n
2924      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
2925      *       入参4: 文本字体列表,使用 ',' 进行分割\n
2926      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
2927      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
2928      * @code {.c}
2929      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
2930      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_SELECTED_TEXT_STYLE, &item);
2931      * @endcode
2932      */
2933     NODE_DATE_PICKER_SELECTED_TEXT_STYLE,
2934     /**
2935      * @brief 通过{@link setAttribute}方法设置时间选择组件选中项的时间。
2936      *
2937      * {@link ArkUI_AttributeItem}参数类型:\n
2938      * .string: 时间,默认值当前系统时间。
2939      *
2940      * @code {.c}
2941      * ARKUI_AttributeItem item = { .string = "17-11" };
2942      * basicNodeApi->setAttribute(nodeHandle, NODE_TIME_PICKER_SELECTED, &item);
2943      * @endcode
2944      */
2945 
2946     NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER,
2947     /**
2948      * @brief 通过{@link setAttribute}方法设置时间选择组件展示时间是否为24小时制。
2949      *
2950      * {@link ArkUI_AttributeItem}参数类型:\n
2951      * .value[0].i32: 是否为24小时制,默认值false。
2952      *
2953      * @code {.c}
2954      * ArkUI_NumberValue value[] = { { .i32 = true } };
2955      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
2956      * basicNodeApi->setAttribute(nodeHandle, NODE_TIME_PICKER_USE_MILITARY_TIME, &item);
2957      * @endcode
2958      */
2959     NODE_TIME_PICKER_USE_MILITARY_TIME,
2960     /**
2961      * @brief 通过{@link setAttribute}方法设置时间选择组件所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。
2962      *
2963      * {@link ArkUI_AttributeItem}参数类型:\n
2964      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
2965      *       入参1: 文本颜色,#argb类型\n
2966      *       入参2: 文本大小,数字类型,单位fp\n
2967      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
2968      *       入参4: 文本字体列表,使用 ',' 进行分割\n
2969      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
2970      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
2971      * @code {.c}
2972      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
2973      * basicNodeApi->setAttribute(nodeHandle, NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, &item);
2974      * @endcode
2975      */
2976     NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE,
2977     /**
2978      * @brief 通过{@link
2979      * setAttribute}方法设置时间选择组件所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。
2980      *
2981      * {@link ArkUI_AttributeItem}参数类型:\n
2982      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
2983      *       入参1: 文本颜色,#argb类型\n
2984      *       入参2: 文本大小,数字类型,单位fp\n
2985      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
2986      *       入参4: 文本字体列表,使用 ',' 进行分割\n
2987      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
2988      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
2989      * @code {.c}
2990      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
2991      * basicNodeApi->setAttribute(nodeHandle, NODE_TIME_PICKER_TEXT_STYLE, &item);
2992      * @endcode
2993      */
2994     NODE_TIME_PICKER_TEXT_STYLE,
2995     /**
2996      * @brief 通过{@link setAttribute}方法设置时间选择组件选中项的文本颜色、字号、字体粗细。
2997      *
2998      * {@link ArkUI_AttributeItem}参数类型:\n
2999      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
3000      *       入参1: 文本颜色,#argb类型\n
3001      *       入参2: 文本大小,数字类型,单位fp\n
3002      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
3003      *       入参4: 文本字体列表,使用 ',' 进行分割\n
3004      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
3005      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
3006      * @code {.c}
3007      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
3008      * basicNodeApi->setAttribute(nodeHandle, NODE_TIME_PICKER_SELECTED_TEXT_STYLE, &item);
3009      * @endcode
3010      */
3011     NODE_TIME_PICKER_SELECTED_TEXT_STYLE,
3012 
3013     /**
3014      * @brief 滑动选择文本选择器的选择列表, 支持属性设置和属性获取接口。
3015      *
3016      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3017      * .value[0].i32:使用的选择器类型{@link ArkUI_TextPickerRangeType},默认值为ARKUI_TEXTPICKER_RANGETYPE_SINGLE;\n
3018      * ?.string:针对不同选择器类型有如下输入范式:\n
3019      * 1:单列选择器,入参格式为用分号分隔的一组字符串;\n
3020      * 2:多列选择器,支持多对纯文本字符串对,多对之间使用分号分隔,每对内部使用逗号分隔;\n
3021      * ?.object:针对不同选择器类型有如下输入范式:\n
3022      * 1:单列支持图片的选择器,输入结构体为{@link ARKUI_TextPickerRangeContent};\n
3023      * 2:多列联动选择器,输入结构体为{@link ARKUI_TextPickerCascadeRangeContent};\n
3024      * \n
3025      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3026      * .value[0].i32:使用的选择器类型{@link ArkUI_TextPickerRangeType};\n
3027      * ?.string:针对不同选择器类型有如下输出范式:\n
3028      * 1:单列选择器,输出格式为用分号分隔的一组字符串;\n
3029      * 2:多列选择器,输出多对纯文本字符串对,多对之间使用分号分隔,每对内部使用逗号分隔;\n
3030      * ?.object:针对不同选择器类型有如下输出范式:\n
3031      * 1:单列支持图片的选择器,输出结构体为{@link ARKUI_TextPickerRangeContent};\n
3032      * 2:多列联动选择器,输出结构体为{@link ARKUI_TextPickerCascadeRangeContent};\n
3033      *
3034      * @code {.cpp}
3035      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3036      * ArkUI_NumberValue value[] = { {.i32=ARKUI_TEXTPICKER_RANGETYPE_MULTI} };
3037      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue), "1,2,3;A,B,C" };
3038      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_RANGE, &item);
3039      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_RANGE);
3040      * auto nodeTextPickerRangeType = item->value[0].i32;
3041      * auto nodeTextPickerMultiRange = item->string;
3042      * @endcode
3043      *
3044      */
3045     NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER,
3046     /**
3047      * @brief 滑动选择文本内容的组件默认选中项在数组中的索引值,支持属性设置和属性获取接口。
3048      *
3049      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3050      * .value[0].u32:索引值,如存在多个索引值则逐个添加;\n
3051      * \n
3052      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3053      * .value[0].u32:索引值,如存在多个索引值则逐个添加;\n
3054      *
3055      * @code {.cpp}
3056      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3057      * ArkUI_NumberValue value[] = { {.u32 = 1}, {.u32 = 2} };
3058      * ArkUI_AttributeItem item = { value, sizeof(value)/sizeof(ArkUI_NumberValue) };
3059      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_SELECTED, &item);
3060      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_SELECTED);
3061      * auto nodeTextPickerSelected = item->value[0].u32;
3062      * @endcode
3063      *
3064      */
3065     NODE_TEXT_PICKER_OPTION_SELECTED,
3066     /**
3067      * @brief 滑动选择文本内容的组件默认选中项的值,支持属性设置和属性获取接口。
3068      *
3069      * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n
3070      * .string:选中项的值,如存在多个值则逐个添加,用分号分隔;\n
3071      * \n
3072      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3073      * .string:选中项的值,如存在多个值则逐个添加,用分号分隔;\n
3074      *
3075      * @code {.cpp}
3076      * ArkUI_NativeNodeAPI_1* nativeNodeApi - reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3077      * ArkUI_AttributeItem item = { .string = "A;B" };
3078      * nativeNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_VALUE, &item);
3079      * auto item = nativeNodeApi=>getAttribute(nodeHandle, NODE_TEXT_PICKER_OPTION_VALUE);
3080      * auto nodeTextPickerValue = item->string;
3081      * @endcode
3082      *
3083      */
3084     NODE_TEXT_PICKER_OPTION_VALUE,
3085     /**
3086      * @brief 通过{@link
3087      * setAttribute}方法设置滑动选择文本内容的组件所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。
3088      *
3089      * {@link ArkUI_AttributeItem}参数类型:\n
3090      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
3091      *       入参1: 文本颜色,#argb类型\n
3092      *       入参2: 文本大小,数字类型,单位fp\n
3093      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
3094      *       入参4: 文本字体列表,使用 ',' 进行分割\n
3095      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
3096      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
3097      * @code {.c}
3098      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
3099      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, &item);
3100      * @endcode
3101      */
3102     NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE,
3103     /**
3104      * @brief 通过{@link
3105      * setAttribute}方法设置滑动选择文本内容的组件所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。
3106      *
3107      * {@link ArkUI_AttributeItem}参数类型:\n
3108      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
3109      *       入参1: 文本颜色,#argb类型\n
3110      *       入参2: 文本大小,数字类型,单位fp\n
3111      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
3112      *       入参4: 文本字体列表,使用 ',' 进行分割\n
3113      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
3114      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
3115      * @code {.c}
3116      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
3117      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_TEXT_STYLE, &item);
3118      * @endcode
3119      */
3120     NODE_TEXT_PICKER_TEXT_STYLE,
3121     /**
3122      * @brief 通过{@link setAttribute}方法设置滑动选择文本内容的组件选中项的文本颜色、字号、字体粗细。
3123      *
3124      * {@link ArkUI_AttributeItem}参数类型:\n
3125      * .string: 入参5个,格式为字符串,以 ';' 分割:\n
3126      *       入参1: 文本颜色,#argb类型\n
3127      *       入参2: 文本大小,数字类型,单位fp\n
3128      *       入参3: 文本粗细,字符串枚举("bold", "normal", "bolder", "lighter", "medium", "regular")\n
3129      *       入参4: 文本字体列表,使用 ',' 进行分割\n
3130      *       入参5: 文本样式,字符串枚举("normal", "italic")\n
3131      *       如 "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" 。
3132      * @code {.c}
3133      * ARKUI_AttributeItem item = { .string = "#ff182431;14;normal;Arial,HarmonyOS Sans;normal" };
3134      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, &item);
3135      * @endcode
3136      */
3137     NODE_TEXT_PICKER_SELECTED_TEXT_STYLE,
3138     /**
3139      * @brief 通过{@link setAttribute}方法设置滑动选择文本内容的组件默认选中项在数组中的索引值,优先级高于 options
3140      * 中的选中值。
3141      *
3142      * {@link ArkUI_AttributeItem}参数类型:\n
3143      * .value[0...].i32:默认选中项在数组中的索引值数组,优先级高于options中的选中值。
3144      *
3145      * @note 入参索引列表,数字类型数组,格式字符串,以空格分割,如 "0 1" 。
3146      * @code {.c}
3147      * ArkUI_NumberValue value[] = { { .i32 = 0 }, { .i32 = 1 } };
3148      * ARKUI_AttributeItem item = { value, sizeof(value) / sizeof(ArkUI_NumberValue) };
3149      * basicNodeApi->setAttribute(nodeHandle, NODE_TEXT_PICKER_SELECTED_INDEX, &item);
3150      * @endcode
3151      */
3152     NODE_TEXT_PICKER_SELECTED_INDEX,
3153 
3154     /**
3155      * @brief Slider滑块的颜色,支持属性设置,属性重置和属性获取。
3156      *
3157      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3158      * .value[0].u32:滑块的颜色, 类型为0xargb,如0xFF1122FF。
3159      * \n
3160      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3161      * .value[0].u32:滑块的颜色, 类型为0xargb,如0xFF1122FF。
3162      *
3163      * @code {.c}
3164      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3165      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3166      * ArkUI_NumberValue value[] = { { .u32 = 0xFF1122FF } };
3167      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3168      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_BLOCK_COLOR, &item);
3169      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_BLOCK_COLOR);
3170      * auto value = item->value[0].u32;
3171      * @endcode
3172      *
3173      */
3174     NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER,
3175 
3176     /**
3177      * @brief Slider滑轨的背景颜色,支持属性设置,属性重置和属性获取。
3178      *
3179      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3180      * .value[0].u32:背景颜色, 类型为0xargb,如0xFF1122FF。
3181      * \n
3182      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3183      * .value[0].u32:背景颜色, 类型为0xargb,如0xFF1122FF。
3184      *
3185      * @code {.c}
3186      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3187      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3188      * ArkUI_NumberValue value[] = { { .u32 = 0xFF1122FF } };
3189      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3190      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_TRACK_COLOR, &item);
3191      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_TRACK_COLOR);
3192      * auto value = item->value[0].u32;
3193      * @endcode
3194      *
3195      */
3196     NODE_SLIDER_TRACK_COLOR,
3197 
3198     /**
3199      * @brief Slider滑轨的已滑动部分颜色,支持属性设置,属性重置和属性获取。
3200      *
3201      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3202      * .value[0].u32:已滑动部分颜色, 类型为0xargb,如0xFF1122FF。
3203      * \n
3204      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3205      * .value[0].u32:已滑动部分颜色, 类型为0xargb,如0xFF1122FF。
3206      *
3207      * @code {.c}
3208      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3209      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3210      * ArkUI_NumberValue value[] = { { .u32 = 0xFF1122FF } };
3211      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3212      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_SELECTED_COLOR, &item);
3213      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_SELECTED_COLOR);
3214      * auto value = item->value[0].u32;
3215      * @endcode
3216      *
3217      */
3218     NODE_SLIDER_SELECTED_COLOR,
3219 
3220     /**
3221      * @brief Slider滑动时是否显示气泡提示,支持属性设置,属性重置和属性获取。
3222      *
3223      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3224      * .value[0].i32:是否显示气泡,1表示显示,0表示不显示,默认值为0。
3225      * .string? 可选值,气泡提示的文本内容,默认显示当前百分比字符串。
3226      * \n
3227      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n
3228      * .value[0].i32:是否显示气泡,1表示显示,0表示不显示,默认值为0。
3229      * .string? 可选值,气泡提示的文本内容,默认显示当前百分比字符串。
3230      *
3231      * @code {.c}
3232      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3233      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3234      * ArkUI_NumberValue value[] = { { .i32 = 1 } };
3235      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue), "test"};
3236      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_SHOW_TIPS, &item);
3237      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_SELECTED_COLOR);
3238      * auto value = item->value[0].i32;
3239      * @endcode
3240      *
3241      */
3242     NODE_SLIDER_SHOW_TIPS,
3243 
3244     /**
3245      * @brief Slider滑块形状参数,支持属性设置,属性重置和属性获取。
3246      *
3247      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3248      * .value[0].i32:形状参数。参数类型{@link ArkUI_SliderBlockStyle}。
3249      * .string? 可选值,根据形状参数而定。
3250      * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: 滑块图片资源。如/pages/common/icon.png3251      * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: 滑块使用的自定义形状。
3252      * "rect(10,10,10,10)"括号内分别为width、height、radiusWidth与radiusHeight"; \n
3253      * "circle(10,10)"括号内分别为width、height; \n
3254      * "ellipse(10,10)"括号内分别为width、height; \n
3255      * "path(10,10,M0 0 L600 0)"括号内分别为width、height、commands; \n
3256      * \n
3257      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3258      * .value[0].i32:形状参数。参数类型{@link ArkUI_SliderBlockStyle}。
3259      * .string? 可选值,根据形状参数而定。
3260      * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: 滑块图片资源。如/pages/common/icon.png3261      * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: 滑块使用的自定义形状。
3262      * "rect(10,10,10,10)"括号内分别为width、height、radiusWidth与radiusHeight"; \n
3263      * "circle(10,10)"括号内分别为width、height; \n
3264      * "ellipse(10,10)"括号内分别为width、height; \n
3265      * "path(10,10,M0 0 L600 0)"括号内分别为width、height、commands; \n
3266      *
3267      * @code {.c}
3268      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3269      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3270      * ArkUI_NumberValue value[] = {{.i32 = ARKUI_SLIDER_BLOCK_STYLE_DEFAULT}};
3271      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3272      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_BLOCK_STYLE, &item);
3273      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_BLOCK_STYLE);
3274      * auto value = item->value[0].i32;
3275      * @endcode
3276      *
3277      */
3278     NODE_SLIDER_BLOCK_STYLE,
3279 
3280     /**
3281      * @brief slider进度值,支持属性设置,属性重置和属性获取。
3282      *
3283      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3284      * .value[0].f32:进度值。
3285      * \n
3286      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3287      * .value[0].f32:进度值。
3288      *
3289      * @code {.c}
3290      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3291      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3292      * ArkUI_NumberValue value[] = { 0 };
3293      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3294      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_VALUE, &item);
3295      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_VALUE);
3296      * auto value = item->value[0].f32;
3297      * @endcode
3298      *
3299      */
3300     NODE_SLIDER_VALUE,
3301 
3302     /**
3303      * @brief slider最小值,支持属性设置,属性重置和属性获取。
3304      *
3305      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3306      * .value[0].f32:进度值的最小值。
3307      * \n
3308      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3309      * .value[0].f32:进度值的最小值。
3310      *
3311      * @code {.c}
3312      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3313      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3314      * ArkUI_NumberValue value[] = { 0 };
3315      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3316      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_MIN_VALUE, &item);
3317      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_MIN_VALUE);
3318      * auto value = item->value[0].f32;
3319      * @endcode
3320      *
3321      */
3322     NODE_SLIDER_MIN_VALUE,
3323 
3324     /**
3325      * @brief slider最大值,支持属性设置,属性重置和属性获取。
3326      *
3327      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3328      * .value[0].f32:进度值的最大值。
3329      * \n
3330      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3331      * .value[0].f32:进度值的最大值。
3332      *
3333      * @code {.c}
3334      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3335      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3336      * ArkUI_NumberValue value[] = { 100 };
3337      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3338      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_MAX_VALUE, &item);
3339      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_MIN_VALUE);
3340      * auto value = item->value[0].f32;
3341      * @endcode
3342      *
3343      */
3344     NODE_SLIDER_MAX_VALUE,
3345 
3346     /**
3347      * @brief Slider滑动步长,支持属性设置,属性重置和属性获取。
3348      *
3349      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3350      * .value[0].f32:滑动步长,取值范围:[0.01, 100]。
3351      * \n
3352      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3353      * .value[0].f32:滑动步长,取值范围:[0.01, 100]。
3354      *
3355      * @code {.c}
3356      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3357      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3358      * ArkUI_NumberValue value[] = { 100 };
3359      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3360      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_STEP, &item);
3361      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_STEP);
3362      * auto value = item->value[0].f32;
3363      * @endcode
3364      *
3365      */
3366     NODE_SLIDER_STEP,
3367 
3368     /**
3369      * @brief Slider滑动条滑动方向,支持属性设置,属性重置和属性获取。
3370      *
3371      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3372      * .value[0].i32:显示样式,参数类型{@link ArkUI_SliderDirection}。
3373      * \n
3374      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3375      * .value[0].i32:显示样式,参数类型{@link ArkUI_SliderDirection}。
3376      *
3377      * @code {.c}
3378      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3379      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3380      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_SLIDER_DIRECTION_VERTICAL } };
3381      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3382      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_DIRECTION, &item);
3383      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_DIRECTION);
3384      * auto value = item->value[0].i32;
3385      * @endcode
3386      *
3387      */
3388     NODE_SLIDER_DIRECTION,
3389 
3390     /**
3391      * @brief Slider滑动条取值范围是否反向,支持属性设置,属性重置和属性获取。
3392      *
3393      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3394      * .value[0].i32:是否反向,1表示反向,0表示不反向。
3395      * \n
3396      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3397      * .value[0].i32:是否反向,1表示反向,0表示不反向。
3398      *
3399      * @code {.c}
3400      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3401      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3402      * ArkUI_NumberValue value[] = { {.i32 = 0} };
3403      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3404      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_REVERSE, &item);
3405      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_REVERSE);
3406      * auto value = item->value[0].i32;
3407      * @endcode
3408      *
3409      */
3410     NODE_SLIDER_REVERSE,
3411 
3412     /**
3413      * @brief Slider的滑块与滑轨显示样式,支持属性设置,属性重置和属性获取。
3414      *
3415      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3416      * .value[0].i32:显示样式,参数类型{@link ArkUI_SliderStyle}。
3417      * \n
3418      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3419      * .value[0].i32:显示样式,参数类型{@link ArkUI_SliderStyle}。
3420      *
3421      * @code {.c}
3422      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3423      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3424      * ArkUI_NumberValue value[] = { { .i32 = ARKUI_SLIDER_STYLE_OUT_SET } };
3425      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3426      * nativeNodeApi->setAttribute(nodeHandle, NODE_SLIDER_STYLE, &item);
3427      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_SLIDER_STYLE);
3428      * auto value = item->value[0].i32;
3429      * @endcode
3430      *
3431      */
3432     NODE_SLIDER_STYLE,
3433 
3434     /**
3435      * @brief CheckBox多选框是否选中,支持属性设置,属性重置和属性获取。
3436      *
3437      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3438      * .value[0].i32:1表示选中,0表示不选中。
3439      * \n
3440      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3441      * .value[0].i32:1表示选中,0表示不选中。
3442      *
3443      * @code {.c}
3444      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3445      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3446      * ArkUI_NumberValue value[] = { { .i32 = 0 } };
3447      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3448      * nativeNodeApi->setAttribute(nodeHandle, NODE_CHECKBOX_SELECT, &item);
3449      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CHECKBOX_SELECT);
3450      * auto value = item->value[0].i32;
3451      * @endcode
3452      *
3453      */
3454     NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX,
3455 
3456     /**
3457      * @brief CheckBox多选框选中状态颜色,支持属性设置,属性重置和属性获取。
3458      *
3459      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3460      * .value[0].u32:多选框选中状态颜色, 类型为0xargb,如0xFF1122FF。
3461      * \n
3462      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3463       * .value[0].u32:多选框选中状态颜色, 类型为0xargb,如0xFF1122FF。
3464      *
3465      * @code {.c}
3466      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3467      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3468      * ArkUI_NumberValue value[] = { { .u32 = 0xFF1122FF } };
3469      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3470      * basicNodeApi->setAttribute(nodeHandle, NODE_CHECKBOX_SELECT_COLOR, &item);
3471      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CHECKBOX_SELECT_COLOR);
3472      * auto value = item->value[0].u32;
3473      * @endcode
3474      *
3475      */
3476     NODE_CHECKBOX_SELECT_COLOR,
3477 
3478     /**
3479      * @brief CheckBox多选框非选中状态边框颜色,支持属性设置,属性重置和属性获取。
3480      *
3481      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3482      * .value[0].u32:边框颜色, 类型为0xargb,如0xFF1122FF
3483      * \n
3484      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3485      * .value[0].u32:边框颜色, 类型为0xargb,如0xFF1122FF
3486      *
3487      * @code {.c}
3488      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3489      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3490      * ArkUI_NumberValue value[] = { { .u32 = 0xFF1122FF } };
3491      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3492      * nativeNodeApi->setAttribute(nodeHandle, NODE_CHECKBOX_UNSELECT_COLOR, &item);
3493      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CHECKBOX_UNSELECT_COLOR);
3494      * auto value = item->value[0].u32;
3495      * @endcode
3496      *
3497      */
3498     NODE_CHECKBOX_UNSELECT_COLOR,
3499 
3500     /**
3501      * @brief CheckBox多选框内部图标样式,支持属性设置,属性重置和属性获取。
3502      *
3503      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3504      * .value[0].i32:边框颜色, 类型为0xargb,如0xFF1122FF
3505      * .value[1]?.f32:可选,内部图标大小,单位vp。
3506      * .value[2]?.f32:可选,内部图标粗细,单位vp,默认值2。
3507      * \n
3508      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3509      * .value[0].u32:边框颜色, 类型为0xargb,如0xFF1122FF
3510      * .value[1]?.f32:可选,内部图标大小,单位vp。
3511      * .value[2]?.f32:可选,内部图标粗细,单位vp,默认值2。
3512      *
3513      * @code {.c}
3514      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3515      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3516      * ArkUI_NumberValue value[] = { { .i32 = 0xFF1122FF }, 20.0f, 2.0f };
3517      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3518      * nativeNodeApi->setAttribute(nodeHandle, NODE_CHECKBOX_MARK, &item);
3519      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CHECKBOX_MARK);
3520      * auto value = item->value[0].i32;
3521      * @endcode
3522      *
3523      */
3524     NODE_CHECKBOX_MARK,
3525 
3526     /**
3527      * @brief CheckBox组件形状, 支持属性设置,属性重置和属性获取。
3528      *
3529      * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n
3530      * .value[0].i32:组件形状,参数类型{@link ArkUI_CheckboxShape}。
3531      * \n
3532      * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n
3533      * .value[0].i32:组件形状,参数类型{@link ArkUI_CheckboxShape}。
3534      *
3535      * @code {.c}
3536      * ArkUI_NativeNodeAPI_1* nativeNodeApi =
3537      * reinterpret_cast<ArkUI_NativeNodeAPI_1*>(OH_ArkUI_GetNativeAPI(ARKUI_NATIVE_NODE, 1));
3538      * ArkUI_NumberValue value[] = { { .i32 = ArkUI_CHECKBOX_SHAPE_CIRCLE } };
3539      * ArkUI_AttributeItem item = {value, sizeof(value)/sizeof(ArkUI_NumberValue)};
3540      * nativeNodeApi->setAttribute(nodeHandle, NODE_CHECKBOX_SHAPE, &item);
3541      * auto item = nativeNodeApi->getAttribute(nodeHandle, NODE_CHECKBOX_SHAPE);
3542      * auto value = item->value[0].i32;
3543      * @endcode
3544      *
3545      */
3546     NODE_CHECKBOX_SHAPE,
3547 
3548 } ArkUI_NodeAttributeType;
3549 
3550 #define MAX_COMPONENT_EVENT_ARG_NUM 12
3551 /**
3552  * @brief 定义组件回调事件的参数类型。
3553  *
3554  * @since 12
3555  */
3556 typedef struct {
3557     /** 数据数组对象。*/
3558     ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM];
3559 } ArkUI_NodeComponentEvent;
3560 
3561 /**
3562  * @brief 定义组件回调事件使用字符串参数的类型。
3563  *
3564  * @since 12
3565  */
3566 typedef struct {
3567     /** 字符串数据。*/
3568     const char* pStr;
3569 } ArkUI_StringAsyncEvent;
3570 
3571 /**
3572  * @brief 提供NativeNode组件支持的事件类型定义。
3573  *
3574  * @since 12
3575  */
3576 typedef enum {
3577     /**
3578      * @brief 手势事件类型。
3579      *
3580      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_TouchEvent}。
3581      */
3582     NODE_TOUCH_EVENT = 0,
3583 
3584     /**
3585      * @brief 挂载事件。
3586      *
3587      * 触发该事件的条件 :组件挂载显示时触发此回调。\n
3588      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3589      * {@link ArkUI_NodeComponentEvent}中不包含参数。
3590      */
3591     NODE_EVENT_ON_APPEAR,
3592 
3593     /**
3594      * @brief 组件区域变化事件
3595      *
3596      * 触发该事件的条件 :组件区域变化时触发该回调。\n
3597      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3598      * @note <b>::ArkUI_NodeComponentEvent</b>中包含12个参数\n
3599      * <b>ArkUI_NodeComponent.data[0].f32</b>表示 old Area 目标元素的宽度,类型为number,单位vp。\n
3600      * <b>ArkUI_NodeComponent.data[1].f32</b>表示 old Area 目标元素的高度,类型为number,单位vp。\n
3601      * <b>ArkUI_NodeComponent.data[2].f32</b>表示 old Area
3602      * 目标元素左上角相对父元素左上角的位置的x轴坐标,类型为number,单位vp。\n
3603      * <b>ArkUI_NodeComponent.data[3].f32</b>表示 old Area
3604      * 目标元素左上角相对父元素左上角的位置的y轴坐标,类型为number,单位vp。\n
3605      * <b>ArkUI_NodeComponent.data[4].f32</b>表示 old Area
3606      * 目标元素目标元素左上角相对页面左上角的位置的x轴坐标,类型为number,单位vp。\n
3607      * <b>ArkUI_NodeComponent.data[5].f32</b>表示 old Area
3608      * 目标元素目标元素左上角相对页面左上角的位置的y轴坐标,类型为number,单位vp。\n
3609      * <b>ArkUI_NodeComponent.data[6].f32</b>表示 new Area 目标元素的宽度,类型为number,单位vp。\n
3610      * <b>ArkUI_NodeComponent.data[7].f32</b>表示 new Area 目标元素的高度,类型为number,单位vp。\n
3611      * <b>ArkUI_NodeComponent.data[8].f32</b>表示 new Area
3612      * 目标元素左上角相对父元素左上角的位置的x轴坐标,类型为number,单位vp。\n
3613      * <b>ArkUI_NodeComponent.data[9].f32</b>表示 new Area
3614      * 目标元素左上角相对父元素左上角的位置的y轴坐标,类型为number,单位vp。\n
3615      * <b>ArkUI_NodeComponent.data[10].f32</b>表示 new Area
3616      * 目标元素目标元素左上角相对页面左上角的位置的x轴坐标,类型为number,单位vp。\n
3617      * <b>ArkUI_NodeComponent.data[11].f32</b>表示 new Area
3618      * 目标元素目标元素左上角相对页面左上角的位置的y轴坐标,类型为number,单位vp。\n
3619      */
3620     NODE_EVENT_ON_ON_AREA_CHANGE,
3621     NODE_ON_FOCUS,
3622     NODE_ON_BLUR,
3623     NODE_ON_CLICK,
3624 
3625     NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE,
3626 
3627     NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT,
3628     NODE_TEXT_INPUT_ON_SUBMIT,
3629     NODE_TEXT_INPUT_ON_CUT,
3630     NODE_TEXT_INPUT_ON_PASTE,
3631 
3632     /**
3633      * @brief 定义ARKUI_NODE_SCROLL滚动组件的滚动事件枚举值。
3634      *
3635      * 触发该事件的条件 :\n
3636      * 1、滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。\n
3637      * 2、通过滚动控制器API接口调用。\n
3638      * 3、越界回弹。\n
3639      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3640      * <b>::ArkUI_NodeComponentEvent</b>中包含2个参数\n
3641      * <b>ArkUI_NodeComponent.data[0].f32</b>表示距离上一次事件触发的X轴增量。\n
3642      * <b>ArkUI_NodeComponent.data[1].f32</b>表示距离上一次事件触发的Y轴增量。\n
3643      */
3644     NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL,
3645     /**
3646      * @brief 定义ARKUI_NODE_SCROLL滚动组件的滚动帧始事件枚举值
3647      *
3648      * 触发该事件的条件 :\n
3649      * 1、滚动组件触发滚动时触发,包括键鼠操作等其他触发滚动的输入设置。\n
3650      * 2、调用控制器接口时不触发。\n
3651      * 3、越界回弹不触发。\n
3652      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3653      * <b>::ArkUI_NodeComponentEvent</b>中包含2个参数\n
3654      * <b>ArkUI_NodeComponent.data[0].f32</b>表示即将发生的滚动量。\n
3655      * <b>ArkUI_NodeComponent.data[1].i32</b>表示当前滚动状态。\n
3656      * <b>::ArkUI_NodeComponentEvent</b>中包含1个返回值\n
3657      * <b>ArkUI_NodeComponent.data[0].f32</b>事件处理函数中可根据应用场景计算实际需要的滚动量并存于data[0].f32中,Scroll将按照返回值的实际滚动量进行滚动\n
3658      */
3659     NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN,
3660     /**
3661      * @brief 定义ARKUI_NODE_SCROLL滚动组件的滚动开始事件枚举值。
3662      *
3663      * 触发该事件的条件 :\n
3664      * 1、滚动组件开始滚动时触发,支持键鼠操作等其他触发滚动的输入设置。\n
3665      * 2、通过滚动控制器API接口调用后开始,带过渡动效。\n
3666      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3667      * <b>::ArkUI_NodeComponentEvent</b>中不包含参数。\n
3668      */
3669     NODE_SCROLL_EVENT_ON_SCROLL_START,
3670     /**
3671      * @brief 定义ARKUI_NODE_SCROLL滚动组件的滚动停止事件枚举值。
3672      *
3673      * 触发该事件的条件 :\n
3674      * 1、滚动组件触发滚动后停止,支持键鼠操作等其他触发滚动的输入设置。\n
3675      * 2、通过滚动控制器API接口调用后停止,带过渡动效。\n
3676      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3677      * <b>::ArkUI_NodeComponentEvent</b>中不包含参数。\n
3678      */
3679     NODE_SCROLL_EVENT_ON_SCROLL_STOP,
3680     /**
3681      * @brief 定义ARKUI_NODE_SCROLL滚动组件的滚动边缘事件枚举值。
3682      *
3683      * 触发该事件的条件 :\n
3684      * 1、滚动组件滚动到边缘时触发,支持键鼠操作等其他触发滚动的输入设置。\n
3685      * 2、通过滚动控制器API接口调用。\n
3686      * 3、越界回弹。\n
3687      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3688      * <b>::ArkUI_NodeComponentEvent</b>中包含1个参数。\n
3689      * <b>ArkUI_NodeComponent.data[0].i32</b>表示当前碰到的是上下左右哪个边。\n
3690      */
3691     NODE_SCROLL_EVENT_ON_SCROLL_EDGE,
3692 
3693     NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA,
3694 
3695     NODE_REFRESH_STATE_CHANGE = 1000 * ARKUI_NODE_REFRESH + 1,
3696     NODE_REFRESH_ON_REFRESH,
3697 
3698     /**
3699      * @brief 定义ARKUI_NODE_DATE_PICKER 列表组件的滚动触摸事件枚举值。
3700      *
3701      * 触发该事件的条件 :选择日期时触发该事件。\n
3702      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3703      * <b>::ArkUI_NodeComponentEvent</b>中包含3个参数。\n
3704      * <b>ArkUI_NodeComponent.data[0].i32</b>表示 选中时间的年。\n
3705      * <b>ArkUI_NodeComponent.data[1].i32</b>表示 选中时间的月,取值范围:[0-11]。\n
3706      * <b>ArkUI_NodeComponent.data[2].i32</b>表示 选中时间的天。\n
3707      */
3708     NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER,
3709 
3710     /**
3711      * @brief 定义ARKUI_NODE_TIME_PICKER 列表组件的滚动触摸事件枚举值。
3712      *
3713      * 触发该事件的条件 :选择时间时触发该事件。\n
3714      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3715      * <b>::ArkUI_NodeComponentEvent</b>中包含2个参数。\n
3716      * <b>ArkUI_NodeComponent.data[0].i32</b>表示 选中时间的时,取值范围:[0-23]。\n
3717      * <b>ArkUI_NodeComponent.data[1].i32</b>表示 选中时间的分,取值范围:[0-59]。\n
3718      */
3719     NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER,
3720 
3721     /**
3722      * @brief 定义ARKUI_NODE_TEXT_PICKER 列表组件的滚动触摸事件枚举值。
3723      *
3724      * 触发该事件的条件 :选择时间时触发该事件。\n
3725      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3726      * <b>::ArkUI_NodeComponentEvent</b>中包含2个参数。\n
3727      * <b>ArkUI_NodeComponent.data[0].i32</b>表示 选中时间的时,取值范围:[0-23]。\n
3728      * <b>ArkUI_NodeComponent.data[1].i32</b>表示 选中时间的分,取值范围:[0-59]。\n
3729      */
3730     NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER,
3731 
3732     /**
3733      * @brief 定义ARKUI_NODE_CHECKBOX当选中状态发生变化时,触发该回调。
3734      *
3735      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3736      * <b>ArkUI_NodeComponent.data[0].i32</b>1:表示已选中, 0: 表示未选中\n
3737      */
3738     NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX,
3739     /**
3740      * @brief 定义ARKUI_NODE_SLIDER拖动或点击时触发事件回调。
3741      *
3742      * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
3743      * <b>ArkUI_NodeComponent.data[0].f32</b>当前滑动进度值。\n
3744      * <b>ArkUI_NodeComponent.data[1].i32</b>事件触发的相关状态值\n
3745      */
3746     NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER,
3747 
3748 } ArkUI_NodeEventType;
3749 
3750 /**
3751  * @brief 定义组件事件的通用结构类型。
3752  *
3753  * @since 12
3754  */
3755 typedef struct {
3756     /**
3757      * @brief 事件类型。
3758      *
3759      * @see ArkUI_NodeEventType
3760      */
3761     int32_t kind;
3762 
3763     /**
3764      * @brief 事件自定义标识ID。
3765      *
3766      * 该事件id在调用{@link registerNodeEvent}函数时作为参数传递进来,可应用于同一事件入口函数{@link
3767      * registerNodeEventReceiver}分发逻辑。
3768      */
3769     int32_t eventId;
3770 
3771     /** 触发该组件的组件对象。*/
3772     ArkUI_NodeHandle node;
3773     union {
3774         /** touch事件类型回调参数。*/
3775         ArkUI_NodeTouchEvent touchEvent;
3776         /** 通用组件事件使用数字类型回调参数。*/
3777         ArkUI_NodeComponentEvent componentEvent;
3778         /** 通用组件事件使用字符串类型回调参数。*/
3779         ArkUI_StringAsyncEvent stringEvent;
3780     };
3781 } ArkUI_NodeEvent;
3782 
3783 /**
3784  * @brief 自定义组件调用<b>::markDirty</b>是传递的藏区标识类型。
3785  *
3786  * @since 12
3787  */
3788 typedef enum {
3789     /**
3790      * @brief 重新测算大小。
3791      *
3792      * 该flag类型触发时,同时也默认会触发重新布局。
3793      */
3794     NODE_NEED_MEASURE = 1,
3795 
3796     /** 重新布局位置。*/
3797     NODE_NEED_LAYOUT,
3798     /** 重新进行绘制。*/
3799     NODE_NEED_RENDER,
3800 } ArkUI_NodeDirtyFlag;
3801 
3802 /**
3803  * @brief ArkUI提供的Native侧Node类型接口集合。
3804  *
3805  * @version 1
3806  * @since 12
3807  */
3808 typedef struct {
3809     /** 结构体版本。 */
3810     int32_t version;
3811 
3812     /**
3813      * @brief 基于{@link ArkUI_NodeType}生成对应的组件并返回组件对象指针。
3814      *
3815      * @param type 创建指定类型的UI组件节点。
3816      * @return 返回创建完成的组件操作指针,如果创建失败返回NULL。
3817      */
3818     ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type);
3819 
3820     /**
3821      * @brief 销毁组件指针指向的组件对象。
3822      *
3823      * @param node 组件指针对象。
3824      */
3825     void (*disposeNode)(ArkUI_NodeHandle node);
3826 
3827     /**
3828      * @brief 将组件挂载到某个父节点之下。
3829      *
3830      * @param parent 父节点指针。
3831      * @param child 子节点指针。
3832      */
3833     void (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child);
3834 
3835     /**
3836      * @brief 将组件从父节点中移除。
3837      *
3838      * @param parent 父节点指针。
3839      * @param child 子节点指针。
3840      */
3841     void (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child);
3842 
3843     /**
3844      * @brief 将组件挂载到某个父节点之下,挂载位置在<b>sibling</b>节点之后。
3845      *
3846      * @param parent 父节点指针。
3847      * @param child 子节点指针。
3848      * @param sibling 前一个兄弟节点指针,如果为空则插入位置在最前面。
3849      */
3850     void (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling);
3851 
3852     /**
3853      * @brief 将组件挂载到某个父节点之下,挂载位置在<b>sibling</b>节点之前。
3854      *
3855      * @param parent 父节点指针。
3856      * @param child 子节点指针。
3857      * @param sibling 后一个兄弟节点指针,如果为空则插入位置在最后面。
3858      */
3859     void (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling);
3860 
3861     /**
3862      * @brief 将组件挂载到某个父节点之下,挂载位置由<b>position</b>指定。
3863      *
3864      * @param parent 父节点指针。
3865      * @param child 子节点指针。
3866      * @param postion 插入位置,如果插入位置为负数或者不存在,则默认插入位置在最后面。
3867      */
3868     void (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position);
3869 
3870     /**
3871      * @brief 属性设置函数。
3872      *
3873      * @param node 需要设置属性的节点对象。
3874      * @param attribute 需要设置的属性类型。
3875      * @param item 需要设置的属性值。
3876      * @return 0 - 成功。
3877      *         401 - 函数参数异常。
3878      *         106101 - 系统中未找到Native接口的动态实现库。
3879      */
3880     int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item);
3881 
3882     /**
3883      * @brief 属性获取函数。
3884      *
3885      * 该接口返回的指针是ArkUI框架内部的缓冲区指针,不需要开发者主动调用delete释放内存,但是需要在该函数下一次被调用前使用,否则可能会被其他值所覆盖。
3886      *
3887      * @param node 需要获取属性的节点对象。
3888      * @param attribute 需要获取的属性类型。
3889      * @return 当前属性类型的属性值,失败返回空指针。
3890      */
3891     const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute);
3892 
3893     /**
3894      * @brief 重置属性函数。
3895      *
3896      * @param node 需要重置属性的节点对象。
3897      * @param attribute 需要重置的属性类型。
3898      */
3899     void (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute);
3900 
3901     /**
3902      * @brief 注册节点事件函数。
3903      *
3904      * @param node 需要注册事件的节点对象。
3905      * @param eventType 需要注册的事件类型。
3906      * @param eventId 自定义事件ID,当事件触发时在回调参数<@link ArkUI_NodeEvent>中携带回来。
3907      * @return 0 - 成功。
3908      *         401 - 函数参数异常。
3909      *         106101 - 系统中未找到Native接口的动态实现库。
3910      */
3911     int32_t (*registerNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, int32_t eventId);
3912 
3913     /**
3914      * @brief 反注册节点事件函数。
3915      *
3916      * @param node 需要反注册事件的节点对象。
3917      * @param eventType 需要反注册的事件类型。
3918      */
3919     void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType);
3920 
3921     /**
3922      * @brief 注册事件回调统一入口函数。
3923      *
3924      * ArkUI框架会统一收集过程中产生的组件事件并通过注册的eventReceiver函数回调给开发者。\n
3925      * 重复调用时会覆盖前一次注册的函数。
3926      *
3927      * @param eventReceiver 事件回调统一入口函数。
3928      */
3929     void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event));
3930 
3931     /**
3932      * @brief 反注册事件回调统一入口函数。
3933      *
3934      */
3935     void (*unregisterNodeEventReceiver)();
3936 
3937     /**
3938      * @brief 强制标记当前节点需要重新测算,布局或者绘制。
3939      *
3940      * 系统属性设置更新场景下ArkUI框架会自动标记藏区并重新执行测算,布局或者绘制,不需要开发者主动调用该函数。
3941      *
3942      * @param node 需要标记藏区的节点对象。
3943      * @param dirtyFlag 藏区类型。
3944      */
3945     void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag);
3946 } ArkUI_NativeNodeAPI_1;
3947 
3948 #ifdef __cplusplus
3949 };
3950 #endif
3951 
3952 #endif // ARKUI_NATIVE_NODE_H
3953 /** @}*/
3954