• 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 #ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_INTERFACES_ARKOALA_API_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_INTERFACES_ARKOALA_API_H
18 
19 #include <cstdint>
20 #include <stddef.h>
21 
22 /*
23  * ATTENTION. Keep this file self contained.
24  * Make sure it has all necessary type declarations.
25  * Do not include anything to this header file.
26  */
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #define ARKUI_FULL_API_VERSION 138
33 // When changing ARKUI_BASIC_API_VERSION, ARKUI_FULL_API_VERSION must be
34 // increased as well.
35 #define ARKUI_NODE_API_VERSION 138
36 
37 #define ARKUI_BASIC_API_VERSION 8
38 #define ARKUI_EXTENDED_API_VERSION 8
39 #define ARKUI_NODE_GRAPHICS_API_VERSION 5
40 #define ARKUI_NODE_MODIFIERS_API_VERSION 7
41 #define ARKUI_AUTO_GENERATE_NODE_ID (-2)
42 #define ARKUI_MAX_ANCHOR_ID_SIZE 50
43 enum ArkUIAPIVariantKind {
44     BASIC = 1,
45     FULL = 2,
46     GRAPHICS = 3,
47     EXTENDED = 4,
48     COUNT = EXTENDED + 1,
49 };
50 
51 typedef enum {
52     ARKUI_NODE_FLAG_TS = 0,
53     ARKUI_NODE_FLAG_C = 1,
54 } ArkUINodeFlag;
55 
56 typedef enum {
57     FOCUS_MOVE_FORWARD = 0,
58     FOCUS_MOVE_BACKWARD,
59     FOCUS_MOVE_UP,
60     FOCUS_MOVE_DOWN,
61     FOCUS_MOVE_LEFT,
62     FOCUS_MOVE_RIGHT,
63 } FocusMove;
64 
65 typedef int ArkUI_Bool;
66 typedef std::int16_t ArkUI_Int16;
67 typedef int ArkUI_Int32;
68 typedef unsigned int ArkUI_Uint32;
69 typedef long long ArkUI_Int64;
70 typedef float ArkUI_Float32;
71 typedef double ArkUI_Float64;
72 typedef char* ArkUI_CommonCharPtr;
73 typedef const char* ArkUI_CharPtr;
74 typedef unsigned long long ArkUI_Uint64;
75 typedef void (*ActionFuncPtr)(void*);
76 
77 // Several opaque struct declarations.
78 struct _ArkUIVMContext;
79 struct _ArkUIPipelineContext;
80 struct _ArkUIVMObject;
81 struct _ArkUINode;
82 struct _ArkUICanvas;
83 struct _ArkUIPaint;
84 struct _ArkUIFont;
85 struct _ArkUIXComponentController;
86 struct _ArkUINodeAdapter;
87 struct _ArkUINodeContent;
88 struct ArkUI_SystemFontStyleEvent;
89 struct ArkUI_WaterFlowSectionOption;
90 struct ArkUI_ListItemSwipeActionOption;
91 struct ArkUI_ListItemSwipeActionItem;
92 struct ArkUI_ListChildrenMainSize;
93 struct ArkUI_StyledString_Descriptor;
94 struct _ArkUIRSNode;
95 struct _ArkUI_OEMVisualEffectFunc;
96 struct ArkUI_TextPickerRangeContentArray;
97 struct ArkUI_TextCascadePickerRangeContentArray;
98 
99 typedef _ArkUINode* ArkUINodeHandle;
100 typedef _ArkUIVMContext* ArkUIVMContext;
101 typedef _ArkUIPipelineContext* ArkUIPipelineContext;
102 typedef _ArkUIVMObject* ArkUIVMObject;
103 typedef _ArkUICanvas* ArkUICanvasHandle;
104 typedef _ArkUIPaint* ArkUIPaintHandle;
105 typedef _ArkUIFont* ArkUIFontHandle;
106 typedef _ArkUIXComponentController* ArkUIXComponentControllerHandle;
107 typedef _ArkUINodeAdapter* ArkUINodeAdapterHandle;
108 typedef _ArkUINodeContent* ArkUINodeContentHandle;
109 typedef _ArkUIRSNode* ArkUIRSNodeHandle;
110 typedef _ArkUI_OEMVisualEffectFunc* ArkUIOEMVisualEffectFuncHandle;
111 
112 struct RangeContent {
113     ArkUI_CharPtr icon;
114     ArkUI_CharPtr text;
115 };
116 
117 struct ArkUI_TextPickerRangeContentArray {
118     RangeContent* rangeContent;
119     int32_t rangeContentArraySize;
120 };
121 struct ArkUI_TextCascadePickerRangeContentArray {
122     ArkUI_CharPtr text;
123     ArkUI_Int32 rangeContentArraySize;
124     ArkUI_TextCascadePickerRangeContentArray* children;
125 };
126 struct ArkUICanvasArcOptions {
127     ArkUI_Float32 x;
128     ArkUI_Float32 y;
129     ArkUI_Float32 radius;
130     ArkUI_Float32 startAngle;
131     ArkUI_Float32 endAngle;
132     ArkUI_Bool counterclockwise;
133 };
134 typedef ArkUI_WaterFlowSectionOption* ArkUIWaterFlowSectionOption;
135 typedef ArkUI_ListItemSwipeActionOption* ArkUIListItemSwipeActionOptionHandle;
136 typedef ArkUI_ListItemSwipeActionItem* ArkUIListItemSwipeActionItemHandle;
137 typedef ArkUI_ListChildrenMainSize* ArkUIListChildrenMainSize;
138 
139 typedef ArkUI_TextPickerRangeContentArray* ArkUITextPickerRangeContentArray;
140 typedef ArkUI_TextCascadePickerRangeContentArray* ArkUITextCascadePickerRangeContentArray;
141 struct _ArkUICurve;
142 typedef _ArkUICurve* ArkUICurveHandle;
143 
144 struct ArkUIRect {
145     ArkUI_Float32 x;
146     ArkUI_Float32 y;
147     ArkUI_Float32 width;
148     ArkUI_Float32 height;
149 };
150 
151 typedef union {
152     /** Floating-point type. */
153     ArkUI_Float32 f32;
154     /** Signed integer. */
155     ArkUI_Int32 i32;
156     /** Unsigned integer. */
157     ArkUI_Uint32 u32;
158 } ArkUINumberValue;
159 
160 struct ArkUIAttributeItem {
161     /** Numeric array. */
162     const ArkUINumberValue* value;
163     /** Size of the numeric array. */
164     ArkUI_Int32 size;
165     /** String type. */
166     const char* string;
167     /** Object type. */
168     void* object;
169 };
170 
171 struct ArkUICornerRadius {
172     ArkUI_Float32 topLeft;
173     ArkUI_Float32 topRight;
174     ArkUI_Float32 bottomLeft;
175     ArkUI_Float32 bottomRight;
176 };
177 
178 struct ArkUIBorderWidth {
179     ArkUI_Float32 top;
180     ArkUI_Float32 right;
181     ArkUI_Float32 bottom;
182     ArkUI_Float32 left;
183 };
184 
185 struct ArkUIBorderColor {
186     ArkUI_Uint32 top;
187     ArkUI_Uint32 right;
188     ArkUI_Uint32 bottom;
189     ArkUI_Uint32 left;
190 };
191 
192 struct ArkUIBorderStyle {
193     ArkUI_Int32 top;
194     ArkUI_Int32 right;
195     ArkUI_Int32 bottom;
196     ArkUI_Int32 left;
197 };
198 
199 typedef struct _ArkUIDialog* ArkUIDialogHandle;
200 
201 struct ArkUITouchPoint {
202     ArkUI_Int32 id;
203     ArkUI_Int64 pressedTime;
204     ArkUI_Float32 screenX;
205     ArkUI_Float32 screenY;
206     ArkUI_Float32 windowX;
207     ArkUI_Float32 windowY;
208     ArkUI_Float32 nodeX;
209     ArkUI_Float32 nodeY;
210     ArkUI_Float64 pressure;
211     ArkUI_Float32 contactAreaWidth;
212     ArkUI_Float32 contactAreaHeight;
213     ArkUI_Float64 tiltX;
214     ArkUI_Float64 tiltY;
215     ArkUI_Float32 rollAngle;
216     ArkUI_Float32 toolX;
217     ArkUI_Float32 toolY;
218     ArkUI_Float32 toolWidth;
219     ArkUI_Float32 toolHeight;
220     ArkUI_Float32 rawX;
221     ArkUI_Float32 rawY;
222     ArkUI_Int32 toolType;
223     ArkUI_Int32 operatingHand;
224 };
225 
226 struct ArkUIOffsetType {
227     ArkUI_Float32 xComponent;
228     ArkUI_Float32 yComponent;
229 };
230 
231 struct ArkUIEventTarget {
232     ArkUI_CharPtr id;
233     ArkUI_CharPtr type;
234     ArkUIRect area;
235     ArkUIOffsetType origin;
236 };
237 
238 /**
239  * @brief 定义手势事件类型。
240  *
241  * @since 12
242  */
243 typedef enum {
244     /** 手势事件触发。 */
245     ARKUI_GESTURE_EVENT_ACTION_ACCEPT = 0x01,
246 
247     /** 手势事件更新。 */
248     ARKUI_GESTURE_EVENT_ACTION_UPDATE = 0x02,
249 
250     /** 手势事件结束。 */
251     ARKUI_GESTURE_EVENT_ACTION_END = 0x04,
252 
253     /** 手势事件取消。 */
254     ARKUI_GESTURE_EVENT_ACTION_CANCEL = 0x08,
255 } ArkUIGestureEventActionType;
256 
257 struct ArkUIHistoryTouchEvent {
258     ArkUI_Int32 action;
259     ArkUI_Int32 sourceType;
260     ArkUI_Int64 timeStamp;
261     ArkUITouchPoint actionTouchPoint;
262     ArkUITouchPoint* touchPointes;
263     ArkUI_Uint32 touchPointSize;
264 };
265 
266 struct ArkUITouchEvent {
267     ArkUI_Int32 action;
268     /** Time stamp of the current event. */
269     ArkUI_Int64 timeStamp;
270     ArkUITouchPoint actionTouchPoint;
271     ArkUITouchPoint* touchPointes;
272     ArkUI_Uint32 touchPointSize;
273     ArkUIHistoryTouchEvent* historyEvents;
274     ArkUI_Uint32 historySize;
275     ArkUI_Int32 sourceType;
276     ArkUIEventTarget target;
277     ArkUI_Float32 targetPositionX;
278     ArkUI_Float32 targetPositionY;
279     ArkUI_Float32 targetGlobalPositionX;
280     ArkUI_Float32 targetGlobalPositionY;
281     ArkUI_Float32 width;
282     ArkUI_Float32 height;
283     ArkUI_Int64 deviceId;
284     ArkUI_Uint64 modifierKeyState;
285 
286     /**
287      * @brief Prevents events from bubbling further to the parent node for processing.
288      *
289      */
290     bool stopPropagation;
291 
292     /**
293      * @brief Blocks the current node's default event handling behavior, allowing events
294      * to bubble up further.
295      *
296      */
297     bool preventDefault;
298 
299     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
300     ArkUI_Int32 interceptResult;
301     ArkUI_Int32 changedPointerId;
302     ArkUI_Int32 targetDisplayId;
303     void* rawPointerEvent;
304     ArkUI_Float64 rollAngle;
305 };
306 
307 struct ArkUIMouseEvent {
308     ArkUI_Int32 action;
309     ArkUI_Int32 button;
310     ArkUI_Int64 timeStamp;
311     ArkUITouchPoint actionTouchPoint;
312     ArkUI_Int32 subKind;
313     ArkUI_Int32 sourceType;
314     ArkUI_Int32 interceptResult;
315     ArkUI_Float32 rawDeltaX;
316     ArkUI_Float32 rawDeltaY;
317     ArkUI_Int32* pressedButtons;
318     ArkUI_Int32 pressedButtonsLength;
319     ArkUI_Int32 targetDisplayId;
320     ArkUI_Float32 targetPositionX;
321     ArkUI_Float32 targetPositionY;
322     ArkUI_Float32 targetGlobalPositionX;
323     ArkUI_Float32 targetGlobalPositionY;
324     ArkUI_Float32 width;
325     ArkUI_Float32 height;
326     ArkUI_Int64 deviceId;
327     ArkUI_Uint64 modifierKeyState;
328     /**
329      * @brief Prevents events from bubbling further to the parent node for processing.
330      *
331      */
332     bool stopPropagation;
333 };
334 
335 struct ArkUIAxisEvent {
336     ArkUI_Int32 action;
337     ArkUI_Int64 timeStamp;
338     ArkUITouchPoint actionTouchPoint;
339     ArkUI_Int32 sourceType;
340     ArkUI_Float64 horizontalAxis;
341     ArkUI_Float64 verticalAxis;
342     ArkUI_Float64 pinchAxisScale;
343     ArkUI_Int32 targetDisplayId;
344     ArkUI_Int32 subKind;
345     bool propagation;
346     ArkUI_Int32 scrollStep;
347     ArkUI_Float32 targetPositionX;
348     ArkUI_Float32 targetPositionY;
349     ArkUI_Float32 targetGlobalPositionX;
350     ArkUI_Float32 targetGlobalPositionY;
351     ArkUI_Float32 width;
352     ArkUI_Float32 height;
353     ArkUI_Uint64 modifierKeyState;
354     ArkUI_Int64 deviceId;
355 };
356 
357 struct ArkUIDragEvent {
358     void* unifiedData;
359     void* unifiedDataSummary;
360     bool isSuitGetData;
361     ArkUI_Int32 dragResult;
362     ArkUI_Float64 touchPointX;
363     ArkUI_Float64 touchPointY;
364     ArkUI_Float64 previewRectWidth;
365     ArkUI_Float64 previewRectHeight;
366     ArkUI_Float64 velocityX;
367     ArkUI_Float64 velocityY;
368     ArkUI_Float64 velocity;
369     ArkUI_Float64 windowX;
370     ArkUI_Float64 windowY;
371     ArkUI_Float64 displayX;
372     ArkUI_Float64 displayY;
373     ArkUI_Float64 screenX;
374     ArkUI_Float64 screenY;
375     ArkUI_Uint64 modifierKeyState;
376     ArkUI_Int32 dragBehavior;
377     bool useCustomDropAnimation;
378     ArkUI_Int32 subKind;
379     ArkUI_Int32 preDragStatus;
380     ArkUI_Int32 dataTypesCount;
381     ArkUI_CharPtr* dataTypes;
382     ArkUI_Int32 dataTypesMaxStrLength;
383     ArkUI_CharPtr key;
384     ArkUI_Int32 requestId;
385     bool isDragEndPending;
386 };
387 
388 struct ArkUIFocusAxisEvent {
389     ArkUI_Float64 absXValue;
390     ArkUI_Float64 absYValue;
391     ArkUI_Float64 absZValue;
392     ArkUI_Float64 absRzValue;
393     ArkUI_Float64 absHat0XValue;
394     ArkUI_Float64 absHat0YValue;
395     ArkUI_Float64 absBrakeValue;
396     ArkUI_Float64 absGasValue;
397     ArkUI_Float64 tiltX;
398     ArkUI_Float64 tiltY;
399     ArkUI_Float64 pressure;
400     ArkUI_Int32 toolType;
401     ArkUI_Int64 timeStamp;
402     ArkUI_Int32 subKind;
403     ArkUI_Int32 sourceType;
404     ArkUI_Int64 deviceId;
405     ArkUI_Int32* pressedKeyCodes;
406     ArkUI_Int32 keyCodesLength;
407     ArkUI_Int32 targetDisplayId;
408     bool stopPropagation;
409     ArkUI_Float32 targetPositionX;
410     ArkUI_Float32 targetPositionY;
411     ArkUI_Float32 targetGlobalPositionX;
412     ArkUI_Float32 targetGlobalPositionY;
413     ArkUI_Float32 width;
414     ArkUI_Float32 height;
415     ArkUI_Uint64 modifierKeyState;
416 };
417 
418 struct ArkUIStringAndFloat {
419     ArkUI_Float32 value;
420     ArkUI_CharPtr valueStr;
421 };
422 
423 struct ArkUIResourceColorType {
424     ArkUI_Uint32 number;
425     ArkUI_CharPtr string;
426 };
427 
428 struct ArkUIIconsStruct {
429     ArkUI_CharPtr ShowIconInfo;
430     ArkUI_CharPtr HiddenIconInfo;
431     ArkUI_CharPtr SwitchingIconInfo;
432 };
433 
434 struct ArkUIIconOptionsStruct {
435     ArkUI_Float32 value;
436     ArkUI_Int32 unit;
437     ArkUI_Int32 color;
438     ArkUI_CharPtr src;
439 };
440 
441 struct ArkUIFontStruct {
442     ArkUI_Float32 fontSizeNumber;
443     ArkUI_Int32 fontSizeUnit;
444     ArkUI_Int32 fontWeight;
445     ArkUI_Int32 fontStyle;
446     ArkUI_CharPtr* fontFamilies;
447     ArkUI_Uint32 familyLength;
448 };
449 
450 struct ArkUIFontWithOptionsStruct {
451     ArkUI_Float32 fontSizeNumber;
452     ArkUI_Int32 fontSizeUnit;
453     ArkUI_Int32 fontWeight;
454     ArkUI_Int32 fontStyle;
455     ArkUI_CharPtr* fontFamilies;
456     ArkUI_Uint32 familyLength;
457     ArkUI_Int32 variableFontWeight;
458     ArkUI_Bool enableVariableFontWeight;
459 };
460 
461 struct ArkUIFontWeightWithOptionsStruct {
462     ArkUI_CharPtr weight;
463     ArkUI_Int32 variableFontWeight;
464     ArkUI_Bool enableVariableFontWeight;
465 };
466 
467 struct ArkUISearchButtonOptionsStruct {
468     ArkUI_CharPtr value;
469     ArkUI_Float32 sizeValue;
470     ArkUI_Int32 sizeUnit;
471     ArkUI_Int32 fontColor;
472     ArkUI_Bool autoDisable;
473 };
474 
475 struct ArkUISizeType {
476     ArkUI_Float32 value;
477     ArkUI_Int32 unit;
478     ArkUI_CharPtr string;
479 };
480 
481 struct ArkUIPaddingType {
482     struct ArkUISizeType top;
483     struct ArkUISizeType end;
484     struct ArkUISizeType bottom;
485     struct ArkUISizeType start;
486 };
487 
488 struct ArkUITextShadowStruct {
489     ArkUI_Float32 radius;
490     ArkUI_Uint32 type;
491     ArkUI_Uint32 color;
492     ArkUI_Float32 offsetX;
493     ArkUI_Float32 offsetY;
494     ArkUI_Uint32 fill;
495 };
496 
497 struct ArkUITextDetectConfigStruct {
498     ArkUI_CharPtr types;
499     void* onResult;
500     ArkUI_Uint32 entityColor;
501     ArkUI_Int32 entityDecorationType;
502     ArkUI_Uint32 entityDecorationColor;
503     ArkUI_Int32 entityDecorationStyle;
504 };
505 
506 struct ArkUIImagePropertiesStruct {
507     ArkUI_CharPtr src;
508     ArkUI_Float32 number[4];
509     ArkUI_Int32 unit[4];
510     char* calc[4];
511     ArkUI_Int32 duration;
512 };
513 
514 struct ArkUILengthType {
515     ArkUI_CharPtr string;
516     ArkUI_Float32 number;
517     ArkUI_Int32 unit;
518 };
519 
520 struct ArkUIResourceLength {
521     ArkUI_Float32 value;
522     ArkUI_Int32 unit;
523     ArkUI_CharPtr string;
524 };
525 struct ArkUIPasswordIconType {
526     ArkUI_CharPtr showResult;
527     ArkUI_CharPtr showBundleName;
528     ArkUI_CharPtr showModuleName;
529     ArkUI_CharPtr hideResult;
530     ArkUI_CharPtr hideBundleName;
531     ArkUI_CharPtr hideModuleName;
532 };
533 
534 struct ArkUIPlaceholderFontType {
535     const struct ArkUILengthType* size;
536     ArkUI_CharPtr weight;
537     ArkUI_CharPtr* fontFamilies;
538     ArkUI_Uint32 length;
539     ArkUI_Int32 style;
540     ArkUI_Int32 weightEnum;
541 };
542 
543 struct ArkUIProgressStyle {
544     ArkUI_Float32 strokeWidthValue;
545     ArkUI_Int32 strokeWidthUnit;
546     ArkUI_Float32 borderWidthValue;
547     ArkUI_Int32 borderWidthUnit;
548     ArkUI_Int32 scaleCount;
549     ArkUI_Int32 status;
550     ArkUI_Float32 scaleWidthValue;
551     ArkUI_Int32 scaleWidthUnit;
552     ArkUI_Float32 strokeRadiusValue;
553     ArkUI_Int32 strokeRadiusUnit;
554     ArkUI_Bool enableSmoothEffect;
555     ArkUI_Uint32 borderColor;
556     ArkUI_CharPtr content;
557     ArkUI_Uint32 fontColor;
558     ArkUI_Bool enableScanEffect;
559     ArkUI_Bool shadow;
560     ArkUI_Bool showDefaultPercentage;
561     ArkUIFontStruct fontInfo;
562     ArkUI_Float32 borderRadiusValue;
563     ArkUI_Int32 borderRadiusUnit;
564 };
565 
566 struct ArkUIGradientType {
567     const ArkUI_Uint32* color;
568     const ArkUILengthType* offset;
569     const ArkUI_Float32* weight;
570     const ArkUI_Uint32* gradientLength;
571     ArkUI_Uint32 length;
572     ArkUI_Uint32 type;
573 };
574 
575 struct ArkUIDimensionType {
576     ArkUI_Float32 value;
577     ArkUI_Int32 units;
578 };
579 
580 struct ArkUIOptionalDimensionType {
581     ArkUI_Int32 isSet;
582     ArkUIDimensionType dimension;
583 };
584 
585 struct ArkUIChainAnimationOptionsType {
586     ArkUI_Float32 minSpace;
587     ArkUI_Float32 maxSpace;
588     ArkUI_Float32 conductivity;
589     ArkUI_Float32 intensity;
590     ArkUI_Float32 stiffness;
591     ArkUI_Float32 damping;
592     ArkUI_Int32 edgeEffect;
593     ArkUI_Int32 minSpaceUnits;
594     ArkUI_Int32 maxSpaceUnits;
595 };
596 
597 struct ArkUIClipShapeOptions {
598     ArkUI_Int32 type;
599     ArkUI_Float32 width;
600     ArkUI_Float32 height;
601     ArkUI_Float32 radiusWidth;
602     ArkUI_Float32 radiusHeight;
603     ArkUI_Float32 topLeftRadius;
604     ArkUI_Float32 bottomLeftRadius;
605     ArkUI_Float32 topRightRadius;
606     ArkUI_Float32 bottomRightRadius;
607     ArkUI_CharPtr commands;
608 };
609 
610 struct ArkUIPositionOptions {
611     ArkUI_Float32 x;
612     ArkUI_Float32 y;
613 };
614 
615 struct ArkUICustomShadowOptions {
616     ArkUI_Float32 radius;
617     ArkUI_Float32 offsetX;
618     ArkUI_Float32 offsetY;
619     ArkUI_Int32 shadowType;
620     ArkUI_Uint32 color;
621     ArkUI_Int32 colorStrategy;
622     ArkUI_Int32 fill;
623 };
624 
625 struct ArkUIMaskOptions {
626     ArkUI_Uint32 fill;
627     ArkUI_Uint32 strokeColor;
628     ArkUI_Float32 strokeWidth;
629     ArkUI_Int32 type;
630     ArkUI_Float32 width;
631     ArkUI_Float32 height;
632     ArkUI_Float32 radiusWidth;
633     ArkUI_Float32 radiusHeight;
634     ArkUI_CharPtr commands;
635     ArkUI_Uint32 color;
636     ArkUI_Float32 value;
637     ArkUI_Float32 maxValue;
638     ArkUI_Float32 topLeftRadius;
639     ArkUI_Float32 bottomLeftRadius;
640     ArkUI_Float32 topRightRadius;
641     ArkUI_Float32 bottomRightRadius;
642 };
643 
644 struct ArkUIConstraintSizeOptions {
645     ArkUI_Float32 minWidth;
646     ArkUI_Float32 maxWidth;
647     ArkUI_Float32 minHeight;
648     ArkUI_Float32 maxHeight;
649 };
650 
651 struct ArkUIGeometryTransitionOptions {
652     ArkUI_Bool follow;
653     ArkUI_Int32 hierarchyStrategy;
654 };
655 
656 struct ArkUIBindTipsOptionsTime {
657     ArkUI_Float32 appearingTime;
658     ArkUI_Float32 disappearingTime;
659     ArkUI_Float32 appearingTimeWithContinuousOperation;
660     ArkUI_Float32 disappearingTimeWithContinuousOperation;
661 };
662 
663 struct ArkUIBindTipsOptionsArrow {
664     ArkUI_Bool enableArrow;
665     ArkUI_CharPtr arrowPointPosition;
666     ArkUI_Float64 arrowWidthValue;
667     ArkUI_Int32 arrowWidthUnit;
668     ArkUI_Float64 arrowHeightValue;
669     ArkUI_Int32 arrowHeightUnit;
670 };
671 
672 struct ArkUIFlexOptions {
673     ArkUI_Int32 direction;
674     ArkUI_Int32 wrap;
675     ArkUI_Int32 justifyContent;
676     ArkUI_Int32 alignItems;
677     ArkUI_Int32 alignContent;
678 };
679 
680 struct ArkUIAnimationOptionType {
681     ArkUI_Int32 duration;
682     ArkUI_Int32 curve;
683     ArkUI_Int32 delay;
684     ArkUI_Int32 iteration;
685     ArkUI_Int32 playMode;
686     ArkUI_Float32 tempo;
687 };
688 
689 struct ArkUITransformCenterType {
690     ArkUI_Float32 centerX;
691     ArkUI_Float32 centerY;
692     ArkUI_Float32 centerZ;
693 };
694 
695 struct ArkUIOpacityTransitionType {
696     ArkUI_Float32 opacity;
697     ArkUIAnimationOptionType animation;
698 };
699 
700 struct ArkUIRotateTransitionType {
701     ArkUI_Float32 xRotation;
702     ArkUI_Float32 yRotation;
703     ArkUI_Float32 zRotation;
704     ArkUI_Float32 angle;
705     ArkUI_Float32 perspective;
706     ArkUIAnimationOptionType animation;
707 };
708 
709 struct ArkUIScaleTransitionType {
710     ArkUI_Float32 xScale;
711     ArkUI_Float32 yScale;
712     ArkUI_Float32 zScale;
713     ArkUIAnimationOptionType animation;
714 };
715 
716 struct ArkUITranslateTransitionType {
717     ArkUI_Float32 xTransition;
718     ArkUI_Float32 yTransition;
719     ArkUI_Float32 zTransition;
720     ArkUIAnimationOptionType animation;
721 };
722 
723 struct ArkUIMoveTransitionType {
724     ArkUI_Int32 edgeType;
725     ArkUIAnimationOptionType animation;
726 };
727 
728 struct ArkUIAnchorType {
729     ArkUI_Float32 xCoordinate;
730     ArkUI_Float32 yCoordinate;
731 };
732 
733 struct ArkUIAlignRulesType {
734     char (*anchorIds)[ARKUI_MAX_ANCHOR_ID_SIZE];
735     ArkUI_Int32* alignTypes;
736     ArkUI_Int32 anchorCount;
737     ArkUI_Float32 biasHorizontalValue;
738     ArkUI_Float32 biasVerticalValue;
739 };
740 
741 struct ArkUIImageSizeType {
742     ArkUI_Float32 xValue;
743     ArkUI_Float32 yValue;
744     ArkUI_Int32 xType;
745     ArkUI_Int32 yType;
746 };
747 
748 struct ArkUIScaleType {
749     ArkUI_Float32 xValue;
750     ArkUI_Float32 yValue;
751 };
752 
753 struct ArkUIRotateType {
754     ArkUI_Float32 xCoordinate;
755     ArkUI_Float32 yCoordinate;
756     ArkUI_Float32 zCoordinate;
757     ArkUI_Float32 angle;
758     ArkUI_Float32 sightDistance;
759 };
760 
761 struct ArkUIBlurStyleOptionType {
762     ArkUI_Int32 blurStyle;
763     ArkUI_Int32 colorMode;
764     ArkUI_Int32 adaptiveColor;
765     ArkUI_Float32 scale;
766     ArkUI_Float32 grayScaleStart;
767     ArkUI_Float32 grayScaleEnd;
768 };
769 
770 struct ArkUITextDecorationType {
771     ArkUI_Int32 decorationType;
772     ArkUI_Uint32 color;
773     ArkUI_Int32 style;
774 };
775 
776 struct ArkUIFilterColorType {
777     ArkUI_Float32* filterArray;
778     ArkUI_Int32 filterSize;
779 };
780 
781 struct ArkUISelectedDateType {
782     ArkUI_Uint32 year;
783     ArkUI_Uint32 month;
784     ArkUI_Uint32 day;
785 };
786 
787 struct ArkUICalendarTextStyleType {
788     ArkUI_Uint32 fontColor;
789     ArkUI_Float32 fontSize;
790     ArkUI_Int32 fontWeight;
791 };
792 
793 struct ArkUIEdgeAlignType {
794     ArkUI_Int32 alignType;
795     ArkUI_Float32 offsetX;
796     ArkUI_Float32 offsetY;
797 };
798 
799 struct ArkUITextBackgroundStyleOptions {
800     ArkUI_Uint32 color;
801     ArkUI_Float32 topLeft;
802     ArkUI_Float32 topRight;
803     ArkUI_Float32 bottomLeft;
804     ArkUI_Float32 bottomRight;
805 };
806 
807 struct ArkUIWaterFlowNestedScrollOptions {
808     ArkUI_Int32 scrollForward;
809     ArkUI_Int32 scrollBackward;
810 };
811 
812 struct ArkUIBlendModeOptions {
813     ArkUI_Int32 blendMode;
814     ArkUI_Int32 blendApplyType;
815 };
816 
817 struct ArkUIScrollerAnimationType {
818     ArkUI_Float32 duration;
819     ArkUI_Int32 curve;
820 };
821 
822 struct ArkUISwiperMarginOptions {
823     ArkUI_Float32 margin;
824     ArkUI_Bool ignoreBlank;
825 };
826 
827 struct ArkUI_AnimatorEvent {
828     void* userData;
829 };
830 
831 struct ArkUI_AnimatorOnFrameEvent {
832     float progress;
833     void* userData;
834 };
835 
836 struct ArkUIPopupParam {
837     ArkUI_Bool isShow;
838     ArkUI_Bool useCustomComponent;
839     ArkUI_Int32 placement;
840     ArkUI_Uint32 maskColor;
841     ArkUI_Uint32 backgroundColor;
842     ArkUI_Bool enableArrow;
843     ArkUI_Bool autoCancel;
844     ArkUI_CharPtr message;
845     void (*onStateChange)(ArkUI_Int64, ArkUI_Bool);
846     ArkUI_Int64 onStateChangeId;
847     ArkUI_CharPtr primaryString;
848     void (*primaryAction)(ArkUI_Int64);
849     ArkUI_Int64 primaryActionId;
850     ArkUI_CharPtr secondaryString;
851     void (*secondaryAction)(ArkUI_Int64);
852     ArkUI_Int64 secondaryActionId;
853 };
854 
855 struct ArkUIdividerOptions {
856     ArkUI_Uint32 color;
857     ArkUI_Float32 strokeWidth;
858     ArkUI_Float32 startMargin;
859     ArkUI_Float32 endMargin;
860 };
861 
862 struct ArkUIMenuDividerOptions {
863     ArkUIDimensionType strokeWidth;
864     ArkUI_Uint32 color;
865     ArkUIDimensionType startMargin;
866     ArkUIDimensionType endMargin;
867     ArkUI_Int32 mode;
868 };
869 
870 struct ArkUIBackdropBlur {
871     ArkUI_Float32 dimensionRadius = 0.0f;
872     ArkUI_Float32 brighteningBlur = 0.0f;
873     ArkUI_Float32 darkeningBlur = 0.0f;
874 };
875 
876 struct ArkUIBadgeParam {
877     ArkUI_Bool isPositionXy;
878     ArkUI_Bool isDefaultFontSize;
879     ArkUI_Bool isDefaultBadgeSize;
880     ArkUI_Int32 position;
881     ArkUI_Int32 fontWeight;
882     ArkUI_Uint32 badgeColor;
883     ArkUI_Uint32 borderColor;
884     ArkUI_Uint32 textColor;
885     struct ArkUIDimensionType positionX;
886     struct ArkUIDimensionType positionY;
887     struct ArkUIDimensionType badgeSize;
888     struct ArkUIDimensionType borderWidth;
889     struct ArkUIDimensionType fontSize;
890 };
891 
892 struct ArkUI_StyledString_Descriptor {
893     void* spanString;
894     ArkUI_CharPtr html;
895 };
896 
897 struct GestrueFunction {
898     ActionFuncPtr acceptFunction;
899     ActionFuncPtr updateFunction;
900     ActionFuncPtr endFunction;
901 };
902 
903 enum ArkUINodeType {
904     ARKUI_TEXT = 1,
905     ARKUI_SPAN,
906     ARKUI_IMAGE_SPAN,
907     ARKUI_IMAGE,
908     ARKUI_TOGGLE,
909     ARKUI_LOADING_PROGRESS,
910     ARKUI_TEXT_INPUT,
911     ARKUI_STACK,
912     ARKUI_SCROLL,
913     ARKUI_LIST,
914     ARKUI_SWIPER,
915     ARKUI_TEXTAREA,
916     ARKUI_BUTTON,
917     ARKUI_PROGRESS,
918     ARKUI_CHECKBOX,
919     ARKUI_COLUMN,
920     ARKUI_ROW,
921     ARKUI_FLEX,
922     ARKUI_LIST_ITEM,
923     ARKUI_TABS,
924     ARKUI_NAVIGATOR,
925     ARKUI_WEB,
926     ARKUI_SLIDER,
927     ARKUI_CANVAS,
928     ARKUI_RADIO,
929     ARKUI_GRID,
930     ARKUI_XCOMPONENT,
931     ARKUI_SIDEBAR,
932     ARKUI_REFRESH,
933     ARKUI_ROOT,
934     ARKUI_COMPONENT_ROOT,
935     ARKUI_LIST_ITEM_GROUP,
936     ARKUI_DATE_PICKER,
937     ARKUI_TIME_PICKER,
938     ARKUI_TEXT_PICKER,
939     ARKUI_CALENDAR_PICKER,
940     ARKUI_GRID_ITEM,
941     ARKUI_CUSTOM,
942     ARKUI_WATER_FLOW,
943     ARKUI_FLOW_ITEM,
944     ARKUI_RELATIVE_CONTAINER,
945     ARKUI_BLANK,
946     ARKUI_DIVIDER,
947     ARKUI_ALPHABET_INDEXER,
948     ARKUI_SEARCH,
949     ARKUI_GRID_ROW,
950     ARKUI_GRID_COL,
951     ARKUI_SELECT,
952     ARKUI_IMAGE_ANIMATOR,
953     ARKUI_CIRCLE,
954     ARKUI_TAB_CONTENT,
955     ARKUI_NAVIGATION,
956     ARKUI_CUSTOM_SPAN,
957     ARKUI_SYMBOL_GLYPH,
958     ARKUI_QRCODE,
959     ARKUI_BADGE,
960     ARKUI_TEXT_CLOCK,
961     ARKUI_TEXT_TIMER,
962     ARKUI_MARQUEE,
963     ARKUI_CHECK_BOX_GROUP,
964     ARKUI_RATING,
965     ARKUI_XCOMPONENT_TEXTURE,
966     ARKUI_ARC_ALPHABET_INDEXER,
967 };
968 
969 enum ArkUIEventCategory {
970     INVALID = 0,
971     SINGLE_POINTER_INPUT = 1,
972     MULTI_POINTER_INPUT = 2,
973     CALLBACK_EVENT = 3,
974     COMPONENT_ASYNC_EVENT = 4,
975     TEXT_INPUT = 5,
976     GESTURE_ASYNC_EVENT = 6,
977     TOUCH_EVENT = 7,
978     MOUSE_INPUT_EVENT = 9,
979     TEXT_ARRAY = 10,
980     MIXED_EVENT = 11,
981     DRAG_EVENT = 12,
982     KEY_INPUT_EVENT = 13, // KEY_EVENT is already defined as a macro in wincon.h
983     FOCUS_AXIS_EVENT = 14,
984     TEXT_INPUT_CHANGE = 15,
985     HOVER_EVENT = 16,
986     CLICK_EVENT = 17,
987     AXIS_EVENT = 18,
988 };
989 
990 #define ARKUI_MAX_EVENT_NUM 1000
991 
992 enum ArkUIEventSubKind {
993     // common events
994     ON_APPEAR = 0,
995     ON_DISAPPEAR = 1,
996     ON_TOUCH = 2,
997     ON_CLICK = 3,
998     ON_HOVER = 4,
999     ON_BLUR = 5,
1000     ON_KEY_EVENT = 6,
1001     ON_MOUSE = 7,
1002     ON_AREA_CHANGE = 8,
1003     ON_VISIBLE_AREA_CHANGE = 9,
1004     ON_GESTURE = 10,
1005     ON_FOCUS = 11,
1006     ON_TOUCH_INTERCEPT = 12,
1007     ON_ATTACH,
1008     ON_DETACH,
1009     ON_ACCESSIBILITY_ACTIONS,
1010     ON_DRAG_START,
1011     ON_DRAG_ENTER,
1012     ON_DRAG_DROP,
1013     ON_DRAG_MOVE,
1014     ON_DRAG_LEAVE,
1015     ON_DRAG_END,
1016     ON_PRE_DRAG,
1017     ON_KEY_PREIME,
1018     ON_FOCUS_AXIS,
1019     ON_KEY_DISPATCH,
1020     ON_VISIBLE_AREA_APPROXIMATE_CHANGE,
1021     ON_AXIS,
1022     ON_CLICK_EVENT,
1023     ON_HOVER_EVENT,
1024     ON_HOVER_MOVE,
1025     ON_DETECT_RESULT_UPDATE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXT,
1026     ON_IMAGE_COMPLETE = ARKUI_MAX_EVENT_NUM * ARKUI_IMAGE,
1027     ON_IMAGE_ERROR,
1028     ON_IMAGE_SVG_PLAY_FINISH,
1029     ON_IMAGE_DOWNLOAD_PROGRESS,
1030     // components events
1031     ON_LIST_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_LIST,
1032     ON_LIST_SCROLL_INDEX,
1033     ON_LIST_SCROLL_START,
1034     ON_LIST_SCROLL_STOP,
1035     ON_LIST_SCROLL_FRAME_BEGIN,
1036     ON_LIST_WILL_SCROLL,
1037     ON_LIST_DID_SCROLL,
1038     ON_LIST_REACH_START,
1039     ON_LIST_REACH_END,
1040     ON_LIST_SCROLL_VISIBLE_CONTENT_CHANGE,
1041 
1042     ON_LIST_ITEM_SELECTED = ARKUI_MAX_EVENT_NUM * ARKUI_LIST_ITEM,
1043 
1044     ON_TOGGLE_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TOGGLE,
1045 
1046     ON_CHECKBOX_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_CHECKBOX,
1047 
1048     ON_TEXT_INPUT_EDIT_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXT_INPUT,
1049     ON_TEXT_INPUT_SUBMIT,
1050     ON_TEXT_INPUT_CHANGE,
1051     ON_TEXT_INPUT_CUT,
1052     ON_TEXT_INPUT_PASTE,
1053     ON_TEXT_INPUT_TEXT_SELECTION_CHANGE,
1054     ON_TEXT_INPUT_CONTENT_SIZE_CHANGE,
1055     ON_TEXT_INPUT_INPUT_FILTER_ERROR,
1056     ON_TEXT_INPUT_CONTENT_SCROLL,
1057     ON_TEXT_INPUT_WILL_INSERT,
1058     ON_TEXT_INPUT_DID_INSERT,
1059     ON_TEXT_INPUT_WILL_DELETE,
1060     ON_TEXT_INPUT_DID_DELETE,
1061     ON_TEXT_INPUT_CHANGE_WITH_PREVIEW_TEXT,
1062 
1063     ON_TEXTAREA_EDIT_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXTAREA,
1064     ON_TEXTAREA_SUBMIT,
1065     ON_TEXTAREA_CHANGE,
1066     ON_TEXTAREA_PASTE,
1067     ON_TEXTAREA_TEXT_SELECTION_CHANGE,
1068     ON_TEXTAREA_ON_SUBMIT,
1069     ON_TEXTAREA_CONTENT_SIZE_CHANGE,
1070     ON_TEXT_AREA_INPUT_FILTER_ERROR,
1071     ON_TEXT_AREA_CONTENT_SCROLL,
1072     ON_TEXT_AREA_WILL_INSERT,
1073     ON_TEXT_AREA_DID_INSERT,
1074     ON_TEXT_AREA_WILL_DELETE,
1075     ON_TEXT_AREA_DID_DELETE,
1076     ON_TEXT_AREA_CHANGE_WITH_PREVIEW_TEXT,
1077 
1078     ON_SWIPER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SWIPER,
1079     ON_SWIPER_ANIMATION_START,
1080     ON_SWIPER_ANIMATION_END,
1081     ON_SWIPER_GESTURE_SWIPE,
1082     ON_SWIPER_DID_CONTENT_SCROLL,
1083     ON_SWIPER_SELECTED,
1084     ON_SWIPER_UNSELECTED,
1085     ON_SWIPER_CONTENT_WILL_SCROLL,
1086 
1087     ON_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_SCROLL,
1088     ON_SCROLL_FRAME_BEGIN,
1089     ON_SCROLL_WILL_SCROLL,
1090     ON_SCROLL_DID_SCROLL,
1091     ON_SCROLL_START,
1092     ON_SCROLL_STOP,
1093     ON_SCROLL_EDGE,
1094     ON_SCROLL_REACH_START,
1095     ON_SCROLL_REACH_END,
1096 
1097     ON_TABS_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TABS,
1098     ON_NAVIGATOR_CLICK = ARKUI_MAX_EVENT_NUM * ARKUI_NAVIGATOR,
1099     ON_WEB_INTERCEPT = ARKUI_MAX_EVENT_NUM * ARKUI_WEB,
1100     ON_SLIDER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SLIDER,
1101     ON_CANVAS_READY = ARKUI_MAX_EVENT_NUM * ARKUI_CANVAS,
1102 
1103     ON_RADIO_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_RADIO,
1104 
1105     ON_IMAGE_ANIMATOR_ON_START = ARKUI_MAX_EVENT_NUM * ARKUI_IMAGE_ANIMATOR,
1106     ON_IMAGE_ANIMATOR_ON_PAUSE,
1107     ON_IMAGE_ANIMATOR_ON_REPEAT,
1108     ON_IMAGE_ANIMATOR_ON_CANCEL,
1109     ON_IMAGE_ANIMATOR_ON_FINISH,
1110 
1111     ON_GRID_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_GRID,
1112     ON_GRID_START,
1113     ON_GRID_STOP,
1114     ON_GRID_SCROLL_TO_INDEX,
1115 
1116     ON_SIDEBAR_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SIDEBAR,
1117 
1118     ON_XCOMPONENT_LOAD = ARKUI_MAX_EVENT_NUM * ARKUI_XCOMPONENT,
1119     ON_XCOMPONENT_DESTROY,
1120 
1121     ON_REFRESH_STATE_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_REFRESH,
1122     ON_REFRESH_REFRESHING,
1123     ON_REFRESH_ON_OFFSET_CHANGE,
1124     ON_REFRESH_CHANGE_EVENT,
1125 
1126     ON_DATE_PICKER_DATE_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_DATE_PICKER,
1127     ON_TIME_PICKER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TIME_PICKER,
1128     ON_TEXT_PICKER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXT_PICKER,
1129     ON_TEXT_PICKER_SCROLL_STOP,
1130     ON_CALENDAR_PICKER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_CALENDAR_PICKER,
1131     ON_WATER_FLOW_WILL_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_WATER_FLOW,
1132     ON_WATER_FLOW_REACH_END,
1133     ON_WATER_FLOW_DID_SCROLL,
1134     ON_WATER_FLOW_SCROLL_START,
1135     ON_WATER_FLOW_SCROLL_STOP,
1136     ON_WATER_FLOW_SCROLL_FRAME_BEGIN,
1137     ON_WATER_FLOW_SCROLL_INDEX,
1138     ON_WATER_FLOW_REACH_START,
1139 
1140     ON_ALPHABET_INDEXER_SELECTED = ARKUI_MAX_EVENT_NUM * ARKUI_ALPHABET_INDEXER,
1141     ON_ALPHABET_INDEXER_REQUEST_POPUP_DATA,
1142     ON_ALPHABET_INDEXER_POPUP_SELECTED,
1143     ON_ALPHABET_INDEXER_CHANGE_EVENT,
1144     ON_ALPHABET_INDEXER_CREAT_CHANGE_EVENT,
1145 
1146     ON_SEARCH_SUBMIT = ARKUI_MAX_EVENT_NUM * ARKUI_SEARCH,
1147     ON_SEARCH_CHANGE,
1148     ON_SEARCH_COPY,
1149     ON_SEARCH_CUT,
1150     ON_SEARCH_PASTE,
1151 
1152     ON_SELECT_SELECT = ARKUI_MAX_EVENT_NUM * ARKUI_SELECT,
1153 
1154     ON_IMAGE_SPAN_COMPLETE = ARKUI_MAX_EVENT_NUM * ARKUI_IMAGE_SPAN,
1155     ON_IMAGE_SPAN_ERROR,
1156 
1157     ON_CHECKBOX_GROUP_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_CHECK_BOX_GROUP,
1158 };
1159 
1160 enum ArkUIAPIGestureAsyncEventSubKind {
1161     ON_ACTION = 0,
1162     ON_ACTION_START = 1,
1163     ON_ACTION_UPDATE = 2,
1164     ON_ACTION_END = 3,
1165     ON_ACTION_CANCEL = 4
1166 };
1167 
1168 union ArkUIAPIValue {
1169     ArkUI_Int32 i32;
1170     ArkUI_Int64 i64;
1171     ArkUI_Float32 f32;
1172     ArkUI_Float32 f64;
1173 };
1174 
1175 enum ArkUIAPIValueKind {
1176     VALUE_KIND_INT32 = 0,
1177     VALUE_KIND_FLOAT32 = 1,
1178     VALUE_KIND_INT64 = 2,
1179     VALUE_KIND_FLOAT64 = 3,
1180 };
1181 
1182 enum ArkUIAPIEventCallbackType {
1183     VOID_TYPE = 0, // VOID conflicts VOID define in winnt.h
1184     INT_32 = 1,
1185     FLOAT_32 = 2,
1186     INT_32_ARRAY = 3,
1187     FLOAT_32_ARRAY = 4
1188 };
1189 
1190 enum ArkUIAPINodeFlags {
1191     CUSTOM_NONE = 0,
1192     CUSTOM_MEASURE = 1 << 0,
1193     CUSTOM_LAYOUT = 1 << 1,
1194     CUSTOM_DRAW = 1 << 2,
1195     CUSTOM_FOREGROUND_DRAW = 1 << 3,
1196     CUSTOM_OVERLAY_DRAW = 1 << 4,
1197 };
1198 
1199 enum ArkUIGestureDirection {
1200     ArkUI_GESTURE_DIRECTION_NONE = 0,
1201     ArkUI_GESTURE_DIRECTION_LEFT = 1,
1202     ArkUI_GESTURE_DIRECTION_RIGHT = 2,
1203     ArkUI_GESTURE_DIRECTION_HORIZONTAL = 3,
1204     ArkUI_GESTURE_DIRECTION_UP = 4,
1205     ArkUI_GESTURE_DIRECTION_DOWN = 8,
1206     ArkUI_GESTURE_DIRECTION_VERTICAL = 12,
1207     ArkUI_GESTURE_DIRECTION_ALL = 15,
1208 };
1209 
1210 enum ArkUISwipeGestureDirection {
1211     ArkUI_SWIPE_GESTURE_DIRECTION_NONE = 0,
1212     ArkUI_SWIPE_GESTURE_DIRECTION_HORIZONTAL = 1,
1213     ArkUI_SWIPE_GESTURE_DIRECTION_VERTICAL = 2,
1214     ArkUI_SWIPE_GESTURE_DIRECTION_ALL = 3,
1215 };
1216 
1217 enum ArkUIScrollAlign {
1218     SCROLL_ALIGN_START = 0,
1219     SCROLL_ALIGN_CENTER,
1220     SCROLL_ALIGN_END,
1221     SCROLL_ALIGN_AUTO,
1222 };
1223 
1224 enum ArkUIAPICustomOp { MEASURE = 1, LAYOUT = 2, DRAW = 3 };
1225 
1226 enum ArkUIVMKind {
1227     VM_JS = 1,
1228     VM_STS = 2,
1229 };
1230 
1231 // Current implementation assumes that each argument is 4 bytes,
1232 // fix decodeEvent() in TS if it will change.
1233 union ArkUIEventCallbackArg {
1234     ArkUI_Int32 i32;
1235     ArkUI_Uint32 u32;
1236     ArkUI_Float32 f32;
1237 };
1238 
1239 struct ArkUIAPIEventSinglePointer {
1240     ArkUI_Int32 x;
1241     ArkUI_Int32 y;
1242     ArkUI_Int32 state; // 0 - down, 1 - up, 2 - move
1243 };
1244 
1245 struct ArkUIImageSourceInfo {
1246     ArkUI_CharPtr url;
1247     void* resource;
1248     void* pixelMap;
1249     void* pixelMapArray;
1250 };
1251 
1252 #define ARKUI_MULTIPOINTER_ARGS_COUNT 10
1253 
1254 struct ArkUIAPIEventMultiPointer {
1255     ArkUI_Int32 count;
1256     ArkUI_Int32 xs[ARKUI_MULTIPOINTER_ARGS_COUNT];
1257     ArkUI_Int32 ys[ARKUI_MULTIPOINTER_ARGS_COUNT];
1258     ArkUI_Int32 state[ARKUI_MULTIPOINTER_ARGS_COUNT];
1259 };
1260 
1261 struct ArkUIAPIEventTextInput {
1262     // used by c-api, should be the first place.
1263     ArkUI_Int64 nativeStringPtr;
1264     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
1265 };
1266 
1267 struct ArkUIAPIEventTextInputMixed {
1268     // used by c-api, should be the first place.
1269     void* nativeStringPtr;
1270     void* extendStringPtr;
1271     ArkUI_Int32 numArgs;
1272     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
1273 };
1274 
1275 #define ARKUI_CALLBACK_ARGS_COUNT 12
1276 
1277 struct ArkUIAPIEventCallback {
1278     ArkUI_Int32 id;
1279     ArkUI_Int32 numArgs;
1280     ArkUI_Int32 continuationId;
1281     ArkUIEventCallbackArg args[ARKUI_CALLBACK_ARGS_COUNT];
1282 };
1283 
1284 #define ARKUI_ASYNC_EVENT_ARGS_COUNT 12
1285 
1286 struct ArkUINodeAsyncEvent {
1287     // used by c-api, should be the first place.
1288     ArkUIEventCallbackArg data[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1289     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
1290 };
1291 
1292 struct ArkUIAPIEventTextArray {
1293     ArkUI_Int64 nativeStringArrayPtr;
1294     ArkUI_Int32 length;
1295     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
1296 };
1297 
1298 struct ArkUIAPIEventGestureAsyncEvent {
1299     ArkUI_Int32 subKind;
1300     ArkUI_Int32 repeat;
1301     ArkUI_Float32 x;
1302     ArkUI_Float32 y;
1303     ArkUI_Float32 angle;
1304     ArkUI_Float32 scale;
1305     ArkUI_Float32 pinchCenterX;
1306     ArkUI_Float32 pinchCenterY;
1307     ArkUI_Float32 speed;
1308     ArkUI_Int32 timestamp;
1309     ArkUI_Int32 source;
1310     ArkUI_Int32 pressure;
1311     ArkUI_Int32 tiltX;
1312     ArkUI_Int32 tiltY;
1313     ArkUI_Int32 sourceTool;
1314     ArkUI_Float32 velocityX;
1315     ArkUI_Float32 velocityY;
1316     ArkUI_Float32 velocity;
1317     ArkUI_Int32 inputEventType;
1318     ArkUI_Int32 targetDisplayId;
1319     void* rawPointerEvent;
1320 };
1321 
1322 struct ArkUIMixedEvent {
1323     ArkUIEventCallbackArg numberData[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1324     ArkUI_Int32 numberDataLength;
1325     ArkUI_Int64 stringPtrData[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1326     ArkUI_Int32 stringPtrDataLength;
1327     ArkUIEventCallbackArg numberReturnData[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1328     ArkUI_Int32 subKind; // ArkUIEventSubKind actually
1329 };
1330 
1331 struct ArkUIKeyEvent {
1332     ArkUI_Int32 subKind;
1333     ArkUI_Int32 type;
1334     ArkUI_Int32 keyCode;
1335     ArkUI_CharPtr keyText;
1336     ArkUI_Int32 keySource;
1337     ArkUI_Int64 deviceId;
1338     ArkUI_Uint32 unicode;
1339     ArkUI_Float64 timestamp;
1340     ArkUI_Int32* pressedKeyCodes;
1341     ArkUI_Int32 keyCodesLength;
1342     ArkUI_Int32 intentionCode;
1343     ArkUI_Uint64 modifierKeyState;
1344 
1345     // user input.
1346     bool isConsumed;
1347     bool stopPropagation;
1348 };
1349 
1350 struct ArkUIClickEvent {
1351     ArkUI_Int32 targetDisplayId;
1352     ArkUI_Int32 subKind;
1353     ArkUI_Float32 localX;
1354     ArkUI_Float32 localY;
1355     ArkUI_Float32 timestamp;
1356     ArkUI_Float32 sourceType;
1357     ArkUI_Float32 windowX;
1358     ArkUI_Float32 windowY;
1359     ArkUI_Float32 displayX;
1360     ArkUI_Float32 displayY;
1361     ArkUI_Float32 targetPositionX;
1362     ArkUI_Float32 targetPositionY;
1363     ArkUI_Float32 targetGlobalPositionX;
1364     ArkUI_Float32 targetGlobalPositionY;
1365     ArkUI_Float64 tiltX;
1366     ArkUI_Float64 tiltY;
1367     ArkUI_Uint32 clickPointSize;
1368     ArkUI_Int32 toolType;
1369     ArkUI_Float64 pressure;
1370     ArkUI_Float32 width;
1371     ArkUI_Float32 height;
1372     ArkUI_Int64 deviceId;
1373     ArkUI_Uint64 modifierKeyState;
1374     ArkUI_Float64 rollAngle;
1375 };
1376 
1377 struct ArkUIHoverEvent {
1378     ArkUI_Int32 targetDisplayId;
1379     ArkUI_Int32 subKind;
1380     ArkUI_Int32 isHover;
1381     ArkUI_Float32 targetPositionX;
1382     ArkUI_Float32 targetPositionY;
1383     ArkUI_Float32 targetGlobalPositionX;
1384     ArkUI_Float32 targetGlobalPositionY;
1385     ArkUI_Float64 tiltX;
1386     ArkUI_Float64 tiltY;
1387     ArkUI_Float64 rollAngle;
1388     ArkUI_Float32 width;
1389     ArkUI_Float32 height;
1390     ArkUI_Int64 timeStamp;
1391     ArkUI_Int32 sourceType;
1392     ArkUI_Int64 deviceId;
1393     ArkUI_Int32 toolType;
1394     ArkUI_Uint64 modifierKeyState;
1395     /**
1396      * @brief Prevents events from bubbling further to the parent node for processing.
1397      *
1398      */
1399     bool stopPropagation;
1400 };
1401 
1402 struct ArkUINodeEvent {
1403     ArkUI_Int32 kind; // Actually ArkUIEventCategory.
1404     ArkUI_Int32 nodeId;
1405     ArkUI_Int64 extraParam;
1406     union {
1407         ArkUIAPIEventSinglePointer singlePointer;
1408         ArkUIAPIEventMultiPointer multiPointer;
1409         ArkUIAPIEventCallback callback;
1410         ArkUINodeAsyncEvent componentAsyncEvent;
1411         ArkUIAPIEventTextInput textInputEvent;
1412         ArkUIAPIEventGestureAsyncEvent gestureAsyncEvent;
1413         ArkUITouchEvent touchEvent;
1414         ArkUIAPIEventTextArray textArrayEvent;
1415         ArkUIMouseEvent mouseEvent;
1416         ArkUIMixedEvent mixedEvent;
1417         ArkUIDragEvent dragEvent;
1418         ArkUIKeyEvent keyEvent;
1419         ArkUIFocusAxisEvent focusAxisEvent;
1420         ArkUIAPIEventTextInputMixed textChangeEvent;
1421         ArkUIClickEvent clickEvent;
1422         ArkUIHoverEvent hoverEvent;
1423         ArkUIAxisEvent axisEvent;
1424     };
1425 };
1426 
1427 struct ArkUIAPIAnimationSpec {
1428     ArkUI_Int32 duration;
1429     ArkUI_Int32 delay;
1430     ArkUI_Int32 valueKind; // of ArkUIAPIValueKind
1431     ArkUIAPIValue initial;
1432     ArkUIAPIValue target;
1433 };
1434 
1435 struct ArkUIAPICallbackMethod {
1436     ArkUI_Int32 (*CallInt)(
1437         ArkUIVMContext vmContext, ArkUI_Int32 methodId, ArkUI_Int32 numArgs, ArkUIEventCallbackArg* args);
1438 };
1439 
1440 struct ArkUIBorderOptions {
1441     ArkUI_Float32* widthValues;
1442     ArkUI_Int32* widthUnits;
1443     ArkUI_Int32* colors;
1444     ArkUI_Float32* radiusValues;
1445     ArkUI_Int32* radiusUnits;
1446     ArkUI_Int32* styles;
1447 };
1448 
1449 struct ArkUITextFont {
1450     ArkUI_Int32 fontWeight;
1451     ArkUI_Float32 fontSize;
1452     ArkUI_Int32 fontStyle;
1453     ArkUI_CharPtr fontFamilies;
1454     ArkUI_Int32 fontSizeUnit;
1455 };
1456 
1457 struct ArkUIOverlayOptions {
1458     ArkUI_Int32 align;
1459     ArkUI_Float32 x;
1460     ArkUI_Float32 y;
1461     ArkUI_CharPtr content;
1462 };
1463 
1464 union ArkUIInt32orFloat32 {
1465     ArkUI_Float32 f32;
1466     ArkUI_Uint32 u32;
1467     ArkUI_Int32 i32;
1468 };
1469 
1470 struct ArkUIBackgroundImage {
1471     ArkUI_CharPtr src;
1472     ArkUI_Int32 repeat;
1473 };
1474 
1475 struct ArkUIShowCountOptions {
1476     ArkUI_Bool open;
1477     ArkUI_Int32 thresholdPercentage;
1478     ArkUI_Bool highlightBorder;
1479 };
1480 
1481 struct ArkUICustomNodeEvent {
1482     ArkUI_Int32 kind;
1483     ArkUI_Int64 extraParam;
1484     ArkUI_Int64 canvas;
1485     ArkUI_Int32 data[8];
1486     ArkUIEventCallbackArg numberData[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1487     ArkUIEventCallbackArg numberReturnData[ARKUI_ASYNC_EVENT_ARGS_COUNT];
1488 };
1489 
1490 struct ArkUIExpectedFrameRateRange {
1491     ArkUI_Uint32 min;
1492     ArkUI_Uint32 max;
1493     ArkUI_Uint32 expected;
1494 };
1495 
1496 struct ArkUIAnimateOption {
1497     ArkUI_Uint32 duration;
1498     ArkUI_Float32 tempo;
1499     ArkUI_Int32 curve;
1500     ArkUI_Int32 delay;
1501     ArkUI_Int32 iterations;
1502     ArkUI_Int32 playMode;
1503     ArkUIExpectedFrameRateRange* expectedFrameRateRange;
1504     void* onFinishCallback;
1505     void* user;
1506     ArkUI_Int32 finishCallbackType;
1507     ArkUICurveHandle iCurve;
1508     ArkUI_Int32 curveType;
1509 };
1510 
1511 struct ArkUIContext {
1512     ArkUI_Int32 id;
1513 };
1514 
1515 struct ArkUIGuidelineStyle {
1516     ArkUI_CharPtr id;
1517     ArkUI_Int32 direction;
1518     ArkUI_Bool hasStart;
1519     ArkUI_Float32 start;
1520     ArkUI_Bool hasEnd;
1521     ArkUI_Float32 end;
1522 };
1523 
1524 struct ArkUIBarrierStyle {
1525     ArkUI_CharPtr id;
1526     ArkUI_Int32 direction;
1527     ArkUI_CharPtr* referencedId;
1528     ArkUI_Int32 referencedIdSize;
1529 };
1530 struct ArkUIRadioStyleOption {
1531     ArkUI_Uint32 checkedBackgroundColor;
1532     ArkUI_Uint32 uncheckedBorderColor;
1533     ArkUI_Uint32 indicatorColor;
1534 };
1535 
1536 enum ArkUISwiperIndicatorType {
1537     DOT,
1538     DIGIT,
1539 };
1540 
1541 struct ArkUIOptionalFloat {
1542     ArkUI_Int32 isSet;
1543     ArkUI_Float32 value;
1544 };
1545 
1546 struct ArkUIOptionalInt {
1547     ArkUI_Int32 isSet;
1548     ArkUI_Int32 value;
1549 };
1550 
1551 struct ArkUIOptionalUint {
1552     ArkUI_Int32 isSet;
1553     ArkUI_Uint32 value;
1554 };
1555 
1556 struct ArkUIOptionalCharPtr {
1557     ArkUI_Int32 isSet;
1558     ArkUI_CharPtr value;
1559 };
1560 
1561 struct ArkUIOptionalVoidPtr {
1562     ArkUI_Int32 isSet;
1563     void* value;
1564 };
1565 
1566 struct ArkUIOptionalBool {
1567     ArkUI_Int32 isSet;
1568     ArkUI_Bool value;
1569 };
1570 
1571 struct ArkUIOptionalCommonCharPtr {
1572     ArkUI_Int32 isSet;
1573     ArkUI_CommonCharPtr value;
1574 };
1575 struct ArkUISwiperIndicator {
1576     ArkUISwiperIndicatorType type;
1577     ArkUI_Int32 dimUnit;
1578     ArkUIOptionalFloat dimLeft;
1579     ArkUIOptionalFloat dimTop;
1580     ArkUIOptionalFloat dimRight;
1581     ArkUIOptionalFloat dimBottom;
1582     ArkUIOptionalFloat itemWidth;
1583     ArkUIOptionalFloat itemHeight;
1584     ArkUIOptionalFloat selectedItemWidth;
1585     ArkUIOptionalFloat selectedItemHeight;
1586     ArkUIOptionalInt maskValue;
1587     ArkUIOptionalUint colorValue;
1588     ArkUIOptionalUint selectedColorValue;
1589     ArkUIOptionalInt maxDisplayCount;
1590     ArkUIOptionalFloat dimSpace;
1591     ArkUIOptionalInt ignoreSizeValue;
1592 };
1593 
1594 struct ArkUISwiperDigitIndicator {
1595     ArkUISwiperIndicatorType type;
1596     ArkUI_Int32 dimUnit;
1597     ArkUIOptionalFloat dimLeft;
1598     ArkUIOptionalFloat dimTop;
1599     ArkUIOptionalFloat dimRight;
1600     ArkUIOptionalFloat dimBottom;
1601     ArkUIOptionalUint fontColor;
1602     ArkUIOptionalUint selectedFontColor;
1603     ArkUIOptionalFloat fontSize;
1604     ArkUIOptionalFloat selectedFontSize;
1605     ArkUIOptionalUint fontWeight;
1606     ArkUIOptionalUint selectedFontWeight;
1607     ArkUIOptionalInt ignoreSizeValue;
1608 };
1609 
1610 struct ArkUISwiperArrowStyle {
1611     ArkUIOptionalInt showBackground;
1612     ArkUIOptionalInt showSidebarMiddle;
1613     ArkUIOptionalFloat backgroundSize;
1614     ArkUIOptionalUint backgroundColor;
1615     ArkUIOptionalFloat arrowSize;
1616     ArkUIOptionalUint arrowColor;
1617 };
1618 
1619 struct ArkUI_StyledString;
1620 struct ArkUISliderValidSlideRange {
1621     ArkUI_Float32 from;
1622     ArkUI_Float32 to;
1623 };
1624 
1625 struct ArkUIKeyframeState {
1626     ArkUI_Int32 duration;
1627     ArkUICurveHandle curve;
1628     ArkUI_Int32 curveType;
1629     void (*event)(void* userData);
1630     void* userData;
1631 };
1632 
1633 struct ArkUIKeyframeAnimateOption {
1634     ArkUI_Int32 delay;
1635     ArkUI_Int32 iterations;
1636     void (*onFinish)(void* userData);
1637     void* userData;
1638     ArkUIKeyframeState* keyframes;
1639     ArkUI_Int32 keyframeSize;
1640     ArkUIExpectedFrameRateRange* expectedFrameRateRange;
1641 };
1642 
1643 struct ArkUIKeyframe {
1644     ArkUI_Float32 keyTime;
1645     ArkUI_Float32 keyValue;
1646     ArkUICurveHandle curve;
1647     ArkUI_Int32 curveType;
1648 };
1649 
1650 struct ArkUIAnimatorOption {
1651     ArkUI_Int32 duration;
1652     ArkUI_Int32 delay;
1653     ArkUI_Int32 iterations;
1654     ArkUI_Float32 begin;
1655     ArkUI_Float32 end;
1656     ArkUI_Int32 fill;
1657     ArkUI_Int32 direction;
1658     ArkUICurveHandle easing;
1659     ArkUI_Int32 curveType;
1660     ArkUI_Bool isHasExpectedFrameRateRange;
1661     ArkUIExpectedFrameRateRange expectedFrameRateRange;
1662     ArkUIKeyframe* keyframes;
1663     ArkUI_Int32 keyframeSize;
1664     void (*onFrame)(ArkUI_AnimatorOnFrameEvent* event);
1665     void* frameUserData;
1666     void (*onFinish)(ArkUI_AnimatorEvent* event);
1667     void* finishUserData;
1668     void (*onCancel)(ArkUI_AnimatorEvent* event);
1669     void* cancelUserData;
1670     void (*onRepeat)(ArkUI_AnimatorEvent* event);
1671     void* repeatUserData;
1672 };
1673 
1674 struct ArkUIAnimator {
1675     void* animator;
1676     void* context;
1677     void* animatorOption;
1678 };
1679 
1680 typedef struct {
1681     ArkUIDragEvent* dragEvent;
1682     ArkUI_Int32 status;
1683 } ArkUIDragAndDropInfo;
1684 
1685 typedef ArkUIAnimator* ArkUIAnimatorHandle;
1686 
1687 typedef void (*DragStatusCallback)(ArkUIDragAndDropInfo* dragAndDropInfo, void* userData);
1688 
1689 typedef void (*XComponentAnalyzerCallback)(void* node, int32_t statusCode, void* userData);
1690 
1691 struct ArkUIImageFrameInfo {
1692     ArkUI_CharPtr src;
1693     ArkUI_Int32 width;
1694     ArkUI_Int32 height;
1695     ArkUI_Int32 top;
1696     ArkUI_Int32 left;
1697     ArkUI_Int32 unit;
1698     ArkUI_Int32 duration;
1699     void* drawable;
1700 };
1701 
1702 struct ArkUIAccessibilityState {
1703     ArkUIOptionalInt isDisabled;
1704     ArkUIOptionalInt isSelected;
1705     ArkUIOptionalInt checkedType;
1706 };
1707 
1708 struct ArkUIAccessibilityValue {
1709     ArkUIOptionalInt min;
1710     ArkUIOptionalInt max;
1711     ArkUIOptionalInt current;
1712     ArkUIOptionalInt rangeMin;
1713     ArkUIOptionalInt rangeMax;
1714     ArkUIOptionalInt rangeCurrent;
1715     ArkUIOptionalCharPtr text;
1716 };
1717 
1718 struct ArkUIProgressLinearStyleOption {
1719     bool scanEffectEnable;
1720     bool smoothEffectEnable;
1721     float strokeWidth;
1722     float strokeRadius;
1723 };
1724 
1725 struct ArkUITranslateOption {
1726     ArkUI_Float32 x;
1727     ArkUI_Float32 y;
1728     ArkUI_Float32 z;
1729 };
1730 
1731 struct ArkUIScaleOption {
1732     ArkUI_Float32 x;
1733     ArkUI_Float32 y;
1734     ArkUI_Float32 z;
1735     ArkUI_Float32 centerX;
1736     ArkUI_Float32 centerY;
1737 };
1738 
1739 struct ArkUIRotateOption {
1740     ArkUI_Float32 x;
1741     ArkUI_Float32 y;
1742     ArkUI_Float32 z;
1743     ArkUI_Float32 angle;
1744     ArkUI_Float32 centerX;
1745     ArkUI_Float32 centerY;
1746     ArkUI_Float32 centerZ;
1747     ArkUI_Float32 perspective;
1748 };
1749 
1750 struct ArkUITransitionEffectOption {
1751     ArkUI_Int32 type;
1752     ArkUI_Float32 opacity;
1753     ArkUITranslateOption translate;
1754     ArkUIScaleOption scale;
1755     ArkUIRotateOption rotate;
1756     ArkUI_Int32 move;
1757     ArkUITransitionEffectOption* appear;
1758     ArkUITransitionEffectOption* disappear;
1759     ArkUITransitionEffectOption* combine;
1760     ArkUI_Bool hasAnimation;
1761     ArkUIAnimateOption animation;
1762 };
1763 
1764 struct ArkUIDragPreViewOptions {
1765     ArkUI_Int32 mode;
1766     ArkUI_Int32 modeArrayLength;
1767     ArkUI_Int32 sizeChangeEffect;
1768     ArkUI_Int32 badgeNumber;
1769     ArkUI_Int32* modeArray;
1770     ArkUI_Bool isModeArray;
1771     ArkUI_Bool isShowBadge;
1772     ArkUI_Bool isBadgeNumber;
1773 };
1774 
1775 struct ArkUIDragPreview {
1776     ArkUI_CharPtr inspectorId;
1777     ArkUI_Bool onlyForLifting;
1778     void* pixelMap;
1779     ArkUI_CharPtr extraInfo;
1780 };
1781 
1782 struct ArkUIDragInteractionOptions {
1783     ArkUI_Bool isMultiSelectionEnabled;
1784     ArkUI_Bool defaultAnimationBeforeLifting;
1785     ArkUI_Bool enableEdgeAutoScroll;
1786     ArkUI_Bool enableHapticFeedback;
1787     ArkUI_Bool isLiftingDisabled;
1788 };
1789 
1790 struct ArkUIDragPreViewAndInteractionOptions {
1791     bool isScaleEnabled = false;
1792     bool defaultAnimationBeforeLifting = false;
1793     bool isMultiSelectionEnabled = false;
1794     bool isNumberBadgeEnabled = false;
1795     bool isDefaultShadowEnabled = false;
1796     bool isDefaultRadiusEnabled = false;
1797     bool enableEdgeAutoScroll = true;
1798     bool enableHapticFeedback = false;
1799     ArkUI_Int32 badgeNumber = 0;
1800     bool isShowBadge = true;
1801 };
1802 
1803 struct ArkUI_DialogDismissEvent;
1804 typedef ArkUI_DialogDismissEvent* ArkUIDialogDismissEvent;
1805 
1806 struct ArkUIDragAction {
1807     ArkUI_Int32 instanceId = -1;
1808     ArkUI_Int32 pointerId = 0;
1809     ArkUI_Float64 touchPointX = 0.0f;
1810     ArkUI_Float64 touchPointY = 0.0f;
1811     void** pixelmapArray;
1812     ArkUI_Int32 size = -1;
1813     ArkUIDragPreViewAndInteractionOptions dragPreviewOption;
1814     void* userData;
1815     DragStatusCallback listener;
1816     void* unifiedData;
1817     bool hasTouchPoint = false;
1818     void** pixelmapNativeList;
1819 };
1820 struct ArkUI_SystemFontStyleEvent {
1821     ArkUI_Float64 fontSize;
1822     ArkUI_Float64 fontWeight;
1823 };
1824 typedef ArkUI_SystemFontStyleEvent* ArkUISystemFontStyleEvent;
1825 
1826 typedef struct ArkUI_Params {
1827     ArkUINodeType nodeType;
1828 } ArkUI_Params;
1829 
1830 struct ArkUINavigationTitlebarOptions {
1831     ArkUIOptionalUint colorValue;
1832     ArkUIOptionalInt blurStyle;
1833     ArkUIOptionalInt barStyle;
1834     ArkUIOptionalDimensionType paddingStart;
1835     ArkUIOptionalDimensionType paddingEnd;
1836     ArkUIOptionalBool enableHoverMode;
1837 };
1838 
1839 struct ArkUIBarItem {
1840     ArkUIOptionalCommonCharPtr text;
1841     ArkUIOptionalCommonCharPtr icon;
1842     ArkUIOptionalBool isEnable;
1843 };
1844 
1845 struct ArkUINavigationTitleInfo {
1846     ArkUI_Bool hasSubTitle;
1847     ArkUI_Bool hasMainTitle;
1848     ArkUI_CharPtr subTitle;
1849     ArkUI_CharPtr mainTitle;
1850 };
1851 
1852 struct ArkUITabBarBackgroundBlurStyle {
1853     ArkUI_Int32 blurStyle;
1854     ArkUI_Int32 colorMode;
1855     ArkUI_Int32 adaptiveColor;
1856     ArkUI_Float32 scale;
1857     const ArkUI_Float32* blurValues;
1858     ArkUI_Int32 blurValuesSize;
1859     ArkUI_Int32 policy;
1860     ArkUI_Uint32 inactiveColor;
1861     ArkUI_Bool isValidColor;
1862     ArkUI_Int32 blurType;
1863 };
1864 
1865 struct ArkUITextMarqueeOptions {
1866     ArkUI_Float32 step;
1867     ArkUI_Int32 delay;
1868     ArkUI_Int32 loop;
1869     ArkUI_Int32 marqueeStartPolicy;
1870     ArkUI_Bool start;
1871     ArkUI_Bool fromStart;
1872     ArkUI_Bool fadeout;
1873 };
1874 
1875 struct ArkUITabBarBackgroundEffect {
1876     ArkUI_Float32 radius;
1877     ArkUI_Float32 saturation;
1878     ArkUI_Float32 brightness;
1879     ArkUI_Uint32 color;
1880     ArkUI_Int32 adaptiveColor;
1881     const ArkUI_Float32* blurValues;
1882     ArkUI_Int32 blurValuesSize;
1883     ArkUI_Int32 policy;
1884     ArkUI_Int32 blurType;
1885     ArkUI_Bool isValidColor;
1886     ArkUI_Uint32 inactiveColor;
1887 };
1888 
1889 struct ArkUIDrawingContext {
1890     ArkUICanvasHandle canvas;
1891     ArkUI_Float32 width;
1892     ArkUI_Float32 height;
1893 };
1894 
1895 struct ArkUIDirtySwapConfig {
1896     ArkUI_Bool frameSizeChange;
1897     ArkUI_Bool frameOffsetChange;
1898     ArkUI_Bool contentSizeChange;
1899     ArkUI_Bool contentOffsetChange;
1900     ArkUI_Bool skipMeasure;
1901     ArkUI_Bool skipLayout;
1902 };
1903 
1904 enum ArkUIConfigType {
1905     ARKUI_COLOR_MODE_UPDATE = 0,
1906     ARKUI_LANGUAGE_UPDATE = 1,
1907     ARKUI_DIRECTION_UPDATE = 2,
1908     ARKUI_DPI_UPDATE = 3,
1909     ARKUI_FONT_UPDATE = 4,
1910     ARKUI_ICON_UPDATE = 5,
1911     ARKUI_SKIN_UPDATE = 6,
1912     ARKUI_FONT_SCALE_UPDATE = 7,
1913 };
1914 
1915 struct ArkUIImageResizableSlice {
1916     ArkUI_Float32 left;
1917     ArkUI_Float32 top;
1918     ArkUI_Float32 right;
1919     ArkUI_Float32 bottom;
1920 };
1921 
1922 struct ArkUICommonModifier {
1923     void (*setBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1924     void (*resetBackgroundColor)(ArkUINodeHandle node);
1925     void (*setWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1926     void (*resetWidth)(ArkUINodeHandle node);
1927     void (*setHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1928     void (*resetHeight)(ArkUINodeHandle node);
1929     void (*setBorderRadius)(
1930         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
1931     void (*resetBorderRadius)(ArkUINodeHandle node);
1932     void (*setBorderWidth)(
1933         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
1934     void (*resetBorderWidth)(ArkUINodeHandle node);
1935     void (*setTransform)(ArkUINodeHandle node, const ArkUI_Float32* matrix, ArkUI_Int32 length);
1936     void (*resetTransform)(ArkUINodeHandle node);
1937     void (*setBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 leftColorInt, ArkUI_Uint32 rightColorInt,
1938         ArkUI_Uint32 topColorInt, ArkUI_Uint32 bottomColorInt);
1939     void (*resetBorderColor)(ArkUINodeHandle node);
1940     void (*setPosition)(
1941         ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue, ArkUI_Int32 yUnit);
1942     void (*resetPosition)(ArkUINodeHandle node);
1943     void (*setPositionEdges)(ArkUINodeHandle node, ArkUI_Bool useEdges, const ArkUIStringAndFloat* options);
1944     void (*resetPositionEdges)(ArkUINodeHandle node);
1945     void (*setBorderStyle)(ArkUINodeHandle node, const ArkUI_Int32* styles, ArkUI_Int32 length);
1946     void (*resetBorderStyle)(ArkUINodeHandle node);
1947     void (*setBackShadow)(ArkUINodeHandle node, const ArkUIInt32orFloat32* shadows, ArkUI_Int32 length);
1948     void (*resetBackShadow)(ArkUINodeHandle node);
1949     void (*setHitTestBehavior)(ArkUINodeHandle node, ArkUI_Uint32 value);
1950     void (*resetHitTestBehavior)(ArkUINodeHandle node);
1951     void (*setZIndex)(ArkUINodeHandle node, ArkUI_Int32 value);
1952     void (*resetZIndex)(ArkUINodeHandle node);
1953     void (*setOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
1954     void (*resetOpacity)(ArkUINodeHandle node);
1955     void (*setAlign)(ArkUINodeHandle node, ArkUI_Int32 align);
1956     void (*resetAlign)(ArkUINodeHandle node);
1957     void (*setBackdropBlur)(ArkUINodeHandle node, ArkUI_Float32 value, const ArkUI_Float32* blurValues,
1958         ArkUI_Int32 blurValuesSize, ArkUI_Bool disableSystemAdaptation);
1959     void (*resetBackdropBlur)(ArkUINodeHandle node);
1960     void (*setHueRotate)(ArkUINodeHandle node, ArkUI_Float32 deg);
1961     void (*resetHueRotate)(ArkUINodeHandle node);
1962     void (*setInvert)(ArkUINodeHandle node, ArkUI_Float32* invert, ArkUI_Int32 length);
1963     void (*resetInvert)(ArkUINodeHandle node);
1964     void (*setSepia)(ArkUINodeHandle node, ArkUI_Float32 sepia);
1965     void (*resetSepia)(ArkUINodeHandle node);
1966     void (*setSaturate)(ArkUINodeHandle node, ArkUI_Float32 saturate);
1967     void (*resetSaturate)(ArkUINodeHandle node);
1968     void (*setColorBlend)(ArkUINodeHandle node, ArkUI_Uint32 color);
1969     void (*resetColorBlend)(ArkUINodeHandle node);
1970     void (*setGrayscale)(ArkUINodeHandle node, ArkUI_Float64 grayScale);
1971     void (*resetGrayscale)(ArkUINodeHandle node);
1972     void (*setContrast)(ArkUINodeHandle node, ArkUI_Float64 contrast);
1973     void (*resetContrast)(ArkUINodeHandle node);
1974     void (*setBrightness)(ArkUINodeHandle node, ArkUI_Float64 brightness);
1975     void (*resetBrightness)(ArkUINodeHandle node);
1976     void (*setBlur)(ArkUINodeHandle node, ArkUI_Float32 value, const ArkUI_Float32* blurValues,
1977         ArkUI_Int32 blurValuesSize, ArkUI_Bool disableSystemAdaptation);
1978     void (*resetBlur)(ArkUINodeHandle node);
1979     void (*setLinearGradient)(ArkUINodeHandle node, const ArkUIInt32orFloat32* values, ArkUI_Int32 valuesLength,
1980         const ArkUIInt32orFloat32* colors, ArkUI_Int32 colorsLength);
1981     void (*resetLinearGradient)(ArkUINodeHandle node);
1982     void (*setSweepGradient)(ArkUINodeHandle node, const ArkUIInt32orFloat32* values, ArkUI_Int32 valuesLength,
1983         const ArkUIInt32orFloat32* colors, ArkUI_Int32 colorsLength);
1984     void (*resetSweepGradient)(ArkUINodeHandle node);
1985     void (*setRadialGradient)(ArkUINodeHandle node, const ArkUIInt32orFloat32* values, ArkUI_Int32 valuesLength,
1986         const ArkUIInt32orFloat32* colors, ArkUI_Int32 colorsLength);
1987     void (*resetRadialGradient)(ArkUINodeHandle node);
1988     void (*setOverlay)(
1989         ArkUINodeHandle node, ArkUI_CharPtr text, const ArkUI_Float32* options, ArkUI_Int32 optionsLength);
1990     void (*resetOverlay)(ArkUINodeHandle node);
1991     void (*setBorderImage)(
1992         ArkUINodeHandle node, ArkUI_CharPtr src, const ArkUIStringAndFloat* options, ArkUI_Int32 optionsLength);
1993     void (*resetBorderImage)(ArkUINodeHandle node);
1994     void (*setBorderImageGradient)(ArkUINodeHandle node, const ArkUIInt32orFloat32* values, ArkUI_Int32 valuesLength,
1995         const ArkUIInt32orFloat32* colors, ArkUI_Int32 colorsLength);
1996     void (*setForegroundBlurStyle)(ArkUINodeHandle node, ArkUI_Int32 (*intArray)[3], ArkUI_Float32 scale,
1997         const ArkUI_Float32* blurValues, ArkUI_Int32 blurValuesSize, ArkUI_Bool disableSystemAdaptation);
1998     void (*resetForegroundBlurStyle)(ArkUINodeHandle node);
1999     void (*setLinearGradientBlur)(ArkUINodeHandle node, ArkUI_Float32 blurRadius, const ArkUI_Float32* stops,
2000         ArkUI_Uint32 stopsLength, ArkUI_Int32 directionValue);
2001     void (*resetLinearGradientBlur)(ArkUINodeHandle node);
2002     void (*setBackgroundBlurStyle)(ArkUINodeHandle node, ArkUI_Int32 (*intArray)[5], ArkUI_Float32 scale,
2003         const ArkUI_Float32* blurValues, ArkUI_Int32 blurValuesSize, ArkUI_Bool isValidColor,
2004         ArkUI_Uint32 inactiveColorArg, ArkUI_Bool disableSystemAdaptation);
2005     void (*resetBackgroundBlurStyle)(ArkUINodeHandle node);
2006     void (*setBorder)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize,
2007         const ArkUI_Uint32* colorAndStyle, ArkUI_Int32 colorAndStyleSize, ArkUI_Bool isLocalizedBorderWidth,
2008         ArkUI_Bool isLocalizedBorderColor, ArkUI_Bool isLocalizedBorderRadius);
2009     void (*resetBorder)(ArkUINodeHandle node);
2010     void (*setBackgroundImagePosition)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* types,
2011         ArkUI_Bool isAlign, ArkUI_Int32 size);
2012     void (*resetBackgroundImagePosition)(ArkUINodeHandle node);
2013     void (*setBackgroundImageSize)(ArkUINodeHandle node, ArkUI_Float32 valueWidth, ArkUI_Float32 valueHeight,
2014         ArkUI_Int32 typeWidth, ArkUI_Int32 typeHeight);
2015     void (*resetBackgroundImageSize)(ArkUINodeHandle node);
2016     void (*setBackgroundImage)(
2017         ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundle, ArkUI_CharPtr module, ArkUI_Int32 repeatIndex);
2018     void (*resetBackgroundImage)(ArkUINodeHandle node);
2019     void (*setBackgroundImageSyncMode)(ArkUINodeHandle node, ArkUI_Bool syncMode);
2020     void (*resetBackgroundImageSyncMode)(ArkUINodeHandle node);
2021     void (*setTranslate)(
2022         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
2023     void (*resetTranslate)(ArkUINodeHandle node);
2024     void (*setScale)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength, const ArkUI_Int32* units,
2025         ArkUI_Int32 unitLength);
2026     void (*setScaleWithoutTransformCenter)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength);
2027     void (*resetScale)(ArkUINodeHandle node);
2028     void (*setRotate)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength,
2029         const ArkUI_Int32* units, ArkUI_Int32 unitLength);
2030     void (*setRotateWithoutTransformCenter)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength);
2031     void (*resetRotate)(ArkUINodeHandle node);
2032     void (*setGeometryTransition)(
2033         ArkUINodeHandle node, ArkUI_CharPtr id, const ArkUIGeometryTransitionOptions* options);
2034     void (*resetGeometryTransition)(ArkUINodeHandle node);
2035     void (*setBindTips)(ArkUINodeHandle node, ArkUI_CharPtr message, ArkUIBindTipsOptionsTime timeOptions,
2036         ArkUIBindTipsOptionsArrow arrowOptions);
2037     void (*resetBindTips)(ArkUINodeHandle node);
2038     void (*setPixelStretchEffect)(
2039         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
2040     void (*resetPixelStretchEffect)(ArkUINodeHandle node);
2041     void (*setLightUpEffect)(ArkUINodeHandle node, ArkUI_Float32 radio);
2042     void (*resetLightUpEffect)(ArkUINodeHandle node);
2043     void (*setSphericalEffect)(ArkUINodeHandle node, ArkUI_Float64 radio);
2044     void (*resetSphericalEffect)(ArkUINodeHandle node);
2045     void (*setRenderGroup)(ArkUINodeHandle node, ArkUI_Bool isRenderGroup);
2046     void (*resetRenderGroup)(ArkUINodeHandle node);
2047     void (*setRenderFit)(ArkUINodeHandle node, ArkUI_Int32 renderFit);
2048     void (*resetRenderFit)(ArkUINodeHandle node);
2049     void (*setUseEffect)(ArkUINodeHandle node, ArkUI_Bool useEffect, ArkUI_Int32 effectType);
2050     void (*resetUseEffect)(ArkUINodeHandle node);
2051     void (*setForegroundColor)(ArkUINodeHandle node, ArkUI_Bool isColor, ArkUI_Uint32 color);
2052     void (*resetForegroundColor)(ArkUINodeHandle node);
2053     void (*setMotionPath)(
2054         ArkUINodeHandle node, ArkUI_CharPtr path, ArkUI_Float32 from, ArkUI_Float32 to, ArkUI_Bool rotatable);
2055     void (*resetMotionPath)(ArkUINodeHandle node);
2056     void (*setMotionBlur)(ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Float32 anchorX, ArkUI_Float32 anchorY);
2057     void (*resetMotionBlur)(ArkUINodeHandle node);
2058     void (*setGroupDefaultFocus)(ArkUINodeHandle node, ArkUI_Bool groupDefaultFocus);
2059     void (*resetGroupDefaultFocus)(ArkUINodeHandle node);
2060     void (*setFocusOnTouch)(ArkUINodeHandle node, ArkUI_Bool focusOnTouch);
2061     void (*resetFocusOnTouch)(ArkUINodeHandle node);
2062     void (*setFocusable)(ArkUINodeHandle node, ArkUI_Bool focusable);
2063     void (*resetFocusable)(ArkUINodeHandle node);
2064     void (*setTouchable)(ArkUINodeHandle node, ArkUI_Bool touchable);
2065     void (*resetTouchable)(ArkUINodeHandle node);
2066     void (*setDefaultFocus)(ArkUINodeHandle node, ArkUI_Bool defaultFocus);
2067     void (*resetDefaultFocus)(ArkUINodeHandle node);
2068     void (*setDisplayPriority)(ArkUINodeHandle node, ArkUI_Float32 value);
2069     void (*resetDisplayPriority)(ArkUINodeHandle node);
2070     void (*setOffset)(ArkUINodeHandle node, const ArkUI_Float32* number, const ArkUI_Int32* unit);
2071     void (*setOffsetEdges)(ArkUINodeHandle node, ArkUI_Bool useEdges, const ArkUIStringAndFloat* options);
2072     void (*resetOffset)(ArkUINodeHandle node);
2073     void (*setPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
2074         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
2075     void (*resetPadding)(ArkUINodeHandle node);
2076     void (*setMargin)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
2077         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
2078     void (*resetMargin)(ArkUINodeHandle node);
2079     void (*setSafeAreaPadding)(
2080         ArkUINodeHandle node, const struct ArkUIPaddingType* safeAreaPadding, ArkUI_Bool isLengthMetrics);
2081     void (*resetSafeAreaPadding)(ArkUINodeHandle node);
2082     void (*setMarkAnchor)(
2083         ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue, ArkUI_Int32 yUnit);
2084     void (*resetMarkAnchor)(ArkUINodeHandle node);
2085     void (*setVisibility)(ArkUINodeHandle node, ArkUI_Int32 value);
2086     void (*resetVisibility)(ArkUINodeHandle node);
2087     void (*setAccessibilityText)(ArkUINodeHandle node, ArkUI_CharPtr value);
2088     void (*resetAccessibilityText)(ArkUINodeHandle node);
2089     void (*setAllowDrop)(ArkUINodeHandle node, ArkUI_CharPtr* value, ArkUI_Int32 length);
2090     void (*resetAllowDrop)(ArkUINodeHandle node);
2091     void (*setAccessibilityLevel)(ArkUINodeHandle node, ArkUI_CharPtr value);
2092     void (*resetAccessibilityLevel)(ArkUINodeHandle node);
2093     void (*setAccessibilityCustomRole)(ArkUINodeHandle node, ArkUI_CharPtr value);
2094     void (*resetAccessibilityCustomRole)(ArkUINodeHandle node);
2095     void (*setDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
2096     void (*resetDirection)(ArkUINodeHandle node);
2097     void (*setLayoutWeight)(ArkUINodeHandle node, ArkUI_Int32 layoutWeight);
2098     void (*resetLayoutWeight)(ArkUINodeHandle node);
2099     void (*setMinWidth)(ArkUINodeHandle node, const struct ArkUISizeType* minWidth);
2100     void (*resetMinWidth)(ArkUINodeHandle node);
2101     void (*setMaxWidth)(ArkUINodeHandle node, const struct ArkUISizeType* maxWidth);
2102     void (*resetMaxWidth)(ArkUINodeHandle node);
2103     void (*setMinHeight)(ArkUINodeHandle node, const struct ArkUISizeType* minHeight);
2104     void (*resetMinHeight)(ArkUINodeHandle node);
2105     void (*setMaxHeight)(ArkUINodeHandle node, const struct ArkUISizeType* maxHeight);
2106     void (*resetMaxHeight)(ArkUINodeHandle node);
2107     void (*setSize)(ArkUINodeHandle node, const ArkUI_Float32* number, const ArkUI_Int32* unit, ArkUI_CharPtr* calc);
2108     void (*resetSize)(ArkUINodeHandle node);
2109     void (*clearWidthOrHeight)(ArkUINodeHandle node, ArkUI_Bool isWidth);
2110     void (*setAlignSelf)(ArkUINodeHandle node, ArkUI_Int32 value);
2111     void (*resetAlignSelf)(ArkUINodeHandle node);
2112     void (*setAspectRatio)(ArkUINodeHandle node, ArkUI_Float32 value);
2113     void (*resetAspectRatio)(ArkUINodeHandle node);
2114     void (*setFlexGrow)(ArkUINodeHandle node, ArkUI_Float32 value);
2115     void (*resetFlexGrow)(ArkUINodeHandle node);
2116     void (*setFlexShrink)(ArkUINodeHandle node, ArkUI_Float32 value);
2117     void (*resetFlexShrink)(ArkUINodeHandle node);
2118     void (*setGridOffset)(ArkUINodeHandle node, ArkUI_Int32 offset);
2119     void (*resetGridOffset)(ArkUINodeHandle node);
2120     void (*setGridSpan)(ArkUINodeHandle node, ArkUI_Int32 value);
2121     void (*resetGridSpan)(ArkUINodeHandle node);
2122     void (*setExpandSafeArea)(ArkUINodeHandle node, ArkUI_Uint32 typeStr, ArkUI_Uint32 edgesStr);
2123     void (*resetExpandSafeArea)(ArkUINodeHandle node);
2124     void (*setFlexBasis)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* flexBasisValue);
2125     void (*resetFlexBasis)(ArkUINodeHandle node);
2126     void (*setAlignRules)(ArkUINodeHandle node, char** anchors, const ArkUI_Int32* direction, ArkUI_Int32 length);
2127     void (*resetAlignRules)(ArkUINodeHandle node);
2128     void (*setAccessibilityDescription)(ArkUINodeHandle node, ArkUI_CharPtr value);
2129     void (*resetAccessibilityDescription)(ArkUINodeHandle node);
2130     void (*setId)(ArkUINodeHandle node, ArkUI_CharPtr id);
2131     void (*resetId)(ArkUINodeHandle node);
2132     void (*setKey)(ArkUINodeHandle node, ArkUI_CharPtr key);
2133     void (*resetKey)(ArkUINodeHandle node);
2134     void (*setRestoreId)(ArkUINodeHandle node, ArkUI_Uint32 id);
2135     void (*resetRestoreId)(ArkUINodeHandle node);
2136     void (*setTabIndex)(ArkUINodeHandle node, ArkUI_Int32 index);
2137     void (*resetTabIndex)(ArkUINodeHandle node);
2138     void (*setObscured)(ArkUINodeHandle node, const ArkUI_Int32* reasons, ArkUI_Int32 length);
2139     void (*resetObscured)(ArkUINodeHandle node);
2140     void (*setResponseRegion)(
2141         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
2142     void (*resetResponseRegion)(ArkUINodeHandle node);
2143     void (*setForegroundEffect)(ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Bool disableSystemAdaptation);
2144     void (*resetForegroundEffect)(ArkUINodeHandle node);
2145     void (*setBackgroundEffect)(ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Float32 saturation,
2146         ArkUI_Float32 brightness, ArkUI_Uint32 color, ArkUI_Int32 adaptiveColor, const ArkUI_Float32* blurValues,
2147         ArkUI_Int32 blurValuesSize, ArkUI_Int32 policy, ArkUI_Int32 blurType, ArkUI_Bool isValidColor,
2148         ArkUI_Uint32 inactiveColorArg, ArkUI_Bool disableSystemAdaptation);
2149     void (*resetBackgroundEffect)(ArkUINodeHandle node);
2150     void (*setBackgroundBrightness)(ArkUINodeHandle node, ArkUI_Float32 rate, ArkUI_Float32 lightUpDegree);
2151     void (*resetBackgroundBrightness)(ArkUINodeHandle node);
2152     void (*setBackgroundBrightnessInternal)(ArkUINodeHandle node, ArkUI_Float32 rate, ArkUI_Float32 lightUpDegree,
2153         ArkUI_Float32 cubicCoeff, ArkUI_Float32 quadCoeff, ArkUI_Float32 saturation, const ArkUI_Float32* posRGBValues,
2154         ArkUI_Int32 posRGBValuesSize, const ArkUI_Float32* negRGBValues, ArkUI_Int32 negRGBValuesSize,
2155         ArkUI_Float32 fraction);
2156     void (*resetBackgroundBrightnessInternal)(ArkUINodeHandle node);
2157     void (*setForegroundBrightness)(ArkUINodeHandle node, ArkUI_Float32 rate, ArkUI_Float32 lightUpDegree,
2158         ArkUI_Float32 cubicCoeff, ArkUI_Float32 quadCoeff, ArkUI_Float32 saturation, const ArkUI_Float32* posRGBValues,
2159         ArkUI_Int32 posRGBValuesSize, const ArkUI_Float32* negRGBValues, ArkUI_Int32 negRGBValuesSize,
2160         ArkUI_Float32 fraction);
2161     void (*resetForegroundBrightness)(ArkUINodeHandle node);
2162     void (*setDragPreviewOptions)(ArkUINodeHandle node, ArkUIDragPreViewOptions dragPreviewOptions,
2163         ArkUIDragInteractionOptions dragInteractionOptions);
2164     void (*resetDragPreviewOptions)(ArkUINodeHandle node);
2165     void (*setMouseResponseRegion)(
2166         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
2167     void (*resetMouseResponseRegion)(ArkUINodeHandle node);
2168     void (*setEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
2169     void (*resetEnabled)(ArkUINodeHandle node);
2170     void (*setUseShadowBatching)(ArkUINodeHandle node, ArkUI_Bool value);
2171     void (*resetUseShadowBatching)(ArkUINodeHandle node);
2172     void (*setDraggable)(ArkUINodeHandle node, ArkUI_Bool value);
2173     void (*resetDraggable)(ArkUINodeHandle node);
2174     void (*setAccessibilityGroup)(ArkUINodeHandle node, ArkUI_Bool value);
2175     void (*resetAccessibilityGroup)(ArkUINodeHandle node);
2176     void (*setAccessibilityNextFocusId)(ArkUINodeHandle node, ArkUI_CharPtr value);
2177     void (*resetAccessibilityNextFocusId)(ArkUINodeHandle node);
2178     void (*setAccessibilityDefaultFocus)(ArkUINodeHandle node, ArkUI_Bool value);
2179     void (*resetAccessibilityDefaultFocus)(ArkUINodeHandle node);
2180     void (*setAccessibilityUseSamePage)(ArkUINodeHandle node, ArkUI_Bool isFullSilent);
2181     void (*resetAccessibilityUseSamePage)(ArkUINodeHandle node);
2182     void (*setAccessibilityScrollTriggerable)(ArkUINodeHandle node, ArkUI_Bool value);
2183     void (*resetAccessibilityScrollTriggerable)(ArkUINodeHandle node);
2184     void (*setAccessibilityFocusDrawLevel)(ArkUINodeHandle node, ArkUI_Int32 drawLevel);
2185     void (*resetAccessibilityFocusDrawLevel)(ArkUINodeHandle node);
2186     void (*setHoverEffect)(ArkUINodeHandle node, ArkUI_Int32 hoverEffectValue);
2187     void (*resetHoverEffect)(ArkUINodeHandle node);
2188     void (*setClickEffect)(ArkUINodeHandle node, ArkUI_Int32 level, ArkUI_Float32 scaleValue);
2189     void (*resetClickEffect)(ArkUINodeHandle node);
2190     void (*setKeyBoardShortCut)(
2191         ArkUINodeHandle node, ArkUI_CharPtr value, const ArkUI_Int32* keysIntArray, ArkUI_Int32 length);
2192     void (*resetKeyBoardShortCut)(ArkUINodeHandle node);
2193     void (*setPointLightPosition)(ArkUINodeHandle node, const struct ArkUISizeType* positionX,
2194         const struct ArkUISizeType* positionY, const struct ArkUISizeType* positionZ);
2195     void (*resetPointLightPosition)(ArkUINodeHandle node);
2196     void (*setPointLightIntensity)(ArkUINodeHandle node, ArkUI_Float32 intensity);
2197     void (*resetPointLightIntensity)(ArkUINodeHandle node);
2198     void (*setPointLightColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2199     void (*resetPointLightColor)(ArkUINodeHandle node);
2200     void (*setPointLightIlluminated)(
2201         ArkUINodeHandle node, ArkUI_Uint32 illuminated, const struct ArkUISizeType* illuminatedBorderWidth);
2202     void (*resetPointLightIlluminated)(ArkUINodeHandle node);
2203     void (*setPointLightBloom)(
2204         ArkUINodeHandle node, ArkUI_Float32 bloom, ArkUI_Float32 bloomRadius, ArkUI_Uint32 bloomColor);
2205     void (*resetPointLightBloom)(ArkUINodeHandle node);
2206     void (*setClip)(ArkUINodeHandle node, ArkUI_Int32 isClip);
2207     void (*setClipShape)(
2208         ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32* attribute, ArkUI_Int32 length, ArkUI_Int32 unit);
2209     void (*setClipPath)(ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32 (*attribute)[2],
2210         ArkUI_CharPtr commands, ArkUI_Int32 unit);
2211     void (*resetClip)(ArkUINodeHandle node);
2212     void (*setTransitionCenter)(ArkUINodeHandle node, ArkUI_Float32 centerX, ArkUI_Int32 centerXUnit,
2213         ArkUI_Float32 centerY, ArkUI_Int32 centerYUnit, ArkUI_Float32 centerZValue, ArkUI_Int32 centerZUnit);
2214     void (*setOpacityTransition)(
2215         ArkUINodeHandle node, ArkUI_Float32 value, const ArkUIAnimationOptionType* opacityOption);
2216     void (*setRotateTransition)(ArkUINodeHandle node, ArkUI_Float32* arrayValue, ArkUI_Int32 length,
2217         ArkUI_Float32 perspective, ArkUI_Float32 angle, const ArkUIAnimationOptionType* opacityOption);
2218     void (*setScaleTransition)(ArkUINodeHandle node, ArkUI_Float32* arrayValue, ArkUI_Int32 length,
2219         const ArkUIAnimationOptionType* opacityOption);
2220     void (*setTranslateTransition)(ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue,
2221         ArkUI_Int32 yUnit, ArkUI_Float32 zValue, ArkUI_Int32 zUnit, const ArkUIAnimationOptionType* opacityOption);
2222     void (*setMaskShape)(ArkUINodeHandle node, ArkUI_CharPtr type, ArkUI_Uint32 fill, ArkUI_Uint32 stroke,
2223         ArkUI_Float32 strokeWidth, const ArkUI_Float32* attribute, ArkUI_Int32 length, ArkUI_Int32 unit);
2224     void (*setMaskPath)(ArkUINodeHandle node, ArkUI_CharPtr type, ArkUI_Uint32 fill, ArkUI_Uint32 stroke,
2225         ArkUI_Float32 strokeWidth, const ArkUI_Float32 (*attribute)[2], ArkUI_CharPtr commands, ArkUI_Int32 unit);
2226     void (*setProgressMask)(ArkUINodeHandle node, const ArkUI_Float32* attribute, ArkUI_Uint32 color);
2227     void (*setBlendMode)(ArkUINodeHandle node, ArkUI_Int32 blendMode, ArkUI_Int32 blendApplyTypeValue);
2228     void (*resetBlendMode)(ArkUINodeHandle node);
2229     void (*setMonopolizeEvents)(ArkUINodeHandle node, ArkUI_Bool value);
2230     void (*resetMonopolizeEvents)(ArkUINodeHandle node);
2231     void (*setConstraintSize)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units);
2232     void (*resetConstraintSize)(ArkUINodeHandle node);
2233     void (*setOutlineColor)(ArkUINodeHandle node, const ArkUI_Uint32* values, ArkUI_Int32 valuesSize);
2234     void (*resetOutlineColor)(ArkUINodeHandle node);
2235     void (*setOutlineRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
2236     void (*resetOutlineRadius)(ArkUINodeHandle node);
2237     void (*setOutlineWidth)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
2238     void (*resetOutlineWidth)(ArkUINodeHandle node);
2239     void (*setOutlineStyle)(ArkUINodeHandle node, const ArkUI_Uint32* values, ArkUI_Int32 valuesSize);
2240     void (*resetOutlineStyle)(ArkUINodeHandle node);
2241     void (*setOutline)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize,
2242         const ArkUI_Uint32* colorAndStyle, ArkUI_Int32 colorAndStyleSize);
2243     void (*resetOutline)(ArkUINodeHandle node);
2244     void (*setBindPopup)(ArkUINodeHandle node, ArkUIPopupParam* param, ArkUINodeHandle customNode);
2245     void (*resetBindPopup)(ArkUINodeHandle node);
2246     ArkUI_Bool (*getFocusable)(ArkUINodeHandle node);
2247     ArkUI_Bool (*getDefaultFocus)(ArkUINodeHandle node);
2248     ArkUI_Int32 (*getResponseRegion)(ArkUINodeHandle node, ArkUI_Float32 (*values)[32]);
2249     ArkUI_CharPtr (*getOverlay)(ArkUINodeHandle node, ArkUIOverlayOptions* options, ArkUI_Int32 unit);
2250     ArkUI_Bool (*getAccessibilityGroup)(ArkUINodeHandle node);
2251     ArkUI_CharPtr (*getAccessibilityText)(ArkUINodeHandle node);
2252     ArkUI_CharPtr (*getAccessibilityDescription)(ArkUINodeHandle node);
2253     ArkUI_CharPtr (*getAccessibilityLevel)(ArkUINodeHandle node);
2254     void (*setNeedFocus)(ArkUINodeHandle node, ArkUI_Bool value);
2255     ArkUI_Bool (*getNeedFocus)(ArkUINodeHandle node);
2256     ArkUI_Float32 (*getOpacity)(ArkUINodeHandle node);
2257     void (*getBorderWidth)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 unit);
2258     void (*getBorderWidthDimension)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 (*units)[4]);
2259     void (*getBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 unit);
2260     void (*getBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 (*values)[4]);
2261     void (*getBorderStyle)(ArkUINodeHandle node, ArkUI_Int32 (*values)[4]);
2262     ArkUI_Int32 (*getZIndex)(ArkUINodeHandle node);
2263     ArkUI_Int32 (*getVisibility)(ArkUINodeHandle node);
2264     ArkUI_Int32 (*getClip)(ArkUINodeHandle node);
2265     void (*getClipShape)(ArkUINodeHandle node, ArkUIClipShapeOptions* options, ArkUI_Int32 unit);
2266     void (*getTransform)(ArkUINodeHandle node, ArkUI_Float32 (*values)[16]);
2267     ArkUI_Int32 (*getHitTestBehavior)(ArkUINodeHandle node);
2268     void (*getPosition)(ArkUINodeHandle node, ArkUIPositionOptions* options, ArkUI_Int32 unit);
2269     ArkUI_Int32 (*getShadow)(ArkUINodeHandle node);
2270     void (*getCustomShadow)(ArkUINodeHandle node, ArkUICustomShadowOptions* options);
2271     ArkUI_Int32 (*getSweepGradient)(ArkUINodeHandle node, ArkUI_Float32 (*values)[6], ArkUI_Uint32 (*colors)[10],
2272         ArkUI_Float32 (*stops)[10], ArkUI_Int32 unit);
2273     ArkUI_Int32 (*getRadialGradient)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Uint32 (*colors)[10],
2274         ArkUI_Float32 (*stops)[10], ArkUI_Int32 unit);
2275     void (*getMask)(ArkUINodeHandle node, ArkUIMaskOptions* options, ArkUI_Int32 unit);
2276     void (*getBlendMode)(ArkUINodeHandle node, ArkUIBlendModeOptions* options);
2277     ArkUI_Int32 (*getDirection)(ArkUINodeHandle node);
2278     ArkUI_Int32 (*getAlignSelf)(ArkUINodeHandle node);
2279     ArkUITransformCenterType (*getTransformCenter)(ArkUINodeHandle node);
2280     ArkUIOpacityTransitionType (*getOpacityTransition)(ArkUINodeHandle node);
2281     ArkUIRotateTransitionType (*getRotateTransition)(ArkUINodeHandle node);
2282     ArkUIScaleTransitionType (*getScaleTransition)(ArkUINodeHandle node);
2283     ArkUITranslateTransitionType (*getTranslateTransition)(ArkUINodeHandle node);
2284     ArkUIOffsetType (*getOffset)(ArkUINodeHandle node);
2285     ArkUIAnchorType (*getMarkAnchor)(ArkUINodeHandle node);
2286     void (*getAlignRules)(ArkUINodeHandle node, ArkUI_CharPtr* anchors, ArkUI_Int32* direction, ArkUI_Int32 length);
2287     ArkUIBlurStyleOptionType (*getBackgroundBlurStyle)(ArkUINodeHandle node);
2288     ArkUIImageSizeType (*getBackgroundImageSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
2289     ArkUI_Int32 (*getBackgroundImageSizeWithStyle)(ArkUINodeHandle node);
2290     void (*setOutlineWidthFloat)(ArkUINodeHandle node, ArkUI_Float32 left, ArkUI_Float32 top,
2291         ArkUI_Float32 right, ArkUI_Float32 bottom);
2292     void (*getOutlineWidthFloat)(ArkUINodeHandle node, ArkUI_Float32* borderWidthVector, ArkUI_Int32 borderWidthSize);
2293     ArkUI_Int32 (*getDisplayPriority)(ArkUINodeHandle node);
2294     void (*setAlignRulesWidthType)(ArkUINodeHandle node, const ArkUIAlignRulesType* alignRulesType);
2295     ArkUI_Float32 (*getLayoutWeight)(ArkUINodeHandle node);
2296     void (*getScale)(ArkUINodeHandle node, ArkUIScaleType* scaleType);
2297     void (*getRotate)(ArkUINodeHandle node, ArkUIRotateType* rotateType);
2298     ArkUI_Float32 (*getBrightness)(ArkUINodeHandle node);
2299     ArkUI_Float32 (*getSaturate)(ArkUINodeHandle node);
2300     void (*getBackgroundImagePosition)(ArkUINodeHandle node, ArkUIPositionOptions* position, ArkUI_Int32 unit);
2301     ArkUI_Float32 (*getFlexGrow)(ArkUINodeHandle node);
2302     ArkUI_Float32 (*getFlexShrink)(ArkUINodeHandle node);
2303     ArkUI_Float32 (*getFlexBasis)(ArkUINodeHandle node);
2304     void (*getConstraintSize)(ArkUINodeHandle node, ArkUIConstraintSizeOptions* options, ArkUI_Int32 unit);
2305     ArkUI_Float32 (*getGrayScale)(ArkUINodeHandle node);
2306     ArkUI_Float32 (*getInvert)(ArkUINodeHandle node);
2307     ArkUI_Float32 (*getSepia)(ArkUINodeHandle node);
2308     ArkUI_Float32 (*getContrast)(ArkUINodeHandle node);
2309     ArkUI_Uint32 (*getForegroundColor)(ArkUINodeHandle node);
2310     ArkUI_Float32 (*getBlur)(ArkUINodeHandle node);
2311     ArkUI_Int32 (*getLinearGradient)(
2312         ArkUINodeHandle node, ArkUI_Float32 (*values)[3], ArkUI_Uint32 (*colors)[10], ArkUI_Float32 (*stop)[10]);
2313     ArkUI_Int32 (*getAlign)(ArkUINodeHandle node);
2314     ArkUI_Float32 (*getWidth)(ArkUINodeHandle node, ArkUI_Int32 unit);
2315     ArkUI_Float32 (*getHeight)(ArkUINodeHandle node, ArkUI_Int32 unit);
2316     ArkUI_Uint32 (*getBackgroundColor)(ArkUINodeHandle node);
2317     void (*getBackgroundImage)(ArkUINodeHandle node, ArkUIBackgroundImage* options);
2318     void (*getPadding)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 length, ArkUI_Int32 unit);
2319     void (*getPaddingDimension)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 (*units)[4]);
2320     void (*getConfigSize)(ArkUINodeHandle node, ArkUI_Float32 (*values)[2], ArkUI_Int32 (*units)[2]);
2321     ArkUI_CharPtr (*getKey)(ArkUINodeHandle node);
2322     ArkUI_Int32 (*getEnabled)(ArkUINodeHandle node);
2323     void (*getMargin)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 length, ArkUI_Int32 unit);
2324     void (*getMarginDimension)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 (*units)[4]);
2325     void (*getTranslate)(ArkUINodeHandle node, ArkUI_Float32 (*values)[3], ArkUI_Int32 unit);
2326     void (*setMoveTransition)(ArkUINodeHandle node, ArkUI_Int32 value, const ArkUIAnimationOptionType* opacityOption);
2327     ArkUIMoveTransitionType (*getMoveTransition)(ArkUINodeHandle node);
2328     void (*resetMask)(ArkUINodeHandle node);
2329     ArkUI_Float32 (*getAspectRatio)(ArkUINodeHandle node);
2330     void (*setBackgroundImageResizable)(ArkUINodeHandle node, ArkUIStringAndFloat* options);
2331     ArkUIImageResizableSlice (*getBackgroundImageResizable)(ArkUINodeHandle node);
2332     void (*resetBackgroundImageResizable)(ArkUINodeHandle node);
2333     void (*setBackgroundImageSizeWithUnit)(ArkUINodeHandle node, ArkUI_Float32 valueWidth, ArkUI_Float32 valueHeight,
2334         ArkUI_Int32 unit);
2335     ArkUI_Int32 (*getRenderFit)(ArkUINodeHandle node);
2336     void (*getOutlineColor)(ArkUINodeHandle node, ArkUI_Uint32 (*values)[4]);
2337     void (*getSize)(ArkUINodeHandle node, ArkUI_Float32 (*values)[2], ArkUI_Int32 unit);
2338     ArkUI_Bool (*getRenderGroup)(ArkUINodeHandle node);
2339     void (*setOnVisibleAreaChange)(
2340         ArkUINodeHandle node, ArkUI_Int64 extraParam, ArkUI_Float32* values, ArkUI_Int32 size);
2341     ArkUI_CharPtr (*getGeometryTransition)(ArkUINodeHandle node, ArkUIGeometryTransitionOptions* options);
2342     void (*setChainStyle)(ArkUINodeHandle node, ArkUI_Int32 direction, ArkUI_Int32 style);
2343     void (*getChainStyle)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
2344     void (*resetChainStyle)(ArkUINodeHandle node);
2345     void (*setBias)(ArkUINodeHandle node, ArkUI_Float32 horizontal, ArkUI_Float32 vertical);
2346     void (*getBias)(ArkUINodeHandle node, ArkUI_Float32* values);
2347     void (*resetBias)(ArkUINodeHandle node);
2348     ArkUI_Uint32 (*getColorBlend)(ArkUINodeHandle node);
2349     ArkUIBlurStyleOptionType (*getForegroundBlurStyle)(ArkUINodeHandle node);
2350     void (*setBackgroundImagePixelMap)(ArkUINodeHandle node, void* drawableDescriptor, ArkUI_Int32 repeatIndex);
2351     void (*setBackgroundImagePixelMapByPixelMapPtr)(ArkUINodeHandle node, void* pixelMapPtr, ArkUI_Int32 repeatIndex);
2352     void (*setLayoutRect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[4]);
2353     void (*getLayoutRect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[4]);
2354     void (*resetLayoutRect)(ArkUINodeHandle node);
2355     ArkUI_Bool (*getFocusOnTouch)(ArkUINodeHandle node);
2356     void (*setSystemBarEffect)(ArkUINodeHandle node, ArkUI_Bool enable);
2357     ArkUI_Int32 (*getAccessibilityID)(ArkUINodeHandle node);
2358     void (*setAccessibilityState)(ArkUINodeHandle node, const ArkUIAccessibilityState& state);
2359     void (*getAccessibilityState)(ArkUINodeHandle node, ArkUIAccessibilityState& state);
2360     void (*resetAccessibilityState)(ArkUINodeHandle node);
2361     void (*setAccessibilityValue)(ArkUINodeHandle node, const ArkUIAccessibilityValue& value);
2362     void (*getAccessibilityValue)(ArkUINodeHandle node, ArkUIAccessibilityValue& value);
2363     void (*resetAccessibilityValue)(ArkUINodeHandle node);
2364     void (*setAccessibilityActions)(ArkUINodeHandle node, ArkUI_Uint32 actions);
2365     void (*resetAccessibilityActions)(ArkUINodeHandle node);
2366     ArkUI_Uint32 (*getAccessibilityActions)(ArkUINodeHandle node);
2367     void (*setAccessibilityRole)(ArkUINodeHandle node, ArkUI_CharPtr role);
2368     void (*resetAccessibilityRole)(ArkUINodeHandle node);
2369     ArkUI_CharPtr (*getAccessibilityRole)(ArkUINodeHandle node);
2370     void (*setFocusScopeId)(ArkUINodeHandle node, ArkUI_CharPtr id, ArkUI_Bool isGroup, ArkUI_Bool arrowKeyStepOut);
2371     void (*resetFocusScopeId)(ArkUINodeHandle node);
2372     void (*setFocusScopePriority)(ArkUINodeHandle node, ArkUI_CharPtr scopeId, ArkUI_Int32 priority);
2373     void (*resetFocusScopePriority)(ArkUINodeHandle node);
2374     void (*setPixelRound)(ArkUINodeHandle node, const ArkUI_Int32* values, ArkUI_Int32 length);
2375     void (*resetPixelRound)(ArkUINodeHandle node);
2376     void (*setBorderDashParams)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
2377     void (*getExpandSafeArea)(ArkUINodeHandle node, ArkUI_Uint32 (*values)[2]);
2378     void (*setTransition)(ArkUINodeHandle node, ArkUITransitionEffectOption* option);
2379     void (*setDragPreview)(ArkUINodeHandle node, ArkUIDragPreview dragPreview);
2380     void (*resetDragPreview)(ArkUINodeHandle node);
2381     ArkUI_Int32 (*getNodeUniqueId)(ArkUINodeHandle node);
2382     void (*setNextFocus)(ArkUINodeHandle node, ArkUI_CharPtr forward, ArkUI_CharPtr backward, ArkUI_CharPtr up,
2383         ArkUI_CharPtr down, ArkUI_CharPtr left, ArkUI_CharPtr right, ArkUI_Uint32 hasValue);
2384     void (*setNextFocusOneByOne)(ArkUINodeHandle node, FocusMove idx, ArkUINodeHandle focusNode);
2385     void (*resetNextFocus)(ArkUINodeHandle node);
2386     void (*setFocusBoxStyle)(ArkUINodeHandle node, ArkUI_Float32 valueMargin, ArkUI_Int32 marginUnit,
2387         ArkUI_Float32 valueStrokeWidth, ArkUI_Int32 widthUnit, ArkUI_Uint32 valueColor, ArkUI_Uint32 hasValue);
2388     void (*resetFocusBoxStyle)(ArkUINodeHandle node);
2389     void (*setClickDistance)(ArkUINodeHandle node, ArkUI_Float32 valueMargin);
2390     void (*resetClickDistance)(ArkUINodeHandle node);
2391     void (*setDisAllowDrop)(ArkUINodeHandle node);
2392     void (*setBlendModeByBlender)(ArkUINodeHandle node, ArkUINodeHandle blender, ArkUI_Int32 blendApplyTypeValue);
2393     void (*setTabStop)(ArkUINodeHandle node, ArkUI_Bool tabstop);
2394     void (*resetTabStop)(ArkUINodeHandle node);
2395     ArkUI_Bool (*getTabStop)(ArkUINodeHandle node);
2396     void (*setOnFocus)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node));
2397     void (*setOnBlur)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node));
2398     void (*setOnTouch)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node, ArkUINodeEvent event));
2399     void (*setOnHover)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node, bool isHover));
2400     void (*setOnHoverMove)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node));
2401     void (*setOnChange)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node, bool isOn));
2402     void (*setOnClick)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node, ArkUINodeEvent event));
2403     void (*setOnAppear)(ArkUINodeHandle node, void (*eventReceiver)(ArkUINodeHandle node));
2404     void (*dispatchKeyEvent)(ArkUINodeHandle node, ArkUIKeyEvent* arkUIkeyEvent);
2405     ArkUI_Int32 (*postTouchEvent)(ArkUINodeHandle node, const ArkUITouchEvent* arkUItouchEvent);
2406     void (*createClonedTouchEvent)(ArkUITouchEvent* arkUITouchEventCloned, const ArkUITouchEvent* arkUITouchEvent);
2407     void (*destroyTouchEvent)(ArkUITouchEvent* arkUITouchEvent);
2408     void (*resetEnableAnalyzer)(ArkUINodeHandle node);
2409     void (*setEnableAnalyzer)(ArkUINodeHandle node, ArkUI_Bool enable);
2410     void (*setNodeBackdropBlur)(
2411         ArkUINodeHandle node, ArkUI_Float32 value, const ArkUI_Float32* blurValues, ArkUI_Int32 blurValuesSize);
2412     ArkUIBackdropBlur (*getNodeBackdropBlur)(ArkUINodeHandle node);
2413     void (*setDisableDataPrefetch)(ArkUINodeHandle node, ArkUI_Bool disable);
2414     void (*setOnVisibleAreaApproximateChange)(
2415         ArkUINodeHandle node, ArkUI_Int64 extraParam, ArkUI_Float32* values, ArkUI_Int32 size, ArkUI_Int32 interval);
2416     void (*setPrivacySensitive)(ArkUINodeHandle node, ArkUI_Int32 sensitive);
2417     void (*resetPrivacySensitive)(ArkUINodeHandle node);
2418     void (*freezeUINodeById)(ArkUI_CharPtr id, ArkUI_Bool isFreeze);
2419     void (*freezeUINodeByUniqueId)(ArkUI_Int32 uniqueId, ArkUI_Bool isFreeze);
2420 };
2421 
2422 struct ArkUICommonShapeModifier {
2423     void (*setStrokeDashArray)(
2424         ArkUINodeHandle node, const ArkUI_Float32* dashArray, ArkUI_Int32* dimUnits, ArkUI_Int32 size);
2425     void (*resetStrokeDashArray)(ArkUINodeHandle node);
2426     void (*setStrokeMiterLimit)(ArkUINodeHandle node, const ArkUI_Float32 miterLimit);
2427     void (*resetStrokeMiterLimit)(ArkUINodeHandle node);
2428     void (*setFillOpacity)(ArkUINodeHandle node, const ArkUI_Float32 fillOpacity);
2429     void (*resetFillOpacity)(ArkUINodeHandle node);
2430     void (*setStrokeOpacity)(ArkUINodeHandle node, const ArkUI_Float32 strokeOpacity);
2431     void (*resetStrokeOpacity)(ArkUINodeHandle node);
2432     void (*setStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2433     void (*resetStrokeWidth)(ArkUINodeHandle node);
2434     void (*setAntiAlias)(ArkUINodeHandle node, const ArkUI_Bool antiAlias);
2435     void (*resetAntiAlias)(ArkUINodeHandle node);
2436     void (*setStroke)(ArkUINodeHandle node, const ArkUI_Uint32 stroke);
2437     void (*resetStroke)(ArkUINodeHandle node);
2438     void (*setFill)(ArkUINodeHandle node, const ArkUI_Uint32 fill);
2439     void (*resetFill)(ArkUINodeHandle node);
2440     void (*setStrokeDashOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2441     void (*resetStrokeDashOffset)(ArkUINodeHandle node);
2442     void (*setStrokeLineCap)(ArkUINodeHandle node, ArkUI_Int32 strokeLineCap);
2443     void (*resetStrokeLineCap)(ArkUINodeHandle node);
2444     void (*setStrokeLineJoin)(ArkUINodeHandle node, ArkUI_Int32 lineJoinStyle);
2445     void (*resetStrokeLineJoin)(ArkUINodeHandle node);
2446     void (*setShapeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2447     void (*resetShapeWidth)(ArkUINodeHandle node);
2448     void (*setShapeHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2449     void (*resetShapeHeight)(ArkUINodeHandle node);
2450     void (*setShapeForegroundColor)(ArkUINodeHandle node, ArkUI_Int32 isColor, ArkUI_Uint32 color);
2451     void (*resetShapeForegroundColor)(ArkUINodeHandle node);
2452 };
2453 
2454 struct ArkUILineModifier {
2455     void (*setStartPoint)(ArkUINodeHandle node, const ArkUI_Float32* pointValues, const ArkUI_Int32* pointUnits,
2456         ArkUI_CharPtr pointStr[]);
2457     void (*resetStartPoint)(ArkUINodeHandle node);
2458     void (*setEndPoint)(ArkUINodeHandle node, const ArkUI_Float32* pointValues, const ArkUI_Int32* pointUnits,
2459         ArkUI_CharPtr pointStr[]);
2460     void (*resetEndPoint)(ArkUINodeHandle node);
2461 };
2462 
2463 struct ArkUIPathModifier {
2464     void (*setPathCommands)(ArkUINodeHandle node, ArkUI_CharPtr commands);
2465     void (*resetPathCommands)(ArkUINodeHandle node);
2466 };
2467 
2468 struct ArkUIPolygonModifier {
2469     void (*setPolygonPoints)(
2470         ArkUINodeHandle node, const ArkUI_Float32* pointX, const ArkUI_Float32* pointY, ArkUI_Int32 length);
2471     void (*resetPolygonPoints)(ArkUINodeHandle node);
2472 };
2473 
2474 struct ArkUIPolylineModifier {
2475     void (*setPoints)(
2476         ArkUINodeHandle node, const ArkUI_Float32* pointX, const ArkUI_Float32* pointY, ArkUI_Int32 length);
2477     void (*resetPoints)(ArkUINodeHandle node);
2478 };
2479 
2480 struct ArkUIRectModifier {
2481     void (*setRectRadiusWidth)(ArkUINodeHandle node, ArkUI_Float32 radiusWidthValue, ArkUI_Int32 radiusWidthUnit);
2482     void (*resetRectRadiusWidth)(ArkUINodeHandle node);
2483     void (*setRectRadiusHeight)(ArkUINodeHandle node, ArkUI_Float32 radiusHeightValue, ArkUI_Int32 radiusHeightUnit);
2484     void (*resetRectRadiusHeight)(ArkUINodeHandle node);
2485     void (*setRectRadiusWithArray)(ArkUINodeHandle node, ArkUI_Float32* radiusValues, ArkUI_Int32* radiusUnits,
2486         ArkUI_Uint32* radiusValidPairs, ArkUI_Uint32 radiusValidPairsSize);
2487     void (*setRectRadiusWithValue)(ArkUINodeHandle node, ArkUI_Float32 radiusValue, ArkUI_Int32 radiusUnit);
2488     void (*resetRectRadius)(ArkUINodeHandle node);
2489 };
2490 
2491 struct ArkUIShapeModifier {
2492     void (*setShapeViewPort)(ArkUINodeHandle node, const ArkUI_Float32* dimValues, const ArkUI_Int32* dimUnits);
2493     void (*resetShapeViewPort)(ArkUINodeHandle node);
2494     void (*setShapeMesh)(ArkUINodeHandle node, const ArkUI_Float32* mesh, ArkUI_Uint32 arrayItemCount,
2495         ArkUI_Int32 column, ArkUI_Int32 row);
2496     void (*resetShapeMesh)(ArkUINodeHandle node);
2497 };
2498 
2499 struct ArkUITextModifier {
2500     void (*setContent)(ArkUINodeHandle node, ArkUI_CharPtr value);
2501     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_Int32 weight);
2502     void (*resetFontWeight)(ArkUINodeHandle node);
2503     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
2504     void (*resetFontStyle)(ArkUINodeHandle node);
2505     void (*setTextAlign)(ArkUINodeHandle node, ArkUI_Uint32 testAlign);
2506     void (*resetTextAlign)(ArkUINodeHandle node);
2507     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2508     void (*resetFontColor)(ArkUINodeHandle node);
2509     void (*setTextForegroundColor)(ArkUINodeHandle node, ArkUI_Bool isColor, ArkUI_Uint32 color);
2510     void (*resetTextForegroundColor)(ArkUINodeHandle node);
2511     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2512     void (*resetFontSize)(ArkUINodeHandle node);
2513     void (*setTextLineHeight)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2514     void (*resetTextLineHeight)(ArkUINodeHandle node);
2515     void (*setTextOverflow)(ArkUINodeHandle node, ArkUI_Int32 value);
2516     void (*resetTextOverflow)(ArkUINodeHandle node);
2517     void (*setTextDecoration)(ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, ArkUI_Int32 style);
2518     void (*resetTextDecoration)(ArkUINodeHandle node);
2519     void (*setTextCase)(ArkUINodeHandle node, ArkUI_Int32 value);
2520     void (*resetTextCase)(ArkUINodeHandle node);
2521     void (*setTextMaxLines)(ArkUINodeHandle node, ArkUI_Uint32 maxLine);
2522     void (*resetTextMaxLines)(ArkUINodeHandle node);
2523     void (*setTextMinFontSize)(ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit);
2524     void (*resetTextMinFontSize)(ArkUINodeHandle node);
2525     void (*setTextDraggable)(ArkUINodeHandle node, ArkUI_Uint32 draggable);
2526     void (*resetTextDraggable)(ArkUINodeHandle node);
2527     void (*setTextPrivacySensitive)(ArkUINodeHandle node, ArkUI_Uint32 sensitive);
2528     void (*resetTextPrivacySensitive)(ArkUINodeHandle node);
2529     void (*setTextMaxFontSize)(ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit);
2530     void (*resetTextMaxFontSize)(ArkUINodeHandle node);
2531     void (*setTextFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
2532     void (*resetTextFontFamily)(ArkUINodeHandle node);
2533     void (*setTextCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
2534     void (*resetTextCopyOption)(ArkUINodeHandle node);
2535     void (*setTextShadow)(ArkUINodeHandle node, struct ArkUITextShadowStruct* shadows, ArkUI_Uint32 length);
2536     void (*resetTextShadow)(ArkUINodeHandle node);
2537     void (*setTextHeightAdaptivePolicy)(ArkUINodeHandle node, ArkUI_Int32 value);
2538     void (*resetTextHeightAdaptivePolicy)(ArkUINodeHandle node);
2539     void (*setTextIndent)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2540     void (*resetTextIndent)(ArkUINodeHandle node);
2541     void (*setTextBaselineOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2542     void (*resetTextBaselineOffset)(ArkUINodeHandle node);
2543     void (*setTextLetterSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2544     void (*resetTextLetterSpacing)(ArkUINodeHandle node);
2545     void (*setTextFont)(ArkUINodeHandle node, const struct ArkUIFontWithOptionsStruct* fontInfo);
2546     void (*resetTextFont)(ArkUINodeHandle node);
2547     void (*setFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr weight);
2548     void (*setFontWeightWithOption)(ArkUINodeHandle node, const struct ArkUIFontWeightWithOptionsStruct* weightInfo);
2549     void (*setWordBreak)(ArkUINodeHandle node, ArkUI_Uint32 wordBreak);
2550     void (*resetWordBreak)(ArkUINodeHandle node);
2551     ArkUI_CharPtr (*getFontFamily)(ArkUINodeHandle node);
2552     ArkUI_Int32 (*getCopyOption)(ArkUINodeHandle node);
2553     ArkUI_Int32 (*getHeightAdaptivePolicy)(ArkUINodeHandle node);
2554     ArkUI_Float32 (*getTextMinFontSize)(ArkUINodeHandle node);
2555     ArkUI_Float32 (*getTextMaxFontSize)(ArkUINodeHandle node);
2556     void (*getFont)(ArkUINodeHandle node, ArkUITextFont* font);
2557     ArkUI_Float32 (*getFontSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
2558     ArkUI_Int32 (*getFontWeight)(ArkUINodeHandle node);
2559     ArkUI_Int32 (*getItalicFontStyle)(ArkUINodeHandle node);
2560     void (*setEllipsisMode)(ArkUINodeHandle node, ArkUI_Uint32 ellipsisMode);
2561     void (*resetEllipsisMode)(ArkUINodeHandle node);
2562     void (*setEnableDataDetector)(ArkUINodeHandle node, ArkUI_Uint32 enableDataDetector);
2563     void (*resetEnableDataDetector)(ArkUINodeHandle node);
2564     ArkUI_CharPtr (*getTextContent)(ArkUINodeHandle node);
2565     ArkUI_Float32 (*getTextLineHeight)(ArkUINodeHandle node);
2566     void (*getTextDecoration)(ArkUINodeHandle node, ArkUITextDecorationType* decoration);
2567     ArkUI_Int32 (*getTextTextCase)(ArkUINodeHandle node);
2568     ArkUI_Float32 (*getTextLetterSpacing)(ArkUINodeHandle node);
2569     ArkUI_Int32 (*getTextMaxLines)(ArkUINodeHandle node);
2570     ArkUI_Int32 (*getTextAlign)(ArkUINodeHandle node);
2571     ArkUI_Int32 (*getTextTextOverflow)(ArkUINodeHandle node);
2572     ArkUI_Float32 (*getTextTextIndent)(ArkUINodeHandle node);
2573     ArkUI_Uint32 (*getFontColor)(ArkUINodeHandle node);
2574     ArkUI_Float32 (*getTextBaselineOffset)(ArkUINodeHandle node);
2575     ArkUI_Uint32 (*getTextShadowsCount)(ArkUINodeHandle node);
2576     void (*getTextShadows)(ArkUINodeHandle node, ArkUITextShadowStruct* textShadow, ArkUI_Uint32 size);
2577     ArkUI_Int32 (*getTextWordBreak)(ArkUINodeHandle node);
2578     ArkUI_Int32 (*getTextEllipsisMode)(ArkUINodeHandle node);
2579     void (*setTextFontFeature)(ArkUINodeHandle node, ArkUI_CharPtr value);
2580     void (*resetTextFontFeature)(ArkUINodeHandle node);
2581     void (*setTextLineSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2582     ArkUI_Float32 (*getTextLineSpacing)(ArkUINodeHandle node);
2583     void (*resetTextLineSpacing)(ArkUINodeHandle node);
2584     ArkUI_CharPtr (*getTextFontFeature)(ArkUINodeHandle node);
2585     ArkUI_Int32 (*getEnableDataDetector)(ArkUINodeHandle node);
2586     void (*setTextDataDetectorConfig)(ArkUINodeHandle node, ArkUI_Uint32* values, ArkUI_Int32 size);
2587     ArkUI_Int32 (*getTextDataDetectorConfig)(ArkUINodeHandle node, ArkUI_Int32 (*values)[32]);
2588     void (*resetTextDataDetectorConfig)(ArkUINodeHandle node);
2589     void (*setLineBreakStrategy)(ArkUINodeHandle node, ArkUI_Uint32 lineBreakStrategy);
2590     void (*resetLineBreakStrategy)(ArkUINodeHandle node);
2591     ArkUI_Int32 (*getTextLineBreakStrategy)(ArkUINodeHandle node);
2592     void (*setTextCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2593     ArkUI_Uint32 (*getTextCaretColor)(ArkUINodeHandle node);
2594     void (*resetTextCaretColor)(ArkUINodeHandle node);
2595     void (*setTextSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2596     ArkUI_Uint32 (*getTextSelectedBackgroundColor)(ArkUINodeHandle node);
2597     void (*resetTextSelectedBackgroundColor)(ArkUINodeHandle node);
2598     void (*setTextContentWithStyledString)(ArkUINodeHandle node, ArkUI_StyledString* styledString);
2599     void (*resetTextContentWithStyledString)(ArkUINodeHandle node);
2600     void (*setTextSelection)(ArkUINodeHandle node, ArkUI_Int32 startIndex, ArkUI_Int32 endIndex);
2601     void (*resetTextSelection)(ArkUINodeHandle node);
2602     void (*setTextSelectableMode)(ArkUINodeHandle node, ArkUI_Uint32 textSelectableMode);
2603     void (*resetTextSelectableMode)(ArkUINodeHandle node);
2604     void (*setTextDataDetectorConfigWithEvent)(
2605         ArkUINodeHandle node, const struct ArkUITextDetectConfigStruct* arkUITextDetectConfig);
2606     void (*resetTextDataDetectorConfigWithEvent)(ArkUINodeHandle node);
2607     void (*setTextOnCopy)(ArkUINodeHandle node, void* callback);
2608     void (*resetTextOnCopy)(ArkUINodeHandle node);
2609     void (*setTextOnTextSelectionChange)(ArkUINodeHandle node, void* callback);
2610     void (*resetTextOnTextSelectionChange)(ArkUINodeHandle node);
2611     void (*setTextMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
2612     void (*resetTextMinFontScale)(ArkUINodeHandle node);
2613     void (*setTextMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
2614     void (*resetTextMaxFontScale)(ArkUINodeHandle node);
2615     void (*setTextSelectionMenuOptions)(
2616         ArkUINodeHandle node, void* onCreateMenuCallback, void* onMenuItemClickCallback);
2617     void (*resetTextSelectionMenuOptions)(ArkUINodeHandle node);
2618     void (*setTextHalfLeading)(ArkUINodeHandle node, ArkUI_Bool value);
2619     void (*resetTextHalfLeading)(ArkUINodeHandle node);
2620     ArkUI_Int32 (*getTextHalfLeading)(ArkUINodeHandle node);
2621     void (*setTextOnClick)(ArkUINodeHandle node, void* callback);
2622     void (*resetTextOnClick)(ArkUINodeHandle node);
2623     void (*setTextResponseRegion)(
2624         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 lengthk);
2625     void (*resetTextResponseRegion)(ArkUINodeHandle node);
2626     void (*setTextEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Uint32 value);
2627     void (*resetTextEnableHapticFeedback)(ArkUINodeHandle node);
2628     void (*setTextMarqueeOptions)(ArkUINodeHandle node, struct ArkUITextMarqueeOptions* value);
2629     void (*resetTextMarqueeOptions)(ArkUINodeHandle node);
2630     void (*setOnMarqueeStateChange)(ArkUINodeHandle node, void* callback);
2631     void (*resetOnMarqueeStateChange)(ArkUINodeHandle node);
2632     void (*setImmutableFontWeight)(ArkUINodeHandle node, ArkUI_Int32 weight);
2633 };
2634 
2635 struct ArkUIButtonModifier {
2636     void (*setButtonLabel)(ArkUINodeHandle node, ArkUI_CharPtr label);
2637     void (*resetButtonLabel)(ArkUINodeHandle node);
2638     void (*setButtonType)(ArkUINodeHandle node, ArkUI_Int32 type);
2639     void (*resetButtonType)(ArkUINodeHandle node);
2640     void (*setButtonStateEffect)(ArkUINodeHandle node, ArkUI_Bool stateEffect);
2641     void (*resetButtonStateEffect)(ArkUINodeHandle node);
2642     void (*setButtonFontColor)(ArkUINodeHandle node, ArkUI_Uint32 fontColor);
2643     void (*resetButtonFontColor)(ArkUINodeHandle node);
2644     void (*setButtonFontSize)(ArkUINodeHandle node, ArkUI_Float32 fontSizeValue, ArkUI_Int32 fontSizeUnit);
2645     void (*resetButtonFontSize)(ArkUINodeHandle node);
2646     void (*setButtonFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
2647     void (*resetButtonFontWeight)(ArkUINodeHandle node);
2648     void (*setButtonFontStyle)(ArkUINodeHandle node, ArkUI_Int32 fontStyle);
2649     void (*resetButtonFontStyle)(ArkUINodeHandle node);
2650     void (*setButtonFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
2651     void (*resetButtonFontFamily)(ArkUINodeHandle node);
2652     void (*setButtonLabelStyle)(ArkUINodeHandle node, ArkUI_CharPtr* stringParameters, const ArkUI_Int32* valueArray,
2653         const ArkUI_Float32* dimensionArray, const ArkUI_Uint32* dataCountArray);
2654     void (*resetButtonLabelStyle)(ArkUINodeHandle node);
2655     void (*setButtonBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2656     void (*resetButtonBackgroundColor)(ArkUINodeHandle node);
2657     void (*setButtonBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
2658     void (*resetButtonBorderRadius)(ArkUINodeHandle node);
2659     void (*setButtonFontWeightEnum)(ArkUINodeHandle node, ArkUI_Int32 fontWeight);
2660     void (*setButtonSize)(ArkUINodeHandle node, ArkUI_CharPtr widthValue, ArkUI_Int32 widthUnit,
2661         ArkUI_CharPtr heightValue, ArkUI_Int32 heightUnit);
2662     void (*resetButtonSize)(ArkUINodeHandle node);
2663     ArkUI_CharPtr (*getButtonLabel)(ArkUINodeHandle node);
2664     ArkUI_Float32 (*getButtonFontSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
2665     ArkUI_Int32 (*getButtonFontWeight)(ArkUINodeHandle node);
2666     ArkUI_Uint32 (*getButtonFontColor)(ArkUINodeHandle node);
2667     void (*setButtonRole)(ArkUINodeHandle node, ArkUI_Uint32 buttonRole);
2668     void (*resetButtonRole)(ArkUINodeHandle node);
2669     void (*setButtonStyle)(ArkUINodeHandle node, ArkUI_Uint32 buttonStyle);
2670     void (*resetButtonStyle)(ArkUINodeHandle node);
2671     void (*setButtonControlSize)(ArkUINodeHandle node, ArkUI_Uint32 controlSize);
2672     void (*resetButtonControlSize)(ArkUINodeHandle node);
2673     ArkUI_Int32 (*getButtonType)(ArkUINodeHandle node);
2674     void (*setButtonLabelWithCheck)(ArkUINodeHandle node, ArkUI_CharPtr label);
2675     void (*resetButtonLabelWithCheck)(ArkUINodeHandle node);
2676     void (*setButtonOptions)(ArkUINodeHandle node, ArkUI_Uint32 buttonStyle, ArkUI_Uint32 buttonRole);
2677     void (*resetButtonOptions)(ArkUINodeHandle node);
2678     void (*setCreateWithLabel)(ArkUINodeHandle node, bool createWithLabel);
2679     void (*setButtonMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 minFontScale);
2680     void (*resetButtonMinFontScale)(ArkUINodeHandle node);
2681     void (*setButtonMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 maxFontScale);
2682     void (*resetButtonMaxFontScale)(ArkUINodeHandle node);
2683     ArkUI_Float32 (*getButtonMinFontScale)(ArkUINodeHandle node);
2684     ArkUI_Float32 (*getButtonMaxFontScale)(ArkUINodeHandle node);
2685 };
2686 
2687 struct ArkUIImageModifier {
2688     void (*setSrc)(ArkUINodeHandle node, ArkUI_CharPtr value);
2689     // Do we need resetSrc() ?
2690     void (*setImageShowSrc)(ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName,
2691         ArkUI_Bool isUriPureNumber);
2692     void (*setImageResource)(ArkUINodeHandle node, ArkUI_Int32 id, ArkUI_Int32 type, ArkUI_CharPtr name,
2693         ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
2694     void (*setCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
2695     void (*resetCopyOption)(ArkUINodeHandle node);
2696     void (*setAutoResize)(ArkUINodeHandle node, ArkUI_Bool autoResize);
2697     void (*resetAutoResize)(ArkUINodeHandle node);
2698     void (*setObjectRepeat)(ArkUINodeHandle node, ArkUI_Int32 imageRepeat);
2699     void (*resetObjectRepeat)(ArkUINodeHandle node);
2700     void (*setRenderMode)(ArkUINodeHandle node, ArkUI_Int32 imageRenderMode);
2701     void (*resetRenderMode)(ArkUINodeHandle node);
2702     void (*setSyncLoad)(ArkUINodeHandle node, ArkUI_Bool syncLoadValue);
2703     void (*resetSyncLoad)(ArkUINodeHandle node);
2704     void (*setImageMatrix)(ArkUINodeHandle node, const ArkUI_Float32* matrix);
2705     void (*resetImageMatrix)(ArkUINodeHandle node);
2706     void (*setObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFitNumber);
2707     void (*resetObjectFit)(ArkUINodeHandle node);
2708     void (*setFitOriginalSize)(ArkUINodeHandle node, ArkUI_Bool fitOriginalSizeValue);
2709     void (*resetFitOriginalSize)(ArkUINodeHandle node);
2710     void (*setSourceSize)(ArkUINodeHandle node, ArkUI_Float32 width, ArkUI_Float32 height);
2711     void (*resetSourceSize)(ArkUINodeHandle node);
2712     void (*setMatchTextDirection)(ArkUINodeHandle node, ArkUI_Uint32 value);
2713     void (*resetMatchTextDirection)(ArkUINodeHandle node);
2714     void (*setFillColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
2715     void (*resetImageFill)(ArkUINodeHandle node);
2716     void (*resetFillColor)(ArkUINodeHandle node);
2717     void (*setAlt)(ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
2718     void (*resetAlt)(ArkUINodeHandle node);
2719     void (*setImageInterpolation)(ArkUINodeHandle node, ArkUI_Int32 value);
2720     void (*resetImageInterpolation)(ArkUINodeHandle node);
2721     void (*setColorFilter)(ArkUINodeHandle node, const ArkUI_Float32* array, ArkUI_Int32 length);
2722     void (*resetColorFilter)(ArkUINodeHandle node);
2723     void (*setImageSyncLoad)(ArkUINodeHandle node, ArkUI_Bool syncLoadValue);
2724     void (*resetImageSyncLoad)(ArkUINodeHandle node);
2725     void (*setImageObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFitNumber);
2726     void (*resetImageObjectFit)(ArkUINodeHandle node);
2727     void (*setImageFitOriginalSize)(ArkUINodeHandle node, ArkUI_Bool fitOriginalSizeValue);
2728     void (*resetImageFitOriginalSize)(ArkUINodeHandle node);
2729     void (*setImageDraggable)(ArkUINodeHandle node, ArkUI_Bool value);
2730     void (*resetImageDraggable)(ArkUINodeHandle node);
2731     void (*setImageBorderRadius)(
2732         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
2733     void (*resetImageBorderRadius)(ArkUINodeHandle node);
2734     void (*setImageBorder)(ArkUINodeHandle node);
2735     void (*setImageBorderWithValues)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
2736     void (*resetImageBorder)(ArkUINodeHandle node);
2737     void (*setImageOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
2738     void (*resetImageOpacity)(ArkUINodeHandle node);
2739     void (*setEdgeAntialiasing)(ArkUINodeHandle node, ArkUI_Float32 edgeAntialiasing);
2740     void (*resetEdgeAntialiasing)(ArkUINodeHandle node);
2741     void (*setResizable)(ArkUINodeHandle node, const ArkUIStringAndFloat* options);
2742     void (*resetResizable)(ArkUINodeHandle node);
2743     void (*setDynamicRangeMode)(ArkUINodeHandle node, ArkUI_Int32 dynamicRangeMode);
2744     void (*resetDynamicRangeMode)(ArkUINodeHandle node);
2745     void (*setImageRotateOrientation)(ArkUINodeHandle node, ArkUI_Int32 orientation);
2746     void (*resetImageRotateOrientation)(ArkUINodeHandle node);
2747     void (*setEnhancedImageQuality)(ArkUINodeHandle node, ArkUI_Int32 imageQuality);
2748     void (*resetEnhancedImageQuality)(ArkUINodeHandle node);
2749     ArkUI_CharPtr (*getImageSrc)(ArkUINodeHandle node);
2750     ArkUI_Int32 (*getAutoResize)(ArkUINodeHandle node);
2751     ArkUI_Int32 (*getObjectRepeat)(ArkUINodeHandle node);
2752     ArkUI_Int32 (*getObjectFit)(ArkUINodeHandle node);
2753     ArkUI_Int32 (*getImageInterpolation)(ArkUINodeHandle node);
2754     void (*getColorFilter)(ArkUINodeHandle node, ArkUIFilterColorType* colorFilter);
2755     ArkUI_CharPtr (*getAlt)(ArkUINodeHandle node);
2756     ArkUI_Int32 (*getImageDraggable)(ArkUINodeHandle node);
2757     ArkUI_Int32 (*getRenderMode)(ArkUINodeHandle node);
2758     void (*setImageResizable)(ArkUINodeHandle node, ArkUI_Float32 left, ArkUI_Float32 top,
2759         ArkUI_Float32 right, ArkUI_Float32 bottom);
2760     void (*getImageResizable)(ArkUINodeHandle node, ArkUI_Float32* arrayValue, ArkUI_Int32 size);
2761     ArkUI_Int32 (*getFitOriginalSize)(ArkUINodeHandle node);
2762     ArkUI_Uint32 (*getFillColor)(ArkUINodeHandle node);
2763     void (*setPixelMap)(ArkUINodeHandle node, void* drawableDescriptor);
2764     void (*setPixelMapArray)(ArkUINodeHandle node, void* animatedDrawableDescriptor);
2765     void (*setResourceSrc)(ArkUINodeHandle node, void* resource);
2766     void (*enableAnalyzer)(ArkUINodeHandle node, ArkUI_Bool enable);
2767     void (*setImagePrivacySensitive)(ArkUINodeHandle node, ArkUI_Int32 sensitive);
2768     void (*resetImagePrivacySensitive)(ArkUINodeHandle node);
2769     void (*analyzerConfig)(ArkUINodeHandle node, void* config);
2770     void (*setDrawingColorFilter)(ArkUINodeHandle node, void* colorFilter);
2771     void* (*getDrawingColorFilter)(ArkUINodeHandle node);
2772     void (*resetImageContent)(ArkUINodeHandle node);
2773     void (*resetImageSrc)(ArkUINodeHandle node);
2774     void (*setInitialPixelMap)(ArkUINodeHandle node, ArkUI_Int64 pixelMap);
2775     void (*setAltSourceInfo)(ArkUINodeHandle node, const ArkUIImageSourceInfo* sourceInfo);
2776     void (*setOnComplete)(ArkUINodeHandle node, void* callback);
2777     void (*setOnError)(ArkUINodeHandle node, void* callback);
2778     void (*resetOnError)(ArkUINodeHandle node);
2779     void (*setImageOnFinish)(ArkUINodeHandle node, void* callback);
2780     void (*resetImageOnFinish)(ArkUINodeHandle node);
2781     void (*setResizableLattice)(ArkUINodeHandle node, void* lattice);
2782     void (*resetResizableLattice)(ArkUINodeHandle node);
2783 };
2784 
2785 struct ArkUIColumnModifier {
2786     void (*setColumnJustifyContent)(ArkUINodeHandle node, ArkUI_Int32 flexAlign);
2787     void (*resetColumnJustifyContent)(ArkUINodeHandle node);
2788     void (*setColumnAlignItems)(ArkUINodeHandle node, ArkUI_Int32 value);
2789     void (*resetColumnAlignItems)(ArkUINodeHandle node);
2790     ArkUI_Int32 (*getColumnJustifyContent)(ArkUINodeHandle node);
2791     ArkUI_Int32 (*getColumnAlignItems)(ArkUINodeHandle node);
2792     void (*setColumnSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2793     void (*resetColumnSpace)(ArkUINodeHandle node);
2794     void (*setColumnReverse)(ArkUINodeHandle node, ArkUI_Bool value);
2795     void (*resetColumnReverse)(ArkUINodeHandle node);
2796 };
2797 
2798 struct ArkUIRowModifier {
2799     void (*setRowJustifyContent)(ArkUINodeHandle node, ArkUI_Int32 flexAlign);
2800     void (*resetRowJustifyContent)(ArkUINodeHandle node);
2801     void (*setRowAlignItems)(ArkUINodeHandle node, ArkUI_Int32 verticalAlign);
2802     void (*resetRowAlignItems)(ArkUINodeHandle node);
2803     ArkUI_Int32 (*getRowJustifyContent)(ArkUINodeHandle node);
2804     ArkUI_Int32 (*getRowAlignItems)(ArkUINodeHandle node);
2805     void (*setRowSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2806     void (*resetRowSpace)(ArkUINodeHandle node);
2807     void (*setRowReverse)(ArkUINodeHandle node, ArkUI_Bool value);
2808     void (*resetRowReverse)(ArkUINodeHandle node);
2809 };
2810 
2811 struct ArkUIDividerModifier {
2812     void (*setDividerStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2813     void (*resetDividerStrokeWidth)(ArkUINodeHandle node);
2814     void (*setDividerLineCap)(ArkUINodeHandle node, ArkUI_Int32 lineCap);
2815     void (*resetDividerLineCap)(ArkUINodeHandle node);
2816     void (*setDividerColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2817     void (*resetDividerColor)(ArkUINodeHandle node);
2818     void (*setDividerVertical)(ArkUINodeHandle node, ArkUI_Bool value);
2819     void (*resetDividerVertical)(ArkUINodeHandle node);
2820 };
2821 
2822 struct ArkUIFlexModifier {
2823     void (*setFlexOptions)(ArkUINodeHandle node, ArkUI_Int32* options, ArkUI_Int32 length);
2824     void (*resetFlexOptions)(ArkUINodeHandle node);
2825     void (*getFlexOptions)(ArkUINodeHandle node, ArkUIFlexOptions* options);
2826     void (*setFlexCrossSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2827     void (*setFlexMainSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2828 };
2829 
2830 struct ArkUIListModifier {
2831     void (*setListLanes)(ArkUINodeHandle node, ArkUI_Int32 lanesNum, const struct ArkUIDimensionType* minLength,
2832         const struct ArkUIDimensionType* maxLength, const struct ArkUIDimensionType* gutter);
2833     void (*resetListLanes)(ArkUINodeHandle node);
2834     void (*resetlistLaneMinAndMaxLength)(ArkUINodeHandle node);
2835     ArkUI_Int32 (*getListLanes)(ArkUINodeHandle node);
2836     ArkUI_Float32 (*getlistLaneMinLength)(ArkUINodeHandle node);
2837     ArkUI_Float32 (*getListLaneMaxLength)(ArkUINodeHandle node);
2838     ArkUI_Float32 (*getListLaneGutter)(ArkUINodeHandle node);
2839     void (*setEditMode)(ArkUINodeHandle node, ArkUI_Bool editMode);
2840     void (*resetEditMode)(ArkUINodeHandle node);
2841     void (*setMultiSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
2842     void (*resetMultiSelectable)(ArkUINodeHandle node);
2843     void (*setChainAnimation)(ArkUINodeHandle node, ArkUI_Bool chainAnimation);
2844     void (*resetChainAnimation)(ArkUINodeHandle node);
2845     void (*setCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
2846     void (*resetCachedCount)(ArkUINodeHandle node);
2847     void (*setCachedIsShown)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
2848     void (*resetCachedIsShown)(ArkUINodeHandle node);
2849     ArkUI_Int32 (*getCachedIsShown)(ArkUINodeHandle node);
2850     ArkUI_Int32 (*getEnableScrollInteraction)(ArkUINodeHandle node);
2851     void (*setEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool enableScrollInteraction);
2852     void (*resetEnableScrollInteraction)(ArkUINodeHandle node);
2853     ArkUI_Int32 (*getSticky)(ArkUINodeHandle node);
2854     void (*setSticky)(ArkUINodeHandle node, ArkUI_Int32 stickyStyle);
2855     void (*resetSticky)(ArkUINodeHandle node);
2856     ArkUI_Int32 (*getListEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
2857     void (*setListEdgeEffect)(
2858         ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled, ArkUI_Int32 effectEdge);
2859     void (*resetListEdgeEffect)(ArkUINodeHandle node);
2860     ArkUI_Int32 (*getListDirection)(ArkUINodeHandle node);
2861     void (*setListDirection)(ArkUINodeHandle node, ArkUI_Int32 axis);
2862     void (*resetListDirection)(ArkUINodeHandle node);
2863     ArkUI_Float32 (*getListFriction)(ArkUINodeHandle node);
2864     void (*setListFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
2865     void (*resetListFriction)(ArkUINodeHandle node);
2866     void (*getListNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
2867     void (*setListNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 forward, ArkUI_Int32 backward);
2868     void (*resetListNestedScroll)(ArkUINodeHandle node);
2869     ArkUI_Int32 (*getListScrollBar)(ArkUINodeHandle node);
2870     void (*setListScrollBar)(ArkUINodeHandle node, ArkUI_Int32 barState);
2871     void (*resetListScrollBar)(ArkUINodeHandle node);
2872     ArkUI_Float32 (*getListScrollBarWidth)(ArkUINodeHandle node);
2873     void (*setListScrollBarWidth)(ArkUINodeHandle node, ArkUI_CharPtr value);
2874     void (*resetListScrollBarWidth)(ArkUINodeHandle node);
2875     ArkUI_Uint32 (*getListScrollBarColor)(ArkUINodeHandle node);
2876     void (*setListScrollBarColor)(ArkUINodeHandle node, ArkUI_CharPtr value);
2877     void (*resetListScrollBarColor)(ArkUINodeHandle node);
2878     ArkUI_Int32 (*getAlignListItem)(ArkUINodeHandle node);
2879     void (*setAlignListItem)(ArkUINodeHandle node, ArkUI_Int32 listItemAlign);
2880     void (*resetAlignListItem)(ArkUINodeHandle node);
2881     void (*setScrollSnapAlign)(ArkUINodeHandle node, ArkUI_Int32 scrollSnapAlign);
2882     void (*resetScrollSnapAlign)(ArkUINodeHandle node);
2883     ArkUI_Int32 (*getScrollSnapAlign)(ArkUINodeHandle node);
2884     void (*setContentStartOffset)(ArkUINodeHandle node, ArkUI_Float32 startOffset);
2885     void (*resetContentStartOffset)(ArkUINodeHandle node);
2886     ArkUI_Float32 (*getContentStartOffset)(ArkUINodeHandle node);
2887     void (*setContentEndOffset)(ArkUINodeHandle node, ArkUI_Float32 endOffset);
2888     void (*resetContentEndOffset)(ArkUINodeHandle node);
2889     ArkUI_Float32 (*getContentEndOffset)(ArkUINodeHandle node);
2890     void (*listSetDivider)(ArkUINodeHandle node, const ArkUI_Uint32 color, const ArkUI_Float32* values,
2891         const ArkUI_Int32* units, ArkUI_Int32 length);
2892     void (*listResetDivider)(ArkUINodeHandle node);
2893     void (*setChainAnimationOptions)(
2894         ArkUINodeHandle node, const struct ArkUIChainAnimationOptionsType* chainAnimationOptions);
2895     void (*resetChainAnimationOptions)(ArkUINodeHandle node);
2896     ArkUI_Float32 (*getListSpace)(ArkUINodeHandle node);
2897     void (*setListSpace)(ArkUINodeHandle node, ArkUI_Float32 space);
2898     void (*resetListSpace)(ArkUINodeHandle node);
2899     ArkUI_Int32 (*setNodeAdapter)(ArkUINodeHandle node, ArkUINodeAdapterHandle handle);
2900     void (*resetNodeAdapter)(ArkUINodeHandle node);
2901     ArkUINodeAdapterHandle (*getNodeAdapter)(ArkUINodeHandle node);
2902     ArkUI_Int32 (*getCachedCount)(ArkUINodeHandle node);
2903     void (*setScrollToIndex)(
2904         ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Int32 animation, ArkUI_Int32 alignment, ArkUI_Float32 options);
2905     void (*setScrollBy)(ArkUINodeHandle node, ArkUI_Float64 x, ArkUI_Float64 y);
2906     void (*setInitialIndex)(ArkUINodeHandle node, ArkUI_Int32 index);
2907     void (*resetInitialIndex)(ArkUINodeHandle node);
2908     void (*setListChildrenMainSize)(ArkUINodeHandle node, ArkUIListChildrenMainSize option, ArkUI_Int32 unit);
2909     void (*resetListChildrenMainSize)(ArkUINodeHandle node);
2910     void (*setListCloseAllSwipeActions)(ArkUINodeHandle node, void* userData, void(onFinish)(void* userData));
2911     ArkUI_Int32 (*getInitialIndex)(ArkUINodeHandle node);
2912     void (*getlistDivider)(ArkUINodeHandle node, ArkUIdividerOptions* option, ArkUI_Int32 unit);
2913     void (*setInitialScroller)(ArkUINodeHandle node, ArkUINodeHandle controller, ArkUINodeHandle proxy);
2914     void (*resetInitialScroller)(ArkUINodeHandle node);
2915     void (*setScrollToItemInGroup)(
2916         ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Int32 indexInGroup, ArkUI_Bool smooth, ArkUI_Int32 align);
2917     void (*setListMaintainVisibleContentPosition)(ArkUINodeHandle node, ArkUI_Bool enabled);
2918     void (*resetListMaintainVisibleContentPosition)(ArkUINodeHandle node);
2919     ArkUI_Bool (*getListMaintainVisibleContentPosition)(ArkUINodeHandle node);
2920     void (*setListStackFromEnd)(ArkUINodeHandle node, ArkUI_Bool enabled);
2921     void (*resetListStackFromEnd)(ArkUINodeHandle node);
2922     ArkUI_Bool (*getListStackFromEnd)(ArkUINodeHandle node);
2923     void (*setListFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge, ArkUI_Float32 fadingEdgeLengthValue,
2924         ArkUI_Int32 fadingEdgeLengthUnit);
2925     void (*resetListFadingEdge)(ArkUINodeHandle node);
2926     void (*setShowCached)(ArkUINodeHandle node, ArkUI_Bool show);
2927     void (*resetShowCached)(ArkUINodeHandle node);
2928     ArkUI_Bool (*getShowCached)(ArkUINodeHandle node);
2929     void (*setOnListScrollIndexCallBack)(ArkUINodeHandle node, void* callback);
2930     void (*setOnScrollVisibleContentChange)(ArkUINodeHandle node, void* callback);
2931     void (*setOnItemMove)(ArkUINodeHandle node, void* callback);
2932     void (*setOnItemDragStart)(ArkUINodeHandle node, void* callback);
2933     void (*setOnItemDragEnter)(ArkUINodeHandle node, void* callback);
2934     void (*setOnItemDragMove)(ArkUINodeHandle node, void* callback);
2935     void (*setOnItemDragLeave)(ArkUINodeHandle node, void* callback);
2936     void (*setOnItemDrop)(ArkUINodeHandle node, void* callback);
2937     void (*setOnListScrollFrameBeginCallBack)(ArkUINodeHandle node, void* callback);
2938     void (*setOnListWillScrollCallBack)(ArkUINodeHandle node, void* callback);
2939     void (*setOnListDidScrollCallBack)(ArkUINodeHandle node, void* callback);
2940     void (*setOnListReachStartCallBack)(ArkUINodeHandle node, void* callback);
2941     void (*setOnListReachEndCallBack)(ArkUINodeHandle node, void* callback);
2942     void (*setOnListScrollStartCallBack)(ArkUINodeHandle node, void* callback);
2943     void (*setOnListScrollStopCallBack)(ArkUINodeHandle node, void* callback);
2944 
2945     void (*resetOnListScrollIndex)(ArkUINodeHandle node);
2946     void (*resetOnScrollVisibleContentChange)(ArkUINodeHandle node);
2947     void (*resetOnItemMove)(ArkUINodeHandle node);
2948     void (*resetOnItemDragStart)(ArkUINodeHandle node);
2949     void (*resetOnItemDragEnter)(ArkUINodeHandle node);
2950     void (*resetOnItemDragMove)(ArkUINodeHandle node);
2951     void (*resetOnItemDragLeave)(ArkUINodeHandle node);
2952     void (*resetOnItemDrop)(ArkUINodeHandle node);
2953     void (*resetOnListScrollStart)(ArkUINodeHandle node);
2954     void (*resetOnListScrollStop)(ArkUINodeHandle node);
2955     void (*resetOnListScrollFrameBegin)(ArkUINodeHandle node);
2956     void (*resetOnListWillScroll)(ArkUINodeHandle node);
2957     void (*resetOnListDidScroll)(ArkUINodeHandle node);
2958     void (*resetOnListReachStart)(ArkUINodeHandle node);
2959     void (*resetOnListReachEnd)(ArkUINodeHandle node);
2960 };
2961 
2962 struct ArkUIListItemGroupModifier {
2963     void (*listItemGroupSetDivider)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
2964         const ArkUI_Int32* units, ArkUI_Int32 length);
2965     void (*listItemGroupResetDivider)(ArkUINodeHandle node);
2966     void (*listItemGroupSetHeader)(ArkUINodeHandle node, ArkUINodeHandle header);
2967     void (*listItemGroupResetHeader)(ArkUINodeHandle node);
2968     void (*listItemGroupSetFooter)(ArkUINodeHandle node, ArkUINodeHandle footer);
2969     void (*listItemGroupResetFooter)(ArkUINodeHandle node);
2970     void (*setListItemGroupChildrenMainSize)(ArkUINodeHandle node, ArkUIListChildrenMainSize option, ArkUI_Int32 unit);
2971     void (*resetListItemGroupChildrenMainSize)(ArkUINodeHandle node);
2972     void (*getlistItemGroupDivider)(ArkUINodeHandle node, ArkUIdividerOptions* option, ArkUI_Int32 unit);
2973     void (*setListItemGroupSpace)(ArkUINodeHandle node, ArkUI_Float64 space);
2974     void (*resetListItemGroupSpace)(ArkUINodeHandle node);
2975     void (*setListItemGroupStyle)(ArkUINodeHandle node, ArkUI_Uint32 style);
2976     void (*resetListItemGroupStyle)(ArkUINodeHandle node);
2977     ArkUI_Int32 (*setListItemGroupNodeAdapter)(ArkUINodeHandle node, ArkUINodeAdapterHandle handle);
2978     void (*resetListItemGroupNodeAdapter)(ArkUINodeHandle node);
2979     ArkUINodeAdapterHandle (*getListItemGroupNodeAdapter)(ArkUINodeHandle node);
2980 };
2981 
2982 struct ArkUIParticleModifier {
2983     void (*SetDisturbanceField)(ArkUINodeHandle node, const ArkUIInt32orFloat32* valuesArray, ArkUI_Int32 length);
2984     void (*ResetDisturbanceField)(ArkUINodeHandle node);
2985     void (*SetEmitter)(ArkUINodeHandle node, const ArkUIInt32orFloat32* valuesArray, ArkUI_Int32 length);
2986     void (*ResetEmitter)(ArkUINodeHandle node);
2987 };
2988 
2989 struct ArkUISwiperModifier {
2990     void (*setSwiperNextMargin)(
2991         ArkUINodeHandle node, ArkUI_Float32 nextMarginValue, ArkUI_Int32 nextMarginUnit, ArkUI_Bool ignoreBlank);
2992     void (*resetSwiperNextMargin)(ArkUINodeHandle node);
2993     void (*setSwiperPrevMargin)(
2994         ArkUINodeHandle node, ArkUI_Float32 prevMarginValue, ArkUI_Int32 prevMarginUnit, ArkUI_Bool ignoreBlank);
2995     void (*resetSwiperPrevMargin)(ArkUINodeHandle node);
2996     void (*setSwiperDisplayCount)(ArkUINodeHandle node, ArkUI_CharPtr displayCountChar, ArkUI_CharPtr displayCountType);
2997     void (*resetSwiperDisplayCount)(ArkUINodeHandle node);
2998     void (*setSwiperSwipeByGroup)(ArkUINodeHandle node, ArkUI_Bool swipeByGroup);
2999     void (*resetSwiperSwipeByGroup)(ArkUINodeHandle node);
3000     void (*setSwiperDisplayArrow)(ArkUINodeHandle node, ArkUI_CharPtr displayArrowStr);
3001     void (*resetSwiperDisplayArrow)(ArkUINodeHandle node);
3002     void (*setSwiperCurve)(ArkUINodeHandle node, ArkUI_CharPtr curveChar);
3003     void (*resetSwiperCurve)(ArkUINodeHandle node);
3004     void (*setSwiperDisableSwipe)(ArkUINodeHandle node, ArkUI_Bool disableSwipe);
3005     void (*resetSwiperDisableSwipe)(ArkUINodeHandle node);
3006     void (*setSwiperEffectMode)(ArkUINodeHandle node, ArkUI_Int32 edgeEffect);
3007     void (*resetSwiperEffectMode)(ArkUINodeHandle node);
3008     void (*setSwiperCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
3009     void (*resetSwiperCachedCount)(ArkUINodeHandle node);
3010     void (*setSwiperIsShown)(ArkUINodeHandle node, ArkUI_Bool isShown);
3011     void (*resetSwiperIsShown)(ArkUINodeHandle node);
3012     void (*setSwiperDisplayMode)(ArkUINodeHandle node, ArkUI_Int32 displayMode);
3013     void (*resetSwiperDisplayMode)(ArkUINodeHandle node);
3014     void (*setSwiperItemSpace)(ArkUINodeHandle node, ArkUI_Float32 itemSpaceValue, ArkUI_Int32 itemSpaceUnit);
3015     void (*resetSwiperItemSpace)(ArkUINodeHandle node);
3016     void (*setSwiperVertical)(ArkUINodeHandle node, ArkUI_Bool isVertical);
3017     void (*resetSwiperVertical)(ArkUINodeHandle node);
3018     void (*setSwiperLoop)(ArkUINodeHandle node, ArkUI_Bool loop);
3019     void (*resetSwiperLoop)(ArkUINodeHandle node);
3020     void (*setSwiperInterval)(ArkUINodeHandle node, ArkUI_Int32 interval);
3021     void (*resetSwiperInterval)(ArkUINodeHandle node);
3022     void (*setSwiperAutoPlay)(ArkUINodeHandle node, ArkUI_Bool autoPlay);
3023     void (*resetSwiperAutoPlay)(ArkUINodeHandle node);
3024     void (*setSwiperStopWhenTouched)(ArkUINodeHandle node, ArkUI_Bool stopWhenTouched);
3025     void (*resetSwiperStopWhenTouched)(ArkUINodeHandle node);
3026     void (*setSwiperIndex)(ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Int32 animationMode);
3027     void (*resetSwiperIndex)(ArkUINodeHandle node);
3028     void (*setSwiperIndicator)(ArkUINodeHandle node, ArkUI_CharPtr indicatorStr);
3029     void (*resetSwiperIndicator)(ArkUINodeHandle node);
3030     void (*setSwiperDuration)(ArkUINodeHandle node, ArkUI_Float32 duration);
3031     void (*resetSwiperDuration)(ArkUINodeHandle node);
3032     void (*setSwiperEnabled)(ArkUINodeHandle node, ArkUI_Bool enabled);
3033     void (*resetSwiperEnabled)(ArkUINodeHandle node);
3034     ArkUI_Int32 (*getSwiperLoop)(ArkUINodeHandle node);
3035     ArkUI_Int32 (*getSwiperAutoPlay)(ArkUINodeHandle node);
3036     ArkUI_Int32 (*getSwiperStopWhenTouched)(ArkUINodeHandle node);
3037     ArkUI_Int32 (*getSwiperIndex)(ArkUINodeHandle node);
3038     ArkUI_Int32 (*getSwiperVertical)(ArkUINodeHandle node);
3039     ArkUI_Float32 (*getSwiperDuration)(ArkUINodeHandle node);
3040     ArkUI_Int32 (*getSwiperDisplayCount)(ArkUINodeHandle node);
3041     ArkUI_Int32 (*getSwiperCachedIsShown)(ArkUINodeHandle node);
3042     ArkUI_Float32 (*getSwiperInterval)(ArkUINodeHandle node);
3043     ArkUI_Int32 (*getSwiperCurve)(ArkUINodeHandle node);
3044     ArkUI_Int32 (*getSwiperDisableSwipe)(ArkUINodeHandle node);
3045     ArkUI_Float32 (*getSwiperItemSpace)(ArkUINodeHandle node);
3046     ArkUI_Int32 (*getSwiperShowIndicator)(ArkUINodeHandle node);
3047     ArkUI_Int32 (*getSwiperShowDisplayArrow)(ArkUINodeHandle node);
3048     ArkUI_Int32 (*getSwiperEffectMode)(ArkUINodeHandle node);
3049     void (*setIndicatorInteractive)(ArkUINodeHandle node, ArkUI_Bool enabled);
3050     void (*resetIndicatorInteractive)(ArkUINodeHandle node);
3051     ArkUI_Int32 (*setNodeAdapter)(ArkUINodeHandle node, ArkUINodeAdapterHandle handle);
3052     void (*resetNodeAdapter)(ArkUINodeHandle node);
3053     ArkUINodeAdapterHandle (*getNodeAdapter)(ArkUINodeHandle node);
3054     ArkUI_Int32 (*getCachedCount)(ArkUINodeHandle node);
3055     void (*setSwiperNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 (*value)[1]);
3056     void (*resetSwiperNestedScroll)(ArkUINodeHandle node);
3057     ArkUI_Int32 (*getSwiperNestedScroll)(ArkUINodeHandle node);
3058     void (*setSwiperToIndex)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
3059     void (*getSwiperPrevMargin)(ArkUINodeHandle node, ArkUI_Int32 unit, ArkUISwiperMarginOptions* options);
3060     void (*getSwiperNextMargin)(ArkUINodeHandle node, ArkUI_Int32 unit, ArkUISwiperMarginOptions* options);
3061     void (*setSwiperIndicatorStyle)(ArkUINodeHandle node, ArkUISwiperIndicator* swiperIndicator);
3062     void (*getSwiperIndicator)(ArkUINodeHandle node, ArkUISwiperIndicator* swiperIndicator);
3063     ArkUINodeHandle (*getSwiperController)(ArkUINodeHandle node);
3064     void (*setSwiperOnChange)(ArkUINodeHandle node, void* callback);
3065     void (*resetSwiperOnChange)(ArkUINodeHandle node);
3066     void (*setSwiperOnUnselected)(ArkUINodeHandle node, void* callback);
3067     void (*resetSwiperOnUnselected)(ArkUINodeHandle node);
3068     void (*setSwiperOnAnimationStart)(ArkUINodeHandle node, void* callback);
3069     void (*resetSwiperOnAnimationStart)(ArkUINodeHandle node);
3070     void (*setSwiperOnAnimationEnd)(ArkUINodeHandle node, void* callback);
3071     void (*resetSwiperOnAnimationEnd)(ArkUINodeHandle node);
3072     void (*setSwiperOnGestureSwipe)(ArkUINodeHandle node, void* callback);
3073     void (*resetSwiperOnGestureSwipe)(ArkUINodeHandle node);
3074     void (*setSwiperOnContentDidScroll)(ArkUINodeHandle node, void* callback);
3075     void (*resetSwiperOnContentDidScroll)(ArkUINodeHandle node);
3076     ArkUI_Int32 (*getIndicatorInteractive)(ArkUINodeHandle node);
3077     void (*setSwiperPageFlipMode)(ArkUINodeHandle node, ArkUI_Int32 pageFlipMode);
3078     void (*resetSwiperPageFlipMode)(ArkUINodeHandle node);
3079     ArkUI_Int32 (*getSwiperPageFlipMode)(ArkUINodeHandle node);
3080     void (*setSwiperOnContentWillScroll)(ArkUINodeHandle node, bool* callback);
3081     void (*resetSwiperOnContentWillScroll)(ArkUINodeHandle node);
3082     void (*setSwiperOnSelected)(ArkUINodeHandle node, void* callback);
3083     void (*resetSwiperOnSelected)(ArkUINodeHandle node);
3084     void (*setSwiperMinSize)(ArkUINodeHandle node, ArkUI_Float32 minSizeValue, ArkUI_Int32 minSizeUnit);
3085     void (*resetSwiperMinSize)(ArkUINodeHandle node);
3086     ArkUI_Float32 (*getSwiperMinSize)(ArkUINodeHandle node);
3087     void (*setSwiperDigitIndicatorStyle)(ArkUINodeHandle node, ArkUISwiperDigitIndicator* swiperIndicator);
3088     void (*getSwiperDigitIndicator)(ArkUINodeHandle node, ArkUISwiperDigitIndicator* swiperIndicator);
3089     ArkUISwiperIndicatorType (*getIndicatorType)(ArkUINodeHandle node);
3090     ArkUI_Int32 (*getSwiperSwipeByGroup)(ArkUINodeHandle node);
3091     ArkUI_CharPtr (*getSwiperDisplayMode)(ArkUINodeHandle node);
3092     ArkUISwiperArrowStyle (*getSwiperArrowStyle)(ArkUINodeHandle node);
3093 };
3094 
3095 struct ArkUISwiperControllerModifier {
3096     ArkUINodeHandle (*getSwiperController)(ArkUINodeHandle node);
3097     void (*showNext)(ArkUINodeHandle node);
3098     void (*showPrevious)(ArkUINodeHandle node);
3099 };
3100 
3101 struct ArkUIIndicatorComponentModifier {
3102     void (*setInitialIndex)(ArkUINodeHandle node, ArkUI_Int32 index);
3103     void (*resetInitialIndex)(ArkUINodeHandle node);
3104     void (*setCount)(ArkUINodeHandle node, ArkUI_Int32 count);
3105     void (*resetCount)(ArkUINodeHandle node);
3106     void (*setOnChange)(ArkUINodeHandle node, void* callback);
3107     void (*resetOnChange)(ArkUINodeHandle node);
3108     void (*setStyle)(ArkUINodeHandle node, ArkUI_CharPtr indicatorStr);
3109     void (*resetStyle)(ArkUINodeHandle node);
3110     void (*setLoop)(ArkUINodeHandle node, ArkUI_Bool loop);
3111     void (*resetLoop)(ArkUINodeHandle node);
3112     void (*setVertical)(ArkUINodeHandle node, ArkUI_Bool isVertical);
3113     void (*resetVertical)(ArkUINodeHandle node);
3114 };
3115 
3116 struct ArkUIStackModifier {
3117     void (*setAlignContent)(ArkUINodeHandle node, ArkUI_Int32 alignment);
3118     void (*resetAlignContent)(ArkUINodeHandle node);
3119     ArkUI_Int32 (*getAlignContent)(ArkUINodeHandle node);
3120 };
3121 
3122 struct ArkUIFolderStackModifier {
3123     void (*setEnableAnimation)(ArkUINodeHandle node, ArkUI_Bool value);
3124     void (*resetEnableAnimation)(ArkUINodeHandle node);
3125     void (*setAutoHalfFold)(ArkUINodeHandle node, ArkUI_Bool value);
3126     void (*resetAutoHalfFold)(ArkUINodeHandle node);
3127 };
3128 
3129 struct ArkUINavigatorModifier {
3130     void (*setTarget)(ArkUINodeHandle node, ArkUI_CharPtr value);
3131     void (*resetTarget)(ArkUINodeHandle node);
3132     void (*setType)(ArkUINodeHandle node, ArkUI_Int32 value);
3133     void (*resetType)(ArkUINodeHandle node);
3134     void (*setActive)(ArkUINodeHandle node, ArkUI_Bool active);
3135     void (*resetActive)(ArkUINodeHandle node);
3136     void (*setParams)(ArkUINodeHandle node, ArkUI_CharPtr args);
3137     void (*resetParams)(ArkUINodeHandle node);
3138 };
3139 
3140 struct ArkUINodeContainerModifier {
3141     void (*rebuild)(ArkUI_Int32 nodeId);
3142     void (*clean)(ArkUINodeHandle node);
3143 };
3144 
3145 struct ArkUILazyGridLayoutModifier {
3146     void (*setColumnsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* columnsGap);
3147     void (*resetColumnsGap)(ArkUINodeHandle node);
3148     void (*setRowsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* rowsGap);
3149     void (*resetRowsGap)(ArkUINodeHandle node);
3150     void (*setColumnsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr columnsTemplate);
3151     void (*resetColumnsTemplate)(ArkUINodeHandle node);
3152 };
3153 
3154 struct ArkUITimepickerModifier {
3155     ArkUI_CharPtr (*getTimepickerSelected)(ArkUINodeHandle node);
3156     void (*setTimepickerSelected)(ArkUINodeHandle node, ArkUI_Uint32 hour, ArkUI_Uint32 minute);
3157     void (*resetTimepickerSelected)(ArkUINodeHandle node);
3158     ArkUI_CharPtr (*getTimepickerStart)(ArkUINodeHandle node);
3159     void (*setTimepickerStart)(ArkUINodeHandle node, ArkUI_Uint32 hour, ArkUI_Uint32 minute);
3160     void (*resetTimepickerStart)(ArkUINodeHandle node);
3161     ArkUI_CharPtr (*getTimepickerEnd)(ArkUINodeHandle node);
3162     void (*setTimepickerEnd)(ArkUINodeHandle node, ArkUI_Uint32 hour, ArkUI_Uint32 minute);
3163     void (*resetTimepickerEnd)(ArkUINodeHandle node);
3164     ArkUI_Uint32 (*getTimepickerBackgroundColor)(ArkUINodeHandle node);
3165     void (*setTimepickerBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3166     ArkUI_CharPtr (*getTimepickerDisappearTextStyle)(ArkUINodeHandle node);
3167     void (*setTimepickerDisappearTextStyle)(
3168         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
3169     ArkUI_CharPtr (*getTimepickerTextStyle)(ArkUINodeHandle node);
3170     void (*setTimepickerTextStyle)(
3171         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
3172     ArkUI_CharPtr (*getTimepickerSelectedTextStyle)(ArkUINodeHandle node);
3173     void (*setTimepickerSelectedTextStyle)(
3174         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
3175     void (*resetTimepickerDisappearTextStyle)(ArkUINodeHandle node);
3176     void (*resetTimepickerTextStyle)(ArkUINodeHandle node);
3177     void (*resetTimepickerSelectedTextStyle)(ArkUINodeHandle node);
3178     void (*resetTimepickerBackgroundColor)(ArkUINodeHandle node);
3179     ArkUI_Int32 (*getTimepickerUseMilitaryTime)(ArkUINodeHandle node);
3180     void (*setTimepickerUseMilitaryTime)(ArkUINodeHandle node, ArkUI_Bool isUseMilitaryTime);
3181     void (*resetTimepickerUseMilitaryTime)(ArkUINodeHandle node);
3182     void (*setTimepickerLoop)(ArkUINodeHandle node, ArkUI_Bool isLoop);
3183     void (*resetTimepickerLoop)(ArkUINodeHandle node);
3184     void (*setTimepickerDateTimeOptions)(
3185         ArkUINodeHandle node, ArkUI_Int32 hourType, ArkUI_Int32 minuteType, ArkUI_Int32 secondType);
3186     void (*resetTimepickerDateTimeOptions)(ArkUINodeHandle node);
3187     void (*setTimepickerEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Bool enableHapticFeedback);
3188     void (*resetTimepickerEnableHapticFeedback)(ArkUINodeHandle node);
3189     ArkUI_Int32 (*getTimepickerEnableCascade)(ArkUINodeHandle node);
3190     void (*setTimepickerEnableCascade)(ArkUINodeHandle node, ArkUI_Bool isEnableCascade);
3191     void (*resetTimepickerEnableCascade)(ArkUINodeHandle node);
3192     void (*setTimePickerDigitalCrownSensitivity)(ArkUINodeHandle node, ArkUI_Int32 value);
3193     void (*resetTimePickerDigitalCrownSensitivity)(ArkUINodeHandle node);
3194     void (*setTimepickerOnChange)(ArkUINodeHandle node, void* callback);
3195     void (*resetTimepickerOnChange)(ArkUINodeHandle node);
3196 };
3197 
3198 struct ArkUIVideoModifier {
3199     void (*setAutoPlay)(ArkUINodeHandle node, ArkUI_Uint32 autoPlay);
3200     void (*resetAutoPlay)(ArkUINodeHandle node);
3201     void (*setVideoObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFit);
3202     void (*resetVideoObjectFit)(ArkUINodeHandle node);
3203     void (*setVideoControls)(ArkUINodeHandle node, ArkUI_Uint32 controlsValue);
3204     void (*resetVideoControls)(ArkUINodeHandle node);
3205     void (*setVideoLoop)(ArkUINodeHandle node, ArkUI_Uint32 value);
3206     void (*resetVideoLoop)(ArkUINodeHandle node);
3207     void (*setVideoMuted)(ArkUINodeHandle node, ArkUI_Uint32 value);
3208     void (*resetVideoMuted)(ArkUINodeHandle node);
3209     void (*setVideoOpacity)(ArkUINodeHandle node, ArkUI_Float32 value);
3210     void (*resetVideoOpacity)(ArkUINodeHandle node);
3211     void (*setVideoSurfaceBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3212     void (*resetVideoSurfaceBackgroundColor)(ArkUINodeHandle node);
3213     void (*setVideoShortcutKeyEnabled)(ArkUINodeHandle node, ArkUI_Uint32 value);
3214     void (*resetVideoShortcutKeyEnabled)(ArkUINodeHandle node);
3215 };
3216 
3217 struct ArkUIVideoControllerModifier {
3218     ArkUINodeHandle (*getVideoController)(ArkUINodeHandle node);
3219     void (*setVideoStart)(ArkUINodeHandle node);
3220     void (*setVideoStop)(ArkUINodeHandle node);
3221     void (*setVideoPause)(ArkUINodeHandle node);
3222 };
3223 
3224 struct ArkUIGridModifier {
3225     void (*setGridColumnsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr columnsTemplate);
3226     void (*resetGridColumnsTemplate)(ArkUINodeHandle node);
3227     void (*setGridRowsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr rowsTemplate);
3228     void (*resetGridRowsTemplate)(ArkUINodeHandle node);
3229     void (*setGridColumnsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* columnsGap);
3230     void (*resetGridColumnsGap)(ArkUINodeHandle node);
3231     void (*setGridRowsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* rowsGap);
3232     void (*resetGridRowsGap)(ArkUINodeHandle node);
3233     void (*setGridScrollBar)(ArkUINodeHandle node, ArkUI_Int32 scrollBar);
3234     void (*resetGridScrollBar)(ArkUINodeHandle node);
3235     void (*setGridScrollBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3236     void (*resetGridScrollBarWidth)(ArkUINodeHandle node);
3237     void (*setGridScrollBarColor)(ArkUINodeHandle node, ArkUI_Uint32 scrollBarColor);
3238     void (*resetGridScrollBarColor)(ArkUINodeHandle node);
3239     void (*setGridCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
3240     void (*resetGridCachedCount)(ArkUINodeHandle node);
3241     void (*setShowCached)(ArkUINodeHandle node, ArkUI_Bool show);
3242     void (*resetShowCached)(ArkUINodeHandle node);
3243     ArkUI_Bool (*getShowCached)(ArkUINodeHandle node);
3244     void (*setGridEditMode)(ArkUINodeHandle node, ArkUI_Bool editMode);
3245     void (*resetGridEditMode)(ArkUINodeHandle node);
3246     void (*setGridMultiSelectable)(ArkUINodeHandle node, ArkUI_Bool multiSelectable);
3247     void (*resetGridMultiSelectable)(ArkUINodeHandle node);
3248     void (*setGridMaxCount)(ArkUINodeHandle node, ArkUI_Int32 maxCount);
3249     void (*resetGridMaxCount)(ArkUINodeHandle node);
3250     void (*setGridMinCount)(ArkUINodeHandle node, ArkUI_Int32 minCount);
3251     void (*resetGridMinCount)(ArkUINodeHandle node);
3252     void (*setGridCellLength)(ArkUINodeHandle node, ArkUI_Int32 cellLength);
3253     void (*resetGridCellLength)(ArkUINodeHandle node);
3254     void (*setGridLayoutDirection)(ArkUINodeHandle node, ArkUI_Int32 layoutDirection);
3255     void (*resetGridLayoutDirection)(ArkUINodeHandle node);
3256     void (*setGridSupportAnimation)(ArkUINodeHandle node, ArkUI_Bool supportAnimation);
3257     void (*resetGridSupportAnimation)(ArkUINodeHandle node);
3258 
3259     void (*setEdgeEffect)(
3260         ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled, ArkUI_Int32 effectEdge);
3261     void (*resetEdgeEffect)(ArkUINodeHandle node);
3262     void (*setNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 forward, ArkUI_Int32 backward);
3263     void (*resetNestedScroll)(ArkUINodeHandle node);
3264     void (*setEnableScroll)(ArkUINodeHandle node, ArkUI_Bool scrollEnabled);
3265     void (*resetEnableScroll)(ArkUINodeHandle node);
3266     void (*setFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
3267     void (*resetFriction)(ArkUINodeHandle node);
3268     ArkUI_CharPtr (*getGridColumnsTemplate)(ArkUINodeHandle node);
3269     ArkUI_CharPtr (*getGridRowsTemplate)(ArkUINodeHandle node);
3270     ArkUI_Float32 (*getGridColumnsGap)(ArkUINodeHandle node);
3271     ArkUI_Float32 (*getGridRowsGap)(ArkUINodeHandle node);
3272     ArkUI_Int32 (*setNodeAdapter)(ArkUINodeHandle node, ArkUINodeAdapterHandle handle);
3273     void (*resetNodeAdapter)(ArkUINodeHandle node);
3274     ArkUINodeAdapterHandle (*getNodeAdapter)(ArkUINodeHandle node);
3275     void (*setCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
3276     void (*resetCachedCount)(ArkUINodeHandle node);
3277     ArkUI_Int32 (*getCachedCount)(ArkUINodeHandle node);
3278     void (*setGridAlignItems)(ArkUINodeHandle node, ArkUI_Int32 alignItems);
3279     void (*resetGridAlignItems)(ArkUINodeHandle node);
3280     void (*setGridFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge, ArkUI_Float32 fadingEdgeLengthValue,
3281         ArkUI_Int32 fadingEdgeLengthUnit);
3282     void (*resetGridFadingEdge)(ArkUINodeHandle node);
3283     void (*setOnGridScrollIndexCallBack)(ArkUINodeHandle node, void* callback);
3284     void (*resetOnGridScrollIndex)(ArkUINodeHandle node);
3285     void (*setOnGridScrollBarUpdateCallBack)(ArkUINodeHandle node, void* callback);
3286     void (*resetOnGridScrollBarUpdate)(ArkUINodeHandle node);
3287     void (*setOnGridItemDragStart)(ArkUINodeHandle node, void* callback);
3288     void (*resetOnGridItemDragStart)(ArkUINodeHandle node);
3289     void (*setOnGridItemDragEnter)(ArkUINodeHandle node, void* callback);
3290     void (*resetOnGridItemDragEnter)(ArkUINodeHandle node);
3291     void (*setOnGridItemDragMove)(ArkUINodeHandle node, void* callback);
3292     void (*resetOnGridItemDragMove)(ArkUINodeHandle node);
3293     void (*setOnGridItemDragLeave)(ArkUINodeHandle node, void* callback);
3294     void (*resetOnGridItemDragLeave)(ArkUINodeHandle node);
3295     void (*setOnGridItemDrop)(ArkUINodeHandle node, void* callback);
3296     void (*resetOnGridItemDrop)(ArkUINodeHandle node);
3297 };
3298 
3299 struct ArkUIGridItemModifier {
3300     void (*setGridItemSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
3301     void (*resetGridItemSelectable)(ArkUINodeHandle node);
3302     void (*setGridItemSelected)(ArkUINodeHandle node, ArkUI_Bool selected);
3303     void (*resetGridItemSelected)(ArkUINodeHandle node);
3304     void (*setGridItemRowStart)(ArkUINodeHandle node, ArkUI_Int32 rowStart);
3305     void (*resetGridItemRowStart)(ArkUINodeHandle node);
3306     void (*setGridItemRowEnd)(ArkUINodeHandle node, ArkUI_Int32 rowEnd);
3307     void (*resetGridItemRowEnd)(ArkUINodeHandle node);
3308     void (*setGridItemColumnStart)(ArkUINodeHandle node, ArkUI_Int32 columnStart);
3309     void (*resetGridItemColumnStart)(ArkUINodeHandle node);
3310     void (*setGridItemColumnEnd)(ArkUINodeHandle node, ArkUI_Int32 columnEnd);
3311     void (*resetGridItemColumnEnd)(ArkUINodeHandle node);
3312     void (*setGridItemOptions)(ArkUINodeHandle node, ArkUI_Int32 style);
3313 };
3314 
3315 struct ArkUIScrollableModifier {
3316     ArkUI_Int32 (*getContentClip)(ArkUINodeHandle node);
3317     void (*setContentClip)(ArkUINodeHandle node, ArkUI_Int32 mode);
3318     /* setContentClip by custom rect not available */
3319     void (*resetContentClip)(ArkUINodeHandle node);
3320     ArkUI_Int32 (*getEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
3321     void (*setEdgeEffect)(
3322         ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled, ArkUI_Int32 effectEdge);
3323     void (*resetEdgeEffect)(ArkUINodeHandle node);
3324     void (*setFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge, ArkUI_Float32 fadingEdgeLengthValue,
3325         ArkUI_Int32 fadingEdgeLengthUnit);
3326     void (*resetFadingEdge)(ArkUINodeHandle node);
3327     void (*getFadingEdge)(ArkUINodeHandle node, ArkUIInt32orFloat32 (*values)[2]);
3328     void (*setOnReachStartCallBack)(ArkUINodeHandle node, void* callback);
3329     void (*resetOnReachStartCallBack)(ArkUINodeHandle node);
3330     void (*setOnReachEndCallBack)(ArkUINodeHandle node, void* callback);
3331     void (*resetOnReachEndCallBack)(ArkUINodeHandle node);
3332     void (*setOnWillScrollCallBack)(ArkUINodeHandle node, void* callback);
3333     void (*resetOnWillScrollCallBack)(ArkUINodeHandle node);
3334     void (*setOnDidScrollCallBack)(ArkUINodeHandle node, void* callback);
3335     void (*resetOnDidScrollCallBack)(ArkUINodeHandle node);
3336     void (*setOnScrollFrameBeginCallBack)(ArkUINodeHandle node, void* callback);
3337     void (*resetOnScrollFrameBeginCallBack)(ArkUINodeHandle node);
3338     void (*setOnScrollStartCallBack)(ArkUINodeHandle node, void* callback);
3339     void (*resetOnScrollStartCallBack)(ArkUINodeHandle node);
3340     void (*setOnScrollStopCallBack)(ArkUINodeHandle node, void* callback);
3341     void (*resetOnScrollStopCallBack)(ArkUINodeHandle node);
3342     ArkUI_Float32 (*getFlingSpeedLimit)(ArkUINodeHandle node);
3343     void (*setFlingSpeedLimit)(ArkUINodeHandle node, ArkUI_Float32 value);
3344     void (*resetFlingSpeedLimit)(ArkUINodeHandle node);
3345     void (*setBackToTop)(ArkUINodeHandle node, ArkUI_Bool value);
3346     void (*resetBackToTop)(ArkUINodeHandle node);
3347     ArkUI_Int32 (*getBackToTop)(ArkUINodeHandle node);
3348 };
3349 
3350 struct ArkUIScrollModifier {
3351     void (*setScrollNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 scrollForward, ArkUI_Int32 scrollBackward);
3352     void (*resetScrollNestedScroll)(ArkUINodeHandle node);
3353     ArkUI_Bool (*getScrollEnableScroll)(ArkUINodeHandle node);
3354     void (*setScrollEnableScroll)(ArkUINodeHandle node, ArkUI_Bool value);
3355     void (*resetScrollEnableScroll)(ArkUINodeHandle node);
3356     ArkUI_Float32 (*getScrollFriction)(ArkUINodeHandle node);
3357     void (*setScrollFriction)(ArkUINodeHandle node, ArkUI_Float32 value);
3358     void (*resetScrollFriction)(ArkUINodeHandle node);
3359     ArkUI_Int32 (*getScrollScrollSnap)(ArkUINodeHandle node, ArkUI_Float32 (*values)[32]);
3360     void (*setScrollScrollSnap)(ArkUINodeHandle node, const ArkUI_Float32* paginationValue, ArkUI_Int32 paginationSize,
3361         const ArkUI_Int32* paginationParam, ArkUI_Int32 paramSize);
3362     void (*resetScrollScrollSnap)(ArkUINodeHandle node);
3363     ArkUI_Int32 (*getScrollScrollBar)(ArkUINodeHandle node);
3364     void (*setScrollScrollBar)(ArkUINodeHandle node, ArkUI_Int32 value);
3365     void (*resetScrollScrollBar)(ArkUINodeHandle node);
3366     ArkUI_Int32 (*getScrollScrollable)(ArkUINodeHandle node);
3367     void (*setScrollScrollable)(ArkUINodeHandle node, ArkUI_Int32 scrollDirection);
3368     void (*resetScrollScrollable)(ArkUINodeHandle node);
3369     ArkUI_Uint32 (*getScrollScrollBarColor)(ArkUINodeHandle node);
3370     void (*setScrollScrollBarColor)(ArkUINodeHandle node, ArkUI_Uint32 scrollBarColor);
3371     void (*resetScrollScrollBarColor)(ArkUINodeHandle node);
3372     ArkUI_Float32 (*getScrollScrollBarWidth)(ArkUINodeHandle node);
3373     void (*setScrollScrollBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3374     void (*resetScrollScrollBarWidth)(ArkUINodeHandle node);
3375     ArkUI_Int32 (*getScrollEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
3376     void (*setScrollEdgeEffect)(
3377         ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled, ArkUI_Int32 effectEdge);
3378     void (*resetScrollEdgeEffect)(ArkUINodeHandle node);
3379     ArkUI_Bool (*getEnableScrollInteraction)(ArkUINodeHandle node);
3380     void (*setEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool enableScrollInteraction);
3381     void (*resetEnableScrollInteraction)(ArkUINodeHandle node);
3382     void (*setScrollTo)(ArkUINodeHandle node, const ArkUI_Float32 (*values)[8]);
3383     void (*setScrollEdge)(ArkUINodeHandle node, ArkUI_Int32 value);
3384     void (*resetScrollTo)(ArkUINodeHandle node);
3385     void (*resetScrollEdge)(ArkUINodeHandle node);
3386     ArkUI_Int32 (*getScrollEnablePaging)(ArkUINodeHandle node);
3387     void (*setScrollEnablePaging)(ArkUINodeHandle node, ArkUI_Int32 value);
3388     void (*resetScrollEnablePaging)(ArkUINodeHandle node);
3389     void (*getScrollNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
3390     void (*getScrollOffset)(ArkUINodeHandle node, ArkUI_Float32 (*values)[2]);
3391     ArkUI_Int32 (*getScrollEdge)(ArkUINodeHandle node);
3392     void (*setScrollInitialOffset)(ArkUINodeHandle node, ArkUI_Float32 xOffsetValue, ArkUI_Int32 xOffsetUnit,
3393         ArkUI_Float32 yOffsetValue, ArkUI_Int32 yOffsetUnit);
3394     void (*resetScrollInitialOffset)(ArkUINodeHandle node);
3395     void (*setScrollPage)(ArkUINodeHandle node, ArkUI_Int32 next, ArkUI_Int32 animation);
3396     void (*setScrollBy)(ArkUINodeHandle node, ArkUI_Float64 x, ArkUI_Float64 y);
3397     ArkUINodeHandle (*getScroll)(ArkUINodeHandle node);
3398     void (*setScrollBarProxy)(ArkUINodeHandle node, ArkUINodeHandle proxy);
3399     void (*setScrollToIndex)(ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Int32 smooth, ArkUI_Int32 align);
3400     void (*setScrollOnScrollStart)(ArkUINodeHandle node, void* callback);
3401     void (*resetScrollOnScrollStart)(ArkUINodeHandle node);
3402     void (*setScrollOnScrollEnd)(ArkUINodeHandle node, void* callback);
3403     void (*resetScrollOnScrollEnd)(ArkUINodeHandle node);
3404     void (*setScrollOnScrollStop)(ArkUINodeHandle node, void* callback);
3405     void (*resetScrollOnScrollStop)(ArkUINodeHandle node);
3406     void (*setScrollOnScroll)(ArkUINodeHandle node, void* callback);
3407     void (*resetScrollOnScroll)(ArkUINodeHandle node);
3408     void (*setScrollOnScrollEdge)(ArkUINodeHandle node, void* callback);
3409     void (*resetScrollOnScrollEdge)(ArkUINodeHandle node);
3410     void (*setScrollOnDidScrollCallBack)(ArkUINodeHandle node, void* callback);
3411     void (*resetScrollOnDidScroll)(ArkUINodeHandle node);
3412     void (*setScrollOnWillScrollCallBack)(ArkUINodeHandle node, void* callback);
3413     void (*resetScrollOnWillScrollCallBack)(ArkUINodeHandle node);
3414     void (*setOnScrollFrameBeginCallBack)(ArkUINodeHandle node, void* callback);
3415     void (*resetOnScrollFrameBeginCallBack)(ArkUINodeHandle node);
3416     void (*setScrollFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge, ArkUI_Float32 fadingEdgeLengthValue,
3417         ArkUI_Int32 fadingEdgeLengthUnit);
3418     void (*resetScrollFadingEdge)(ArkUINodeHandle node);
3419     void (*getScrollFadingEdge)(ArkUINodeHandle node, ArkUIInt32orFloat32 (*values)[2]);
3420     void (*setScrollFling)(ArkUINodeHandle node, ArkUI_Float64 value);
3421     void (*getScrollContentSize)(ArkUINodeHandle node, ArkUI_Float32 (*values)[2]);
3422 };
3423 
3424 struct ArkUIListItemModifier {
3425     void (*setListItemSelected)(ArkUINodeHandle node, ArkUI_Bool selected);
3426     void (*resetListItemSelected)(ArkUINodeHandle node);
3427     void (*setSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
3428     void (*resetSelectable)(ArkUINodeHandle node);
3429     void (*setListItemSwipeAction)(ArkUINodeHandle node, ArkUIListItemSwipeActionOptionHandle option);
3430     void (*resetListItemSwipeAction)(ArkUINodeHandle node);
3431 };
3432 
3433 struct ArkUIScrollBarModifier {
3434     void (*setScrollBarDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
3435     void (*resetScrollBarDirection)(ArkUINodeHandle node);
3436     void (*setScrollBarState)(ArkUINodeHandle node, ArkUI_Int32 state);
3437     void (*resetScrollBarState)(ArkUINodeHandle node);
3438     void (*setScrollBarScroller)(ArkUINodeHandle node, ArkUINodeHandle controller);
3439     void (*setScrollBarEnableNestedScroll)(ArkUINodeHandle node, ArkUI_Bool value);
3440     void (*resetScrollBarEnableNestedScroll)(ArkUINodeHandle node);
3441 };
3442 
3443 struct ArkUIScrollerModifier {
3444     ArkUINodeHandle (*getScroller)(ArkUINodeHandle node, ArkUINodeHandle proxy);
3445     ArkUINodeHandle (*getScrollerProxy)(ArkUINodeHandle node);
3446     void (*scrollToIndex)(ArkUINodeHandle node, ArkUI_Int32 value, ArkUI_Bool smooth,
3447         ArkUIScrollAlign align);
3448     void (*scrollBy)(ArkUINodeHandle node, ArkUI_Float32* values, ArkUI_Int32* units);
3449     void (*getCurrentOffset)(ArkUINodeHandle node, ArkUI_Float32* out);
3450     void (*scrollTo)(ArkUINodeHandle node, ArkUI_Float32* xOffsetArray, ArkUI_Float32* yOffsetArray,
3451         ArkUI_Bool animation, const struct ArkUIScrollerAnimationType* animationType);
3452 };
3453 
3454 struct ArkUITabsModifier {
3455     void (*setTabBarMode)(ArkUINodeHandle node, ArkUI_Int32 tabsBarMode);
3456     void (*setScrollableBarModeOptions)(
3457         ArkUINodeHandle node, const ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_Int32 layoutStyle);
3458     void (*setBarGridAlign)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
3459         const ArkUI_Int32* units, ArkUI_Int32 unitsLength);
3460     void (*setDivider)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values, const ArkUI_Int32* units,
3461         ArkUI_Int32 length);
3462     void (*setFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge);
3463     void (*setTabOnUnselected)(ArkUINodeHandle node, void* callback);
3464     void (*setBarBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3465     void (*setBarBackgroundBlurStyle)(ArkUINodeHandle node, ArkUITabBarBackgroundBlurStyle* styleOption);
3466     void (*setBarOverlap)(ArkUINodeHandle node, ArkUI_Bool overlap);
3467     void (*setIsVertical)(ArkUINodeHandle node, ArkUI_Bool isVertical);
3468     void (*setTabBarPosition)(ArkUINodeHandle node, ArkUI_Int32 barVal);
3469     void (*setTabsOptionsIndex)(ArkUINodeHandle node, ArkUI_Int32 indexVal);
3470     void (*setTabsOptionsController)(ArkUINodeHandle node, ArkUINodeHandle tabsController);
3471     void (*setScrollable)(ArkUINodeHandle node, ArkUI_Bool scrollable);
3472     void (*setTabBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3473     void (*setTabBarHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3474     void (*setBarAdaptiveHeight)(ArkUINodeHandle node, ArkUI_Bool value);
3475     void (*setAnimationDuration)(ArkUINodeHandle node, ArkUI_Float32 duration);
3476     void (*resetTabBarMode)(ArkUINodeHandle node);
3477     void (*resetScrollableBarModeOptions)(ArkUINodeHandle node);
3478     void (*resetBarGridAlign)(ArkUINodeHandle node);
3479     void (*resetDivider)(ArkUINodeHandle node);
3480     void (*resetFadingEdge)(ArkUINodeHandle node);
3481     void (*resetTabOnUnselected)(ArkUINodeHandle node);
3482     void (*resetBarBackgroundColor)(ArkUINodeHandle node);
3483     void (*resetBarBackgroundBlurStyle)(ArkUINodeHandle node);
3484     void (*resetBarOverlap)(ArkUINodeHandle node);
3485     void (*resetIsVertical)(ArkUINodeHandle node);
3486     void (*resetTabBarPosition)(ArkUINodeHandle node);
3487     void (*resetTabsOptionsIndex)(ArkUINodeHandle node);
3488     void (*resetScrollable)(ArkUINodeHandle node);
3489     void (*resetTabBarWidth)(ArkUINodeHandle node);
3490     void (*resetTabBarHeight)(ArkUINodeHandle node);
3491     void (*resetBarAdaptiveHeight)(ArkUINodeHandle node);
3492     void (*resetAnimationDuration)(ArkUINodeHandle node);
3493     void (*setTabClip)(ArkUINodeHandle node, ArkUI_Bool clipEdge);
3494     void (*resetTabClip)(ArkUINodeHandle node);
3495     void (*setTabEdgeEffect)(ArkUINodeHandle node, ArkUI_Uint32 edgeEffect);
3496     void (*resetTabEdgeEffect)(ArkUINodeHandle node);
3497     void (*setTabPageFlipMode)(ArkUINodeHandle node, ArkUI_Int32 pageFlipMode);
3498     void (*resetTabPageFlipMode)(ArkUINodeHandle node);
3499     void (*setTabWidthAuto)(ArkUINodeHandle node);
3500     void (*resetTabWidthAuto)(ArkUINodeHandle node);
3501     void (*setTabHeightAuto)(ArkUINodeHandle node);
3502     void (*resetTabHeightAuto)(ArkUINodeHandle node);
3503     void (*setAnimateMode)(ArkUINodeHandle node, ArkUI_Uint32 mode);
3504     void (*resetAnimateMode)(ArkUINodeHandle node);
3505     void (*setBarBackgroundEffect)(ArkUINodeHandle node, ArkUITabBarBackgroundEffect* effectOption);
3506     void (*resetBarBackgroundEffect)(ArkUINodeHandle node);
3507     void (*setTabsOnSelected)(ArkUINodeHandle node, void* callback);
3508     void (*resetTabsOnSelected)(ArkUINodeHandle node);
3509     void (*setCachedMaxCount)(ArkUINodeHandle node, ArkUI_Int32 count, ArkUI_Int32 mode);
3510     void (*resetCachedMaxCount)(ArkUINodeHandle node);
3511 };
3512 
3513 struct ArkUIStepperItemModifier {
3514     void (*setNextLabel)(ArkUINodeHandle node, ArkUI_CharPtr rightLabel);
3515     void (*resetNextLabel)(ArkUINodeHandle node);
3516     void (*setPrevLabel)(ArkUINodeHandle node, ArkUI_CharPtr rightLabel);
3517     void (*resetPrevLabel)(ArkUINodeHandle node);
3518     void (*setStatus)(ArkUINodeHandle node, ArkUI_CharPtr labelStatus);
3519     void (*resetStatus)(ArkUINodeHandle node);
3520 };
3521 
3522 struct ArkUITabContentModifier {
3523     void (*setTabContentBuilder)(ArkUINodeHandle node, ArkUI_Int32 methodId);
3524     void (*setTabContentLabel)(ArkUINodeHandle node, ArkUI_CharPtr label);
3525 };
3526 
3527 struct ArkUITabsControllerModifier {
3528     ArkUINodeHandle (*getTabsController)(ArkUINodeHandle node);
3529 };
3530 
3531 struct ArkUIGesture;
3532 
3533 struct ArkUIGestureEventTargetInfo {
3534     void* uiNode = nullptr;
3535 };
3536 
3537 struct ArkUIGestureRecognizer {
3538     ArkUI_Int32 type = -1;
3539     ArkUIGesture* gesture = nullptr;
3540     void* extraData = nullptr;
3541     void* attachNode = nullptr;
3542     bool capi = true;
3543     void* recognizer = nullptr;
3544     ArkUIGestureEventTargetInfo targetInfo = {};
3545 };
3546 
3547 struct ArkUIGestureEvent {
3548     ArkUIAPIEventGestureAsyncEvent eventData;
3549     void* attachNode;
3550 };
3551 
3552 struct ArkUIGestureInterruptInfo {
3553     bool isSystemGesture;
3554     ArkUI_Int32 systemRecognizerType;
3555     ArkUIAPIEventGestureAsyncEvent* event = nullptr;
3556     void* customUserData = nullptr;
3557     void* userData = nullptr;
3558     void* inputEvent = nullptr;
3559     void* gestureEvent = nullptr;
3560     ArkUIGestureRecognizer** responseLinkRecognizer = nullptr;
3561     ArkUI_Int32 count = 0;
3562     void** touchRecognizers = nullptr;
3563     ArkUI_Int32 touchRecognizerCnt = 0;
3564 };
3565 
3566 enum ArkUIGestureRecognizerState {
3567     RECOGNIZER_STATE_READY = 0,
3568     RECOGNIZER_STATE_DETECTING = 1,
3569     RECOGNIZER_STATE_PENDING = 2,
3570     RECOGNIZER_STATE_BLOCKED = 3,
3571     RECOGNIZER_STATE_SUCCESSFUL = 4,
3572     RECOGNIZER_STATE_FAILED = 5,
3573 };
3574 
3575 struct ArkUIParallelInnerGestureEvent {
3576     ArkUIGestureRecognizer* current = nullptr;
3577     ArkUIGestureRecognizer** responseLinkRecognizer = nullptr;
3578     void* userData = nullptr;
3579     ArkUI_Int32 count = 0;
3580 };
3581 
3582 struct ArkUIGestureModifier {
3583     ArkUIGesture* (*createTapGesture)(ArkUI_Int32 count, ArkUI_Int32 fingers, bool limitFingerCount, void* userData);
3584     ArkUIGesture* (*createTapGestureWithDistanceThreshold)(
3585         ArkUI_Int32 count, ArkUI_Int32 fingers, ArkUI_Float64 distanceThreshold, bool limitFingerCount,
3586         void* userData);
3587     ArkUIGesture* (*createLongPressGesture)(ArkUI_Int32 fingers, bool repeat, ArkUI_Int32 duration,
3588         bool limitFingerCount, void* userData);
3589     ArkUIGesture* (*createPanGesture)(
3590         ArkUI_Int32 fingers, ArkUI_Int32 direction, ArkUI_Float64 distance, bool limitFingerCount, void* userData);
3591     ArkUIGesture* (*createPinchGesture)(ArkUI_Int32 fingers, ArkUI_Float64 distance, bool limitFingerCount,
3592         void* userData);
3593     ArkUIGesture* (*createRotationGesture)(ArkUI_Int32 fingers, ArkUI_Float64 angle, bool limitFingerCount,
3594         void* userData);
3595     ArkUIGesture* (*createSwipeGesture)(
3596         ArkUI_Int32 fingers, ArkUI_Int32 directions, ArkUI_Float64 speed, bool limitFingerCount, void* userData);
3597     ArkUIGesture* (*createSwipeGestureByModifier)(
3598         ArkUI_Int32 fingers, ArkUI_Int32 direction, ArkUI_Float64 speed, bool limitFingerCount);
3599     ArkUIGesture* (*createGestureGroup)(ArkUI_Int32 mode);
3600     void (*addGestureToGestureGroup)(ArkUIGesture* group, ArkUIGesture* child);
3601     void (*removeGestureFromGestureGroup)(ArkUIGesture* group, ArkUIGesture* child);
3602     void (*dispose)(ArkUIGesture* recognizer);
3603     // gesture event will received in common async event queue.
3604     void (*registerGestureEvent)(ArkUIGesture* gesture, ArkUI_Uint32 actionTypeMask, void* extraParam);
3605     void (*addGestureToNode)(ArkUINodeHandle node, ArkUIGesture* gesture, ArkUI_Int32 priorityNum, ArkUI_Int32 mask);
3606     void (*removeGestureFromNode)(ArkUINodeHandle node, ArkUIGesture* recognizer);
3607     void (*removeGestureFromNodeByTag)(ArkUINodeHandle node, ArkUI_CharPtr gestureTag);
3608     void (*clearGestures)(ArkUINodeHandle node);
3609     void (*setGestureInterrupterToNode)(
3610         ArkUINodeHandle node, ArkUI_Int32 (*interrupter)(ArkUIGestureInterruptInfo* interrupterInfo));
3611     void (*setGestureInterrupterToNodeWithUserData)(
3612         ArkUINodeHandle node, void* userData, ArkUI_Int32 (*interrupter)(ArkUIGestureInterruptInfo* interrupterInfo));
3613     ArkUI_Int32 (*setInnerGestureParallelTo)(ArkUINodeHandle node, void* userData,
3614         ArkUIGestureRecognizer* (*parallelInnerGesture)(ArkUIParallelInnerGestureEvent* event));
3615     ArkUI_Int32 (*setGestureRecognizerEnabled)(ArkUIGestureRecognizer* recognizer, bool enabled);
3616     ArkUI_Int32 (*setGestureRecognizerLimitFingerCount)(ArkUIGesture* gesture, bool limitFingerCount);
3617     ArkUI_Bool (*getGestureRecognizerEnabled)(ArkUIGestureRecognizer* recognizer);
3618     ArkUI_Int32 (*getGestureRecognizerState)(ArkUIGestureRecognizer* recognizer, ArkUIGestureRecognizerState* state);
3619     ArkUI_Int32 (*gestureEventTargetInfoIsScrollBegin)(ArkUIGestureEventTargetInfo* info, bool* ret);
3620     ArkUI_Int32 (*gestureEventTargetInfoIsScrollEnd)(ArkUIGestureEventTargetInfo* info, bool* ret);
3621     ArkUI_Int32 (*getPanGestureDirectionMask)(ArkUIGestureRecognizer* recognizer, ArkUIGestureDirection* direction);
3622     ArkUI_Int32 (*getSwipeGestureDirectionMask)(
3623         ArkUIGestureRecognizer* recognizer, ArkUISwipeGestureDirection* direction);
3624     ArkUI_Int32 (*getGestureFingerCount)(ArkUIGestureRecognizer* recognizer, int* finger);
3625     ArkUI_Int32 (*getGestureLimitFingerCount)(ArkUIGestureRecognizer* recognizer, bool* isLimited);
3626     ArkUI_Int32 (*getLongPressGestureRepeat)(ArkUIGestureRecognizer* recognizer, bool* isRepeat);
3627     ArkUI_Int32 (*getPanGestureDistance)(ArkUIGestureRecognizer* recognizer, double* distance);
3628     ArkUI_Int32 (*getPinchGestureDistance)(ArkUIGestureRecognizer* recognizer, double* distance);
3629     ArkUI_Int32 (*getSwipeGestureSpeed)(ArkUIGestureRecognizer* recognizer, double* speed);
3630     ArkUI_Int32 (*getLongPressGestureDuration)(ArkUIGestureRecognizer* recognizer, int* duration);
3631     ArkUI_Int32 (*getRotationGestureAngle)(ArkUIGestureRecognizer* recognizer, double* angle);
3632     ArkUI_Int32 (*getTapGestureDistanceThreshold)(ArkUIGestureRecognizer* recognizer, double* distanceThreshold);
3633     ArkUI_Bool (*isBuiltInGesture)(ArkUIGestureRecognizer* recognizer);
3634     ArkUI_Int32 (*getGestureTag)(
3635         ArkUIGestureRecognizer* recognizer, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* result);
3636     ArkUI_Int32 (*getGestureBindNodeId)(
3637         ArkUIGestureRecognizer* recognizer, char* nodeId, ArkUI_Int32 size, ArkUI_Int32* result);
3638     ArkUI_Bool (*isGestureRecognizerValid)(ArkUIGestureRecognizer* recognizer);
3639     ArkUI_Int32 (*setArkUIGestureRecognizerDisposeNotify)(ArkUIGestureRecognizer* recognizer, void* userData,
3640         void (*callback)(ArkUIGestureRecognizer* recognizer, void* userData));
3641     void (*addGestureToGestureGroupWithRefCountDecrease)(ArkUIGesture* group, ArkUIGesture* child);
3642     void (*addGestureToNodeWithRefCountDecrease)(
3643         ArkUINodeHandle node, ArkUIGesture* gesture, ArkUI_Int32 priorityNum, ArkUI_Int32 mask);
3644     void (*registerGestureEventExt)(ArkUIGesture* gesture, ArkUI_Uint32 actionTypeMask,
3645         GestrueFunction* gestrueFunction, void* gestureData);
3646     ArkUINodeHandle (*touchRecognizerGetNodeHandle)(void* recognizer);
3647     ArkUI_Bool (*touchRecognizerCancelTouch)(void* recognizer);
3648 };
3649 
3650 struct ArkUISliderModifier {
3651     void (*setShowTips)(ArkUINodeHandle node, ArkUI_Bool isShow, ArkUI_CharPtr value);
3652     void (*resetShowTips)(ArkUINodeHandle node);
3653     void (*setSliderStepSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3654     void (*resetSliderStepSize)(ArkUINodeHandle node);
3655     void (*setBlockSize)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit, ArkUI_Float32 heightVal,
3656         ArkUI_Int32 heightUnit);
3657     void (*resetBlockSize)(ArkUINodeHandle node);
3658     void (*setTrackBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3659     void (*resetTrackBorderRadius)(ArkUINodeHandle node);
3660     void (*setStepColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3661     void (*resetStepColor)(ArkUINodeHandle node);
3662     void (*setBlockBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3663     void (*resetBlockBorderColor)(ArkUINodeHandle node);
3664     void (*setBlockBorderWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3665     void (*resetBlockBorderWidth)(ArkUINodeHandle node);
3666     void (*setBlockColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3667     void (*resetBlockColor)(ArkUINodeHandle node);
3668     void (*setTrackBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3669     void (*resetTrackBackgroundColor)(ArkUINodeHandle node);
3670     void (*setSelectColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3671     void (*resetSelectColor)(ArkUINodeHandle node);
3672     void (*setShowSteps)(ArkUINodeHandle node, ArkUI_Bool showSteps);
3673     void (*resetShowSteps)(ArkUINodeHandle node);
3674     void (*setThickness)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3675     void (*resetThickness)(ArkUINodeHandle node);
3676     void (*setSliderValue)(ArkUINodeHandle node, ArkUI_Float32 value);
3677     void (*setMinLabel)(ArkUINodeHandle node, ArkUI_Float32 value);
3678     void (*setMaxLabel)(ArkUINodeHandle node, ArkUI_Float32 value);
3679     void (*setDirection)(ArkUINodeHandle node, ArkUI_Int32 value);
3680     void (*setStep)(ArkUINodeHandle node, ArkUI_Float32 value);
3681     void (*setReverse)(ArkUINodeHandle node, ArkUI_Int32 value);
3682     void (*setSliderStyle)(ArkUINodeHandle node, ArkUI_Int32 value);
3683     void (*resetSliderValue)(ArkUINodeHandle node);
3684     void (*resetMinLabel)(ArkUINodeHandle node);
3685     void (*resetMaxLabel)(ArkUINodeHandle node);
3686     void (*resetDirection)(ArkUINodeHandle node);
3687     void (*resetStep)(ArkUINodeHandle node);
3688     void (*resetReverse)(ArkUINodeHandle node);
3689     void (*resetSliderStyle)(ArkUINodeHandle node);
3690     void (*setSliderBlockImage)(ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundle, ArkUI_CharPtr module);
3691     void (*resetSliderBlockImage)(ArkUINodeHandle node);
3692     void (*setSliderBlockPath)(
3693         ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32 (*attribute)[2], ArkUI_CharPtr commands);
3694     void (*setSliderBlockShape)(
3695         ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32* attribute, ArkUI_Int32 length);
3696     void (*resetSliderBlockShape)(ArkUINodeHandle node);
3697     void (*setSliderBlockType)(ArkUINodeHandle node, ArkUI_Int32 value);
3698     void (*resetSliderBlockType)(ArkUINodeHandle node);
3699     void (*setSliderValidSlideRange)(ArkUINodeHandle node, ArkUI_Float32 from, ArkUI_Float32 to);
3700     void (*resetSliderValidSlideRange)(ArkUINodeHandle node);
3701     void (*setSelectedBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3702     void (*resetSelectedBorderRadius)(ArkUINodeHandle node);
3703     void (*setInteractionMode)(ArkUINodeHandle node, ArkUI_Int32 value);
3704     void (*resetInteractionMode)(ArkUINodeHandle node);
3705     void (*setMinResponsiveDistance)(ArkUINodeHandle node, ArkUI_Float32 value);
3706     void (*resetMinResponsiveDistance)(ArkUINodeHandle node);
3707     void (*setOnChange)(ArkUINodeHandle node, void* callback);
3708     void (*resetOnChange)(ArkUINodeHandle node);
3709 
3710     ArkUI_Uint32 (*getBlockColor)(ArkUINodeHandle node);
3711     ArkUI_Uint32 (*getTrackBackgroundColor)(ArkUINodeHandle node);
3712     ArkUI_Uint32 (*getSelectColor)(ArkUINodeHandle node);
3713     ArkUI_Bool (*getShowSteps)(ArkUINodeHandle node);
3714     ArkUI_Int32 (*getBlockType)(ArkUINodeHandle node);
3715     ArkUI_Float32 (*getSliderValue)(ArkUINodeHandle node);
3716     ArkUI_Float32 (*getMinLabel)(ArkUINodeHandle node);
3717     ArkUI_Float32 (*getMaxLabel)(ArkUINodeHandle node);
3718     ArkUI_Int32 (*getDirection)(ArkUINodeHandle node);
3719     ArkUI_Float32 (*getStep)(ArkUINodeHandle node);
3720     ArkUI_Bool (*getReverse)(ArkUINodeHandle node);
3721     ArkUI_Int32 (*getSliderStyle)(ArkUINodeHandle node);
3722     ArkUI_CharPtr (*getBlockImageValue)(ArkUINodeHandle node);
3723     ArkUI_CharPtr (*getSliderBlockShape)(ArkUINodeHandle node, ArkUI_Float32 (*value)[5]);
3724     ArkUI_Float32 (*getThickness)(ArkUINodeHandle node, ArkUI_Int32 unit);
3725     ArkUISliderValidSlideRange (*getSliderValidSlideRange)(ArkUINodeHandle node);
3726     ArkUI_Bool (*getEnableHapticFeedback)(ArkUINodeHandle node);
3727     void (*setEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Bool enableHapticFeedback);
3728     void (*resetEnableHapticFeedback)(ArkUINodeHandle node);
3729 };
3730 
3731 struct ArkUIProgressModifier {
3732     void (*setProgressValue)(ArkUINodeHandle node, ArkUI_Float32 value);
3733     void (*resetProgressValue)(ArkUINodeHandle node);
3734     void (*setProgressGradientColor)(
3735         ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Int32 length);
3736     void (*setProgressColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3737     void (*resetProgressColor)(ArkUINodeHandle node);
3738     void (*setProgressStyle)(ArkUINodeHandle node, ArkUIProgressStyle* value);
3739     void (*resetProgressStyle)(ArkUINodeHandle node);
3740     void (*setProgressBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3741     void (*resetProgressBackgroundColor)(ArkUINodeHandle node);
3742     void (*setProgressTotal)(ArkUINodeHandle node, ArkUI_Float32 value);
3743     void (*setProgressType)(ArkUINodeHandle node, ArkUI_Int32 type);
3744     void (*resetProgressType)(ArkUINodeHandle node);
3745 
3746     ArkUI_Float32 (*getProgressValue)(ArkUINodeHandle node);
3747     ArkUI_Float32 (*getProgressTotal)(ArkUINodeHandle node);
3748     ArkUI_Int32 (*getProgressType)(ArkUINodeHandle node);
3749     ArkUI_Uint32 (*getProgressColor)(ArkUINodeHandle node);
3750     void (*setProgressInitialize)(
3751         ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Float32 total, ArkUI_Int32 progressStyle);
3752     void (*resetProgressInitialize)(ArkUINodeHandle node);
3753     void (*getProgressLinearStyle)(ArkUINodeHandle node, ArkUIProgressLinearStyleOption& option);
3754 };
3755 
3756 struct ArkUIPluginModifier {
3757     void (*setPluginWidth)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit);
3758     void (*setPluginHeight)(ArkUINodeHandle node, ArkUI_Float32 heightVal, ArkUI_Int32 heightUnit);
3759     void (*setPluginSize)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Float32 heightVal, ArkUI_Int32 widthUnit,
3760         ArkUI_Int32 heightUnit);
3761     void (*resetPluginWidth)(ArkUINodeHandle node);
3762     void (*resetPluginHeight)(ArkUINodeHandle node);
3763     void (*resetPluginSize)(ArkUINodeHandle node);
3764 };
3765 
3766 struct ArkUINavDestinationModifier {
3767     void (*setHideTitleBar)(ArkUINodeHandle node, ArkUI_Bool hideTitle, ArkUI_Bool animated);
3768     void (*resetHideTitleBar)(ArkUINodeHandle node);
3769     void (*setNavDestinationHideToolBar)(ArkUINodeHandle node, ArkUI_Bool hide, ArkUI_Bool animated);
3770     void (*resetNavDestinationHideToolBar)(ArkUINodeHandle node);
3771     void (*setNavDestinationHideBackButton)(ArkUINodeHandle node, ArkUI_Bool hideBackButton);
3772     void (*resetNavDestinationHideBackButton)(ArkUINodeHandle node);
3773     void (*setNavDestinationMode)(ArkUINodeHandle node, ArkUI_Int32 value);
3774     void (*resetNavDestinationMode)(ArkUINodeHandle node);
3775     void (*setIgnoreLayoutSafeArea)(ArkUINodeHandle node, ArkUI_CharPtr typeStr, ArkUI_CharPtr edgesStr);
3776     void (*resetIgnoreLayoutSafeArea)(ArkUINodeHandle node);
3777     void (*setTitle)(ArkUINodeHandle node, ArkUINavigationTitleInfo titleInfo, ArkUINavigationTitlebarOptions options);
3778     void (*resetTitle)(ArkUINodeHandle node);
3779     void (*setMenus)(ArkUINodeHandle node, ArkUIBarItem* items, ArkUI_Uint32 length);
3780     void (*resetMenus)(ArkUINodeHandle node);
3781     void (*setMenuItemAction)(ArkUINodeHandle node, void* action, ArkUI_Uint32 index);
3782     void (*setMenuItemSymbol)(ArkUINodeHandle node, void* symbol, ArkUI_Uint32 index);
3783     void (*setRecoverable)(ArkUINodeHandle node, ArkUI_Bool recoverable);
3784     void (*resetRecoverable)(ArkUINodeHandle node);
3785     void (*setNavDestinationSystemTransition)(ArkUINodeHandle node, ArkUI_Int32 value);
3786     void (*resetNavDestinationSystemTransition)(ArkUINodeHandle node);
3787     void (*setNavDestinationCustomTitle)(ArkUINodeHandle node, ArkUINodeHandle titleNode);
3788     ArkUINodeHandle (*getNavDestinationCustomTitle)(ArkUINodeHandle node);
3789     void (*setNavDestinationTitleHeight)(ArkUINodeHandle node, const struct ArkUIDimensionType height);
3790     void (*setNavDestinationTitlebarOptions)(ArkUINodeHandle node, ArkUINavigationTitlebarOptions opts);
3791     void (*setNavDestinationOnCoordScrollStartAction)(ArkUINodeHandle node,
3792         void (*onCoordScrollStartAction)(ArkUINodeHandle node));
3793     void (*setNavDestinationOnCoordScrollUpdateAction)(ArkUINodeHandle node,
3794         void (*onCoordScrollUpdateAction)(ArkUINodeHandle node, ArkUI_Float32 currentOffset));
3795     void (*setNavDestinationOnCoordScrollEndAction)(ArkUINodeHandle node,
3796         void (*onCoordScrollEndAction)(ArkUINodeHandle node));
3797     void (*setNavDestinationSystemBarStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
3798     void (*setCustomBackButtonNode)(ArkUINodeHandle node, ArkUINodeHandle backButtonNode);
3799 };
3800 
3801 struct ArkUITextAreaModifier {
3802     void (*setTextAreaStyle)(ArkUINodeHandle node, ArkUI_Int32 style);
3803     void (*resetTextAreaStyle)(ArkUINodeHandle node);
3804     void (*setTextAreaSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 contextMenuHidden);
3805     void (*resetTextAreaSelectionMenuHidden)(ArkUINodeHandle node);
3806     void (*setTextAreaMaxLines)(ArkUINodeHandle node, ArkUI_Uint32 maxLine);
3807     void (*resetTextAreaMaxLines)(ArkUINodeHandle node);
3808     void (*setTextAreaCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOptions);
3809     void (*resetTextAreaCopyOption)(ArkUINodeHandle node);
3810     void (*setTextAreaPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3811     void (*resetTextAreaPlaceholderColor)(ArkUINodeHandle node);
3812     void (*setTextAreaTextAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
3813     void (*resetTextAreaTextAlign)(ArkUINodeHandle node);
3814     void (*setTextAreaPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIResourceLength* size,
3815         ArkUI_CharPtr weight, ArkUI_CharPtr family, ArkUI_Int32 style);
3816     void (*resetTextAreaPlaceholderFont)(ArkUINodeHandle node);
3817     void (*setTextAreaBarState)(ArkUINodeHandle node, ArkUI_Uint32 barStateValue);
3818     void (*resetTextAreaBarState)(ArkUINodeHandle node);
3819     void (*setTextAreaEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 keyboardOnFocusValue);
3820     void (*resetTextAreaEnableKeyboardOnFocus)(ArkUINodeHandle node);
3821     void (*setTextAreaFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
3822     void (*resetTextAreaFontFamily)(ArkUINodeHandle node);
3823     void (*setTextAreaShowCounter)(ArkUINodeHandle node, ArkUI_Uint32 value);
3824     void (*resetTextAreaShowCounter)(ArkUINodeHandle node);
3825     void (*setTextAreaCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3826     void (*resetTextAreaCaretColor)(ArkUINodeHandle node);
3827     void (*setTextAreaMaxLength)(ArkUINodeHandle node, ArkUI_Int32 value);
3828     void (*resetTextAreaMaxLength)(ArkUINodeHandle node);
3829     void (*setTextAreaFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3830     void (*resetTextAreaFontColor)(ArkUINodeHandle node);
3831     void (*setTextAreaFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
3832     void (*resetTextAreaFontStyle)(ArkUINodeHandle node);
3833     void (*setTextAreaFontWeight)(ArkUINodeHandle node, ArkUI_Int32 fontWeight);
3834     void (*resetTextAreaFontWeight)(ArkUINodeHandle node);
3835     void (*setTextAreaFontSize)(ArkUINodeHandle node, const struct ArkUIResourceLength* size);
3836     void (*resetTextAreaFontSize)(ArkUINodeHandle node);
3837     void (*setCounterType)(ArkUINodeHandle node, ArkUI_Int32 value);
3838     void (*setTextAreaPlaceholderString)(ArkUINodeHandle node, ArkUI_CharPtr value);
3839     void (*setTextAreaTextString)(ArkUINodeHandle node, ArkUI_CharPtr value);
3840     void (*stopTextAreaTextEditing)(ArkUINodeHandle node);
3841     void (*setTextAreaFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
3842     void (*setTextAreaPlaceholderFontEnum)(ArkUINodeHandle node, const struct ArkUIResourceLength* size,
3843         ArkUI_Int32 weight, ArkUI_CharPtr family, ArkUI_Int32 style);
3844     ArkUI_CharPtr (*getTextAreaPlaceholder)(ArkUINodeHandle node);
3845     ArkUI_CharPtr (*getTextAreaText)(ArkUINodeHandle node);
3846     ArkUI_Uint32 (*getTextAreaCaretColor)(ArkUINodeHandle node);
3847     ArkUI_Uint32 (*getTextAreaMaxLength)(ArkUINodeHandle node);
3848     ArkUI_Uint32 (*getTextAreaPlaceholderColor)(ArkUINodeHandle node);
3849     void (*getTextAreaPlaceholderFont)(ArkUINodeHandle node, ArkUITextFont* font);
3850     ArkUI_Bool (*getTextAreaEditing)(ArkUINodeHandle node);
3851     void (*setTextAreaBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3852     void (*resetTextAreaBackgroundColor)(ArkUINodeHandle node);
3853     void (*setTextAreaType)(ArkUINodeHandle node, ArkUI_Int32 type);
3854     void (*resetTextAreaType)(ArkUINodeHandle node);
3855     ArkUI_Int32 (*getTextAreaType)(ArkUINodeHandle node);
3856     ArkUI_Int32 (*getTextAreaTextAlign)(ArkUINodeHandle node);
3857     void (*setTextAreaShowCounterOptions)(
3858         ArkUINodeHandle node, ArkUI_Int32 open, ArkUI_Int32 thresholdPercentage, ArkUI_Int32 highlightBorder);
3859     void (*resetTextAreaShowCounterOptions)(ArkUINodeHandle node);
3860     void (*getTextAreaShowCounterOptions)(ArkUINodeHandle node, ArkUIShowCountOptions* options);
3861     void (*setTextAreaDecoration)(ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, ArkUI_Int32 style);
3862     void (*resetTextAreaDecoration)(ArkUINodeHandle node);
3863     void (*setTextAreaLetterSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3864     void (*resetTextAreaLetterSpacing)(ArkUINodeHandle node);
3865     void (*setTextAreaLineHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3866     void (*resetTextAreaLineHeight)(ArkUINodeHandle node);
3867     void (*setTextAreaHalfLeading)(ArkUINodeHandle node, ArkUI_Uint32 halfLeading);
3868     void (*resetTextAreaHalfLeading)(ArkUINodeHandle node);
3869     void (*setTextAreaFontFeature)(ArkUINodeHandle node, ArkUI_CharPtr value);
3870     void (*resetTextAreaFontFeature)(ArkUINodeHandle node);
3871     void (*setTextAreaWordBreak)(ArkUINodeHandle node, ArkUI_Uint32 wordBreak);
3872     void (*resetTextAreaWordBreak)(ArkUINodeHandle node);
3873     void (*setTextAreaAdaptMinFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3874     void (*resetTextAreaAdaptMinFontSize)(ArkUINodeHandle node);
3875     void (*setTextAreaAdaptMaxFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3876     void (*resetTextAreaAdaptMaxFontSize)(ArkUINodeHandle node);
3877     void (*setTextAreaHeightAdaptivePolicy)(ArkUINodeHandle node, ArkUI_Int32 value);
3878     void (*resetTextAreaHeightAdaptivePolicy)(ArkUINodeHandle node);
3879     void (*setTextAreaSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3880     void (*resetTextAreaSelectedBackgroundColor)(ArkUINodeHandle node);
3881     void (*setTextAreaCaretStyle)(
3882         ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_Uint32 caretColor);
3883     void (*resetTextAreaCaretStyle)(ArkUINodeHandle node);
3884     void (*setTextAreaTextOverflow)(ArkUINodeHandle node, ArkUI_Int32 value);
3885     void (*resetTextAreaTextOverflow)(ArkUINodeHandle node);
3886     void (*setTextAreaTextIndent)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3887     void (*resetTextAreaTextIndent)(ArkUINodeHandle node);
3888     void (*setTextAreaLineSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3889     void (*resetTextAreaLineSpacing)(ArkUINodeHandle node);
3890     ArkUI_Bool (*getTextAreaSelectionMenuHidden)(ArkUINodeHandle node);
3891     ArkUI_Float32 (*getTextAreaAdaptMinFontSize)(ArkUINodeHandle node);
3892     ArkUI_Float32 (*getTextAreaAdaptMaxFontSize)(ArkUINodeHandle node);
3893     ArkUI_Float32 (*getTextAreaLineHeight)(ArkUINodeHandle node);
3894     ArkUI_Int32 (*getTextAreaMaxLines)(ArkUINodeHandle node);
3895     void (*setTextAreaPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
3896         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
3897     void (*resetTextAreaPadding)(ArkUINodeHandle node);
3898     ArkUI_CharPtr (*getTextAreaFontFeature)(ArkUINodeHandle node);
3899     void (*setTextAreaOnChange)(ArkUINodeHandle node, void* callback);
3900     void (*resetTextAreaOnChange)(ArkUINodeHandle node);
3901     void (*setTextAreaEnterKeyType)(ArkUINodeHandle node, ArkUI_Int32 value);
3902     void (*resetTextAreaEnterKeyType)(ArkUINodeHandle node);
3903     void (*setTextAreaInputFilter)(ArkUINodeHandle node, ArkUI_CharPtr value, void* callback);
3904     void (*resetTextAreaInputFilter)(ArkUINodeHandle node);
3905     void (*setTextAreaOnTextSelectionChange)(ArkUINodeHandle node, void* callback);
3906     void (*resetTextAreaOnTextSelectionChange)(ArkUINodeHandle node);
3907     void (*setTextAreaOnContentScroll)(ArkUINodeHandle node, void* callback);
3908     void (*resetTextAreaOnContentScroll)(ArkUINodeHandle node);
3909     void (*setTextAreaOnEditChange)(ArkUINodeHandle node, void* callback);
3910     void (*resetTextAreaOnEditChange)(ArkUINodeHandle node);
3911     void (*setTextAreaOnCopy)(ArkUINodeHandle node, void* callback);
3912     void (*resetTextAreaOnCopy)(ArkUINodeHandle node);
3913     void (*setTextAreaOnCut)(ArkUINodeHandle node, void* callback);
3914     void (*resetTextAreaOnCut)(ArkUINodeHandle node);
3915     void (*setTextAreaOnPaste)(ArkUINodeHandle node, void* callback);
3916     void (*resetTextAreaOnPaste)(ArkUINodeHandle node);
3917     void (*setTextAreaLineBreakStrategy)(ArkUINodeHandle node, ArkUI_Uint32 lineBreakStrategy);
3918     void (*resetTextAreaLineBreakStrategy)(ArkUINodeHandle node);
3919     void (*setTextAreaOnSubmitWithEvent)(ArkUINodeHandle node, void* callback);
3920     void (*resetTextAreaOnSubmitWithEvent)(ArkUINodeHandle node);
3921     void (*setTextAreaContentType)(ArkUINodeHandle node, ArkUI_Int32 contentType);
3922     void (*resetTextAreaContentType)(ArkUINodeHandle node);
3923     void (*setTextAreaEnableAutoFill)(ArkUINodeHandle node, ArkUI_Uint32 enableAutoFill);
3924     void (*resetTextAreaEnableAutoFill)(ArkUINodeHandle node);
3925     void (*setTextAreaBorder)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize,
3926         const ArkUI_Uint32* colorAndStyle, ArkUI_Int32 colorAndStyleSize);
3927     void (*resetTextAreaBorder)(ArkUINodeHandle node);
3928     void (*setTextAreaBorderWidth)(
3929         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
3930     void (*resetTextAreaBorderWidth)(ArkUINodeHandle node);
3931     void (*setTextAreaBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 topColorInt,
3932         ArkUI_Uint32 rightColorInt, ArkUI_Uint32 bottomColorInt, ArkUI_Uint32 leftColorInt);
3933     void (*resetTextAreaBorderColor)(ArkUINodeHandle node);
3934     void (*setTextAreaBorderStyle)(ArkUINodeHandle node, const ArkUI_Int32* styles, ArkUI_Int32 length);
3935     void (*resetTextAreaBorderStyle)(ArkUINodeHandle node);
3936     void (*setTextAreaBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32* values,
3937         const ArkUI_Int32* units, ArkUI_Int32 length);
3938     void (*resetTextAreaBorderRadius)(ArkUINodeHandle node);
3939     void (*setTextAreaMargin)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
3940         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
3941     void (*resetTextAreaMargin)(ArkUINodeHandle node);
3942     void (*setTextAreaCaret)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
3943     void (*getTextAreaMargin)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 length, ArkUI_Int32 unit);
3944     void (*setTextAreaOnWillChange)(ArkUINodeHandle node, ArkUI_Int64 callback);
3945     void (*resetTextAreaOnWillChange)(ArkUINodeHandle node);
3946     void (*setTextAreaOnWillInsert)(ArkUINodeHandle node, ArkUI_Int64 callback);
3947     void (*resetTextAreaOnWillInsert)(ArkUINodeHandle node);
3948     void (*setTextAreaOnDidInsert)(ArkUINodeHandle node, ArkUI_Int64 callback);
3949     void (*resetTextAreaOnDidInsert)(ArkUINodeHandle node);
3950     void (*setTextAreaOnWillDelete)(ArkUINodeHandle node, ArkUI_Int64 callback);
3951     void (*resetTextAreaOnWillDelete)(ArkUINodeHandle node);
3952     void (*setTextAreaOnDidDelete)(ArkUINodeHandle node, ArkUI_Int64 callback);
3953     void (*resetTextAreaOnDidDelete)(ArkUINodeHandle node);
3954     void (*setTextAreaEnablePreviewText)(ArkUINodeHandle node, ArkUI_Uint32 value);
3955     void (*resetTextAreaEnablePreviewText)(ArkUINodeHandle node);
3956     void (*getTextAreaPadding)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 length, ArkUI_Int32 unit);
3957     void (*setTextAreaSelectionMenuOptions)(
3958         ArkUINodeHandle node, void* onCreateMenuCallback, void* onMenuItemClickCallback);
3959     void (*resetTextAreaSelectionMenuOptions)(ArkUINodeHandle node);
3960     void (*setTextAreaWidth)(ArkUINodeHandle node, ArkUI_CharPtr value);
3961     void (*resetTextAreaWidth)(ArkUINodeHandle node);
3962     void (*setTextAreaEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Uint32 value);
3963     void (*resetTextAreaEnableHapticFeedback)(ArkUINodeHandle node);
3964     ArkUI_Float32 (*getTextAreaLetterSpacing)(ArkUINodeHandle node);
3965     ArkUI_Bool (*getTextAreaEnablePreviewText)(ArkUINodeHandle node);
3966     void (*setEllipsisMode)(ArkUINodeHandle node, ArkUI_Uint32 ellipsisMode);
3967     void (*resetEllipsisMode)(ArkUINodeHandle node);
3968     void (*setTextAreaBorderDash)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
3969     void (*setTextAreaMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
3970     void (*resetTextAreaMinFontScale)(ArkUINodeHandle node);
3971     void (*setTextAreaMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
3972     void (*resetTextAreaMaxFontScale)(ArkUINodeHandle node);
3973     void (*setStopBackPress)(ArkUINodeHandle node, ArkUI_Uint32 isStopBackPress);
3974     void (*resetStopBackPress)(ArkUINodeHandle node);
3975     void (*setTextAreaKeyboardAppearance)(ArkUINodeHandle node, ArkUI_Uint32 keyBoardAppearance);
3976     void (*resetTextAreaKeyboardAppearance)(ArkUINodeHandle node);
3977 };
3978 
3979 struct ArkUITextInputModifier {
3980     void (*setTextInputCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3981     void (*resetTextInputCaretColor)(ArkUINodeHandle node);
3982     void (*setTextInputType)(ArkUINodeHandle node, ArkUI_Int32 value);
3983     void (*resetTextInputType)(ArkUINodeHandle node);
3984     void (*setTextInputMaxLines)(ArkUINodeHandle node, ArkUI_Int32 value);
3985     void (*resetTextInputMaxLines)(ArkUINodeHandle node);
3986     void (*setTextInputPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
3987     void (*resetTextInputPlaceholderColor)(ArkUINodeHandle node);
3988     void (*setTextInputCaretPosition)(ArkUINodeHandle node, ArkUI_Int32 caretPosition);
3989     void (*resetTextInputCaretPosition)(ArkUINodeHandle node);
3990     void (*setTextInputCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
3991     void (*resetTextInputCopyOption)(ArkUINodeHandle node);
3992     void (*setTextInputShowPasswordIcon)(ArkUINodeHandle node, ArkUI_Uint32 showPasswordIcon);
3993     void (*resetTextInputShowPasswordIcon)(ArkUINodeHandle node);
3994     void (*setTextInputPasswordIcon)(ArkUINodeHandle node, const struct ArkUIPasswordIconType* passwordIcon);
3995     void (*resetTextInputPasswordIcon)(ArkUINodeHandle node);
3996     void (*setTextInputTextAlign)(ArkUINodeHandle node, ArkUI_Int32 textAlign);
3997     void (*resetTextInputTextAlign)(ArkUINodeHandle node);
3998     void (*setTextInputStyle)(ArkUINodeHandle node, ArkUI_Int32 style);
3999     void (*resetTextInputStyle)(ArkUINodeHandle node);
4000     void (*setTextInputSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 menuHiddenValue);
4001     void (*resetTextInputSelectionMenuHidden)(ArkUINodeHandle node);
4002     void (*setTextInputShowUnderline)(ArkUINodeHandle node, ArkUI_Uint32 showUnderLine);
4003     void (*resetTextInputShowUnderline)(ArkUINodeHandle node);
4004     void (*setTextInputCaretStyle)(
4005         ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_Uint32 caretColor);
4006     void (*resetTextInputCaretStyle)(ArkUINodeHandle node);
4007     void (*setTextInputEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 value);
4008     void (*resetTextInputEnableKeyboardOnFocus)(ArkUINodeHandle node);
4009     void (*setTextInputBarState)(ArkUINodeHandle node, ArkUI_Int32 value);
4010     void (*resetTextInputBarState)(ArkUINodeHandle node);
4011     void (*setTextInputEnterKeyType)(ArkUINodeHandle node, ArkUI_Int32 value);
4012     void (*resetTextInputEnterKeyType)(ArkUINodeHandle node);
4013     void (*setTextInputFontWeight)(ArkUINodeHandle node, ArkUI_Int32 fontWeight);
4014     void (*resetTextInputFontWeight)(ArkUINodeHandle node);
4015     void (*setTextInputFontSize)(ArkUINodeHandle node, const struct ArkUILengthType* value);
4016     void (*resetTextInputFontSize)(ArkUINodeHandle node);
4017     void (*setTextInputMaxLength)(ArkUINodeHandle node, ArkUI_Uint32 value);
4018     void (*resetTextInputMaxLength)(ArkUINodeHandle node);
4019     void (*setTextInputSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4020     void (*resetTextInputSelectedBackgroundColor)(ArkUINodeHandle node);
4021     void (*setTextInputShowError)(ArkUINodeHandle node, ArkUI_CharPtr error, ArkUI_Uint32 visible);
4022     void (*resetTextInputShowError)(ArkUINodeHandle node);
4023     void (*setTextInputPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIPlaceholderFontType* placeholderFont);
4024     void (*resetTextInputPlaceholderFont)(ArkUINodeHandle node);
4025     void (*setTextInputFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4026     void (*resetTextInputFontColor)(ArkUINodeHandle node);
4027     void (*setTextInputFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
4028     void (*resetTextInputFontStyle)(ArkUINodeHandle node);
4029     void (*setTextInputFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
4030     void (*resetTextInputFontFamily)(ArkUINodeHandle node);
4031     void (*setTextInputPlaceholderString)(ArkUINodeHandle node, ArkUI_CharPtr value);
4032     void (*setTextInputTextString)(ArkUINodeHandle node, ArkUI_CharPtr value);
4033     void (*setTextInputFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
4034     void (*stopTextInputTextEditing)(ArkUINodeHandle node);
4035     void (*setTextInputCancelButton)(ArkUINodeHandle node, ArkUI_Int32 style, const struct ArkUISizeType* size,
4036         ArkUI_Uint32 color, ArkUI_CharPtr src);
4037     void (*resetTextInputCancelButton)(ArkUINodeHandle node);
4038     ArkUI_CharPtr (*getTextInputPlaceholder)(ArkUINodeHandle node);
4039     ArkUI_CharPtr (*getTextInputText)(ArkUINodeHandle node);
4040     ArkUI_Uint32 (*getTextInputCaretColor)(ArkUINodeHandle node);
4041     ArkUI_Float32 (*getTextInputCaretStyle)(ArkUINodeHandle node, ArkUI_Int32 unit);
4042     ArkUI_Bool (*getTextInputShowUnderline)(ArkUINodeHandle node);
4043     ArkUI_Uint32 (*getTextInputMaxLength)(ArkUINodeHandle node);
4044     ArkUI_Int32 (*getTextInputEnterKeyType)(ArkUINodeHandle node);
4045     ArkUI_Uint32 (*getTextInputPlaceholderColor)(ArkUINodeHandle node);
4046     void (*getTextInputPlaceholderFont)(ArkUINodeHandle node, ArkUITextFont* font);
4047     ArkUI_Bool (*getTextInputRequestKeyboardOnFocus)(ArkUINodeHandle node);
4048     ArkUI_Int32 (*getTextInputType)(ArkUINodeHandle node);
4049     ArkUI_Uint32 (*getTextInputSelectedBackgroundColor)(ArkUINodeHandle node);
4050     ArkUI_Bool (*getTextInputShowPasswordIcon)(ArkUINodeHandle node);
4051     ArkUI_Bool (*getTextInputEditing)(ArkUINodeHandle node);
4052     ArkUI_Bool (*getTextInputShowCancelButton)(ArkUINodeHandle node);
4053     ArkUI_Float32 (*getTextInputCancelIconSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
4054     ArkUI_CharPtr (*getTextInputTextCancelIconSrc)(ArkUINodeHandle node);
4055     ArkUI_Uint32 (*getTextInputTextCancelIconColor)(ArkUINodeHandle node);
4056     ArkUI_Int32 (*getTextInputTextAlign)(ArkUINodeHandle node);
4057     ArkUI_Uint32 (*getTextInputFontColor)(ArkUINodeHandle node);
4058     ArkUI_Int32 (*getTextInputFontStyle)(ArkUINodeHandle node);
4059     ArkUI_Int32 (*getTextInputFontWeight)(ArkUINodeHandle node);
4060     ArkUI_Float32 (*getTextInputFontSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
4061     ArkUI_Int32 (*getTextInputCancelButtonStyle)(ArkUINodeHandle node);
4062     void (*setTextInputBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4063     void (*resetTextInputBackgroundColor)(ArkUINodeHandle node);
4064     void (*setTextInputNormalUnderlineColor)(ArkUINodeHandle node, ArkUI_Uint32 typingColor);
4065     void (*setTextInputUserUnderlineColor)(ArkUINodeHandle node, const ArkUI_Uint32* values,
4066         const ArkUI_Bool* hasValues, ArkUI_Int32 length);
4067     void (*resetTextInputUserUnderlineColor)(ArkUINodeHandle node);
4068     void (*setTextInputTextSelection)(ArkUINodeHandle node, ArkUI_Int32 start, ArkUI_Int32 end);
4069     ArkUI_Int32 (*getTextInputTextSelectionIndex)(ArkUINodeHandle node, ArkUI_Bool isEnd);
4070     void (*setTextInputDecoration)(ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, ArkUI_Int32 style);
4071     void (*resetTextInputDecoration)(ArkUINodeHandle node);
4072     void (*setTextInputLetterSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4073     void (*resetTextInputLetterSpacing)(ArkUINodeHandle node);
4074     void (*setTextInputLineHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4075     void (*resetTextInputLineHeight)(ArkUINodeHandle node);
4076     void (*setTextInputHalfLeading)(ArkUINodeHandle node, ArkUI_Uint32 halfLeading);
4077     void (*resetTextInputHalfLeading)(ArkUINodeHandle node);
4078     void (*setTextInputFontFeature)(ArkUINodeHandle node, ArkUI_CharPtr value);
4079     void (*resetTextInputFontFeature)(ArkUINodeHandle node);
4080     void (*setTextInputWordBreak)(ArkUINodeHandle node, ArkUI_Uint32 wordBreak);
4081     void (*resetTextInputWordBreak)(ArkUINodeHandle node);
4082     void (*setTextInputPasswordRules)(ArkUINodeHandle node, ArkUI_CharPtr passwordRules);
4083     void (*resetTextInputPasswordRules)(ArkUINodeHandle node);
4084     void (*setTextInputEnableAutoFill)(ArkUINodeHandle node, ArkUI_Uint32 enableAutoFill);
4085     void (*resetTextInputEnableAutoFill)(ArkUINodeHandle node);
4086     void (*setTextInputPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top,
4087         const struct ArkUISizeType* right, const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
4088     void (*resetTextInputPadding)(ArkUINodeHandle node);
4089     void (*setTextInputAdaptMinFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4090     void (*resetTextInputAdaptMinFontSize)(ArkUINodeHandle node);
4091     void (*setTextInputAdaptMaxFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4092     void (*resetTextInputAdaptMaxFontSize)(ArkUINodeHandle node);
4093     void (*setTextInputHeightAdaptivePolicy)(ArkUINodeHandle node, ArkUI_Int32 value);
4094     void (*resetTextInputHeightAdaptivePolicy)(ArkUINodeHandle node);
4095     void (*setTextInputPlaceholderFontEnum)(ArkUINodeHandle node, const struct ArkUIResourceLength* size,
4096         ArkUI_Int32 weight, ArkUI_CharPtr family, ArkUI_Int32 style);
4097 
4098     void (*setTextInputTextOverflow)(ArkUINodeHandle node, ArkUI_Int32 value);
4099     void (*resetTextInputTextOverflow)(ArkUINodeHandle node);
4100     void (*setTextInputTextIndent)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4101     void (*resetTextInputTextIndent)(ArkUINodeHandle node);
4102     void (*setTextInputSelectAll)(ArkUINodeHandle node, ArkUI_Uint32 enableSelectAll);
4103     void (*resetTextInputSelectAll)(ArkUINodeHandle node);
4104     void (*setTextInputShowCounter)(
4105         ArkUINodeHandle node, ArkUI_Uint32 open, ArkUI_Int32 thresholdPercentage, ArkUI_Uint32 highlightBorder);
4106     void (*resetTextInputShowCounter)(ArkUINodeHandle node);
4107     void (*setTextInputOnEditChange)(ArkUINodeHandle node, void* callback);
4108     void (*resetTextInputOnEditChange)(ArkUINodeHandle node);
4109     void (*setTextInputFilter)(ArkUINodeHandle node, ArkUI_CharPtr value, void* callback);
4110     void (*resetTextInputFilter)(ArkUINodeHandle node);
4111     void (*setTextInputOnSubmitWithEvent)(ArkUINodeHandle node, void* callback);
4112     void (*resetTextInputOnSubmitWithEvent)(ArkUINodeHandle node);
4113     void (*setTextInputOnWillChange)(ArkUINodeHandle node, ArkUI_Int64 callback);
4114     void (*resetTextInputOnWillChange)(ArkUINodeHandle node);
4115     void (*setTextInputOnChange)(ArkUINodeHandle node, void* callback);
4116     void (*resetTextInputOnChange)(ArkUINodeHandle node);
4117     void (*setTextInputOnTextSelectionChange)(ArkUINodeHandle node, void* callback);
4118     void (*resetTextInputOnTextSelectionChange)(ArkUINodeHandle node);
4119     void (*setTextInputOnContentScroll)(ArkUINodeHandle node, void* callback);
4120     void (*resetTextInputOnContentScroll)(ArkUINodeHandle node);
4121     void (*setTextInputOnCopy)(ArkUINodeHandle node, void* callback);
4122     void (*resetTextInputOnCopy)(ArkUINodeHandle node);
4123     void (*setTextInputOnCut)(ArkUINodeHandle node, void* callback);
4124     void (*resetTextInputOnCut)(ArkUINodeHandle node);
4125     void (*setTextInputOnPaste)(ArkUINodeHandle node, void* callback);
4126     void (*resetTextInputOnPaste)(ArkUINodeHandle node);
4127     ArkUI_Bool (*getTextInputSelectionMenuHidden)(ArkUINodeHandle node);
4128     void (*setTextInputShowPassword)(ArkUINodeHandle node, ArkUI_Uint32 showPassword);
4129     void (*resetTextInputShowPassword)(ArkUINodeHandle node);
4130     ArkUI_Bool (*getTextInputShowPassword)(ArkUINodeHandle node);
4131     ArkUI_Int32 (*getTextInputWordBreak)(ArkUINodeHandle node);
4132     ArkUI_Int32 (*getTextInputEnableAutoFill)(ArkUINodeHandle node);
4133     void (*setTextInputContentType)(ArkUINodeHandle node, ArkUI_Uint32 contentType);
4134     void (*resetTextInputContentType)(ArkUINodeHandle node);
4135     ArkUI_Int32 (*getTextInputContentType)(ArkUINodeHandle node);
4136     void (*getTextInputUserUnderlineColor)(ArkUINodeHandle node, ArkUI_Uint32 (*values)[4]);
4137     ArkUI_CharPtr (*getTextInputPasswordRules)(ArkUINodeHandle node);
4138     ArkUI_Int32 (*getTextInputSelectAll)(ArkUINodeHandle node);
4139     void (*setTextInputInputFilter)(ArkUINodeHandle node, ArkUI_CharPtr inputFilter);
4140     ArkUI_CharPtr (*getTextInputInputFilter)(ArkUINodeHandle node);
4141     void (*resetTextInputInputFilter)(ArkUINodeHandle node);
4142     ArkUI_Int32 (*getTextInputCaretIndex)(ArkUINodeHandle node);
4143     void (*getTextInputCaretOffset)(ArkUINodeHandle node, ArkUI_Float32 (*values)[2]);
4144     ArkUI_Int32 (*getTextInputStyle)(ArkUINodeHandle node);
4145     void (*getTextInputContentRect)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4]);
4146     ArkUI_Int32 (*getTextInputContentLinesNum)(ArkUINodeHandle node);
4147     void (*setBlurOnSubmit)(ArkUINodeHandle node, ArkUI_Bool blurOnSubmit);
4148     ArkUI_Bool (*getBlurOnSubmit)(ArkUINodeHandle node);
4149     ArkUI_Float32 (*getTextInputAdaptMinFontSize)(ArkUINodeHandle node);
4150     ArkUI_Float32 (*getTextInputAdaptMaxFontSize)(ArkUINodeHandle node);
4151     ArkUI_Float32 (*getTextInputLineHeight)(ArkUINodeHandle node);
4152     ArkUI_Int32 (*getTextInputMaxLines)(ArkUINodeHandle node);
4153     ArkUI_CharPtr (*getTextInputFontFeature)(ArkUINodeHandle node);
4154     void (*setTextInputCustomKeyboard)(ArkUINodeHandle node, ArkUINodeHandle customKeyboard, bool supportAvoidance);
4155     ArkUINodeHandle (*getTextInputCustomKeyboard)(ArkUINodeHandle node);
4156     ArkUI_Int32 (*getTextInputCustomKeyboardOption)(ArkUINodeHandle node);
4157     void (*resetTextInputCustomKeyboard)(ArkUINodeHandle node);
4158     void (*setTextInputLineBreakStrategy)(ArkUINodeHandle node, ArkUI_Uint32 lineBreakStrategy);
4159     void (*resetTextInputLineBreakStrategy)(ArkUINodeHandle node);
4160     void (*setTextInputShowKeyBoardOnFocus)(ArkUINodeHandle node, ArkUI_Bool value);
4161     ArkUI_Bool (*getTextInputShowKeyBoardOnFocus)(ArkUINodeHandle node);
4162     void (*resetTextInputShowKeyBoardOnFocus)(ArkUINodeHandle node);
4163     void (*setTextInputNumberOfLines)(ArkUINodeHandle node, ArkUI_Int32 value);
4164     ArkUI_Int32 (*getTextInputNumberOfLines)(ArkUINodeHandle node);
4165     void (*resetTextInputNumberOfLines)(ArkUINodeHandle node);
4166     void (*setTextInputMargin)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
4167         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
4168     void (*resetTextInputMargin)(ArkUINodeHandle node);
4169     void (*setTextInputCaret)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4170     ArkUINodeHandle (*getTextInputController)(ArkUINodeHandle node);
4171     void (*getTextInputMargin)(ArkUINodeHandle node, ArkUI_Float32 (*values)[4], ArkUI_Int32 length, ArkUI_Int32 unit);
4172     void (*setTextInputEnablePreviewText)(ArkUINodeHandle node, ArkUI_Uint32 value);
4173     void (*resetTextInputEnablePreviewText)(ArkUINodeHandle node);
4174     void (*setTextInputSelectionMenuOptions)(
4175         ArkUINodeHandle node, void* onCreateMenuCallback, void* onMenuItemClickCallback);
4176     void (*resetTextInputSelectionMenuOptions)(ArkUINodeHandle node);
4177     void (*setTextInputWidth)(ArkUINodeHandle node, ArkUI_CharPtr value);
4178     void (*resetTextInputWidth)(ArkUINodeHandle node);
4179     void (*setTextInputCancelSymbolIcon)(ArkUINodeHandle node, ArkUI_Int32 style, void* symbolFunction);
4180     void (*resetTextInputCancelSymbolIcon)(ArkUINodeHandle node);
4181     void (*setTextInputEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Uint32 value);
4182     void (*resetTextInputEnableHapticFeedback)(ArkUINodeHandle node);
4183     ArkUI_Float32 (*getTextInputLetterSpacing)(ArkUINodeHandle node);
4184     ArkUI_Bool (*getTextInputEnablePreviewText)(ArkUINodeHandle node);
4185     void (*setEllipsisMode)(ArkUINodeHandle node, ArkUI_Uint32 ellipsisMode);
4186     void (*resetEllipsisMode)(ArkUINodeHandle node);
4187     void (*setTextInputMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
4188     void (*resetTextInputMinFontScale)(ArkUINodeHandle node);
4189     void (*setTextInputMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
4190     void (*resetTextInputMaxFontScale)(ArkUINodeHandle node);
4191     void (*setStopBackPress)(ArkUINodeHandle node, ArkUI_Uint32 sStopBackPress);
4192     void (*resetStopBackPress)(ArkUINodeHandle node);
4193     void (*setTextInputKeyboardAppearance)(ArkUINodeHandle node, ArkUI_Uint32 keyBoardAppearance);
4194     ArkUI_Int32 (*getTextInputKeyboardAppearance)(ArkUINodeHandle node);
4195     void (*resetTextInputKeyboardAppearance)(ArkUINodeHandle node);
4196 };
4197 
4198 struct ArkUIWebModifier {
4199     ArkUINodeHandle (*getWebController)(ArkUINodeHandle node);
4200     ArkUINodeHandle (*getWebviewController)(ArkUINodeHandle node);
4201     void (*setWebOptions)(ArkUINodeHandle node, ArkUI_CharPtr value);
4202     void (*setWebSrcResources)(ArkUINodeHandle node, ArkUI_Int32 id, ArkUI_Int32 type, ArkUI_CharPtr name,
4203         ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
4204     void (*setJavaScriptAccess)(ArkUINodeHandle node, ArkUI_Bool value);
4205     void (*resetJavaScriptAccess)(ArkUINodeHandle node);
4206     void (*setFileAccessEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
4207     void (*resetFileAccessEnabled)(ArkUINodeHandle node);
4208     void (*setDomStorageAccessEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
4209     void (*resetDomStorageAccessEnabled)(ArkUINodeHandle node);
4210     void (*setMixedMode)(ArkUINodeHandle node, ArkUI_Int32 value);
4211     void (*resetMixedMode)(ArkUINodeHandle node);
4212     void (*setZoomAccessEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
4213     void (*resetZoomAccessEnabled)(ArkUINodeHandle node);
4214     void (*setCacheMode)(ArkUINodeHandle node, ArkUI_Int32 value);
4215     void (*resetCacheMode)(ArkUINodeHandle node);
4216     void (*setDarkMode)(ArkUINodeHandle node, ArkUI_Int32 value);
4217     void (*resetDarkMode)(ArkUINodeHandle node);
4218     void (*setMultiWindowAccessEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
4219     void (*resetMultiWindowAccessEnabled)(ArkUINodeHandle node);
4220     void (*setAllowWindowOpenMethod)(ArkUINodeHandle node, ArkUI_Bool value);
4221     void (*resetAllowWindowOpenMethod)(ArkUINodeHandle node);
4222 };
4223 
4224 struct ArkUIBlankModifier {
4225     void (*setColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
4226     void (*resetColor)(ArkUINodeHandle node);
4227     void (*setBlankHeight)(ArkUINodeHandle node, ArkUI_Float32 heightValue, ArkUI_Int32 heightUnit);
4228     void (*resetBlankHeight)(ArkUINodeHandle node);
4229     void (*setBlankMin)(ArkUINodeHandle node, ArkUI_Float32 minValue, ArkUI_Int32 minUnit);
4230     void (*resetBlankMin)(ArkUINodeHandle node);
4231 };
4232 
4233 struct ArkUICounterModifier {
4234     void (*setEnableInc)(ArkUINodeHandle node, ArkUI_Bool value);
4235     void (*resetEnableInc)(ArkUINodeHandle node);
4236     void (*setEnableDec)(ArkUINodeHandle node, ArkUI_Bool value);
4237     void (*resetEnableDec)(ArkUINodeHandle node);
4238     void (*setCounterHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4239     void (*resetCounterHeight)(ArkUINodeHandle node);
4240     void (*setCounterWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4241     void (*resetCounterWidth)(ArkUINodeHandle node);
4242     void (*setCounterBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4243     void (*resetCounterBackgroundColor)(ArkUINodeHandle node);
4244     void (*setCounterOnInc)(ArkUINodeHandle node, void* callback);
4245     void (*resetCounterOnInc)(ArkUINodeHandle node);
4246     void (*setCounterOnDec)(ArkUINodeHandle node, void* callback);
4247     void (*resetCounterOnDec)(ArkUINodeHandle node);
4248 };
4249 
4250 struct ArkUICheckboxModifier {
4251     void (*setSelect)(ArkUINodeHandle node, ArkUI_Bool isSelected);
4252     void (*setSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4253     void (*setUnSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4254     void (*setCheckboxWidth)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit);
4255     void (*setCheckboxHeight)(ArkUINodeHandle node, ArkUI_Float32 heightVal, ArkUI_Int32 heightUnit);
4256     void (*setMark)(ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_Float32 sizeValue, ArkUI_Int32 sizeUnit,
4257         ArkUI_Float32 widthValue, ArkUI_Int32 widthUnit);
4258     void (*setCheckboxPadding)(
4259         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Uint32 length);
4260     void (*setCheckboxResponseRegion)(
4261         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Uint32 length);
4262     void (*setCheckboxOnChange)(ArkUINodeHandle node, void* callback);
4263 
4264     void (*resetSelect)(ArkUINodeHandle node);
4265     void (*resetSelectedColor)(ArkUINodeHandle node);
4266     void (*resetUnSelectedColor)(ArkUINodeHandle node);
4267     void (*resetCheckboxWidth)(ArkUINodeHandle node);
4268     void (*resetCheckboxHeight)(ArkUINodeHandle node);
4269     void (*resetMark)(ArkUINodeHandle node);
4270     void (*setCheckboxShape)(ArkUINodeHandle node, ArkUI_Int32 value);
4271     void (*resetCheckboxShape)(ArkUINodeHandle node);
4272     void (*resetCheckboxPadding)(ArkUINodeHandle node);
4273     void (*resetCheckboxResponseRegion)(ArkUINodeHandle node);
4274     void (*resetCheckboxOnChange)(ArkUINodeHandle node);
4275 
4276     ArkUI_Bool (*getSelect)(ArkUINodeHandle node);
4277     ArkUI_Uint32 (*getSelectedColor)(ArkUINodeHandle node);
4278     ArkUI_Uint32 (*getUnSelectedColor)(ArkUINodeHandle node);
4279     ArkUI_Uint32 (*getCheckMarkColor)(ArkUINodeHandle node);
4280     ArkUI_Float64 (*getCheckMarkSize)(ArkUINodeHandle node);
4281     ArkUI_Float64 (*getCheckMarkWidth)(ArkUINodeHandle node);
4282     ArkUI_Int32 (*getCheckboxShape)(ArkUINodeHandle node);
4283     void (*setCheckboxName)(ArkUINodeHandle node, ArkUI_CharPtr nameValue);
4284     void (*setCheckboxGroup)(ArkUINodeHandle node, ArkUI_CharPtr groupValue);
4285 
4286     ArkUI_CharPtr (*getCheckboxName)(ArkUINodeHandle node);
4287     ArkUI_CharPtr (*getCheckboxGroup)(ArkUINodeHandle node);
4288 };
4289 
4290 struct ArkUICheckboxGroupModifier {
4291     void (*setCheckboxGroupSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4292     void (*resetCheckboxGroupSelectedColor)(ArkUINodeHandle node);
4293     void (*setCheckboxGroupUnSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4294     void (*resetCheckboxGroupUnSelectedColor)(ArkUINodeHandle node);
4295     void (*setCheckboxGroupSelectAll)(ArkUINodeHandle node, ArkUI_Bool isSelected);
4296     void (*resetCheckboxGroupSelectAll)(ArkUINodeHandle node);
4297     void (*setCheckboxGroupWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4298     void (*resetCheckboxGroupWidth)(ArkUINodeHandle node);
4299     void (*setCheckboxGroupHeight)(
4300         ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4301     void (*resetCheckboxGroupHeight)(ArkUINodeHandle node);
4302     void (*setCheckboxGroupMark)(
4303         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_Float32 sizeValue, ArkUI_Float32 widthValue);
4304     void (*resetCheckboxGroupMark)(ArkUINodeHandle node);
4305     void (*setCheckboxGroupStyle)(ArkUINodeHandle node, ArkUI_Int32 value);
4306     void (*resetCheckboxGroupStyle)(ArkUINodeHandle node);
4307     void (*setCheckboxGroupName)(ArkUINodeHandle node, ArkUI_CharPtr groupValue);
4308     void (*setCheckboxGroupOnChange)(ArkUINodeHandle node, void* callback);
4309     void (*resetCheckboxGroupOnChange)(ArkUINodeHandle node);
4310 
4311     ArkUI_CharPtr (*getCheckboxGroupName)(ArkUINodeHandle node);
4312     ArkUI_Bool (*getCheckboxGroupSelectAll)(ArkUINodeHandle node);
4313     ArkUI_Uint32 (*getCheckboxGroupSelectedColor)(ArkUINodeHandle node);
4314     ArkUI_Uint32 (*getCheckboxGroupUnSelectedColor)(ArkUINodeHandle node);
4315     ArkUI_Uint32 (*getCheckboxGroupMarkColor)(ArkUINodeHandle node);
4316     ArkUI_Float64 (*getCheckboxGroupMarkSize)(ArkUINodeHandle node);
4317     ArkUI_Float64 (*getCheckboxGroupMarkWidth)(ArkUINodeHandle node);
4318     ArkUI_Int32 (*getCheckboxGroupStyle)(ArkUINodeHandle node);
4319 };
4320 
4321 struct ArkUIImageSpanModifier {
4322     void (*setImageSpanVerticalAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
4323     void (*resetImageSpanVerticalAlign)(ArkUINodeHandle node);
4324     void (*setImageSpanObjectFit)(ArkUINodeHandle node, ArkUI_Int32 value);
4325     void (*resetImageSpanObjectFit)(ArkUINodeHandle node);
4326     ArkUI_Int32 (*getImageSpanVerticalAlign)(ArkUINodeHandle node);
4327     ArkUI_Int32 (*getImageSpanObjectFit)(ArkUINodeHandle node);
4328     void (*setImageSpanTextBackgroundStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
4329         const ArkUI_Int32* units, ArkUI_Int32 length);
4330     void (*resetImageSpanTextBackgroundStyle)(ArkUINodeHandle node);
4331     void (*getImageSpanTextBackgroundStyle)(ArkUINodeHandle node, ArkUITextBackgroundStyleOptions* options);
4332     void (*setImageSpanBaselineOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4333     void (*resetImageSpanBaselineOffset)(ArkUINodeHandle node);
4334     void (*setImageSpanOnComplete)(ArkUINodeHandle node, void* callback);
4335     void (*resetImageSpanOnComplete)(ArkUINodeHandle node);
4336     void (*setImageSpanOnError)(ArkUINodeHandle node, void* callback);
4337     void (*resetImageSpanOnError)(ArkUINodeHandle node);
4338     void (*setImageSpanColorFilter)(ArkUINodeHandle node, const ArkUI_Float32* array, ArkUI_Int32 length);
4339     void (*resetImageSpanColorFilter)(ArkUINodeHandle node);
4340     void (*setImageSpanBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32* values,
4341         const ArkUI_Int32* units, ArkUI_Int32 length);
4342     void (*resetImageSpanBorderRadius)(ArkUINodeHandle node);
4343     ArkUI_Float32 (*getImageSpanBaselineOffset)(ArkUINodeHandle node, ArkUI_Int32 unit);
4344 };
4345 
4346 struct ArkUIMenuModifier {
4347     void (*setMenuFontColor)(ArkUINodeHandle node, ArkUI_Uint32 colorVal);
4348     void (*resetMenuFontColor)(ArkUINodeHandle node);
4349     void (*setFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4350     void (*resetFont)(ArkUINodeHandle node);
4351     void (*setRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units);
4352     void (*resetRadius)(ArkUINodeHandle node);
4353     void (*setMenuWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4354     void (*resetMenuWidth)(ArkUINodeHandle node);
4355     void (*setMenuItemDivider)(ArkUINodeHandle node, ArkUIMenuDividerOptions* menuItemDividerInfo);
4356     void (*resetMenuItemDivider)(ArkUINodeHandle node);
4357     void (*setMenuItemGroupDivider)(ArkUINodeHandle node, ArkUIMenuDividerOptions* menuItemGroupDividerInfo);
4358     void (*resetMenuItemGroupDivider)(ArkUINodeHandle node);
4359     void (*setSubMenuExpandingMode)(ArkUINodeHandle node, ArkUI_Int32 modeParam);
4360     void (*resetSubMenuExpandingMode)(ArkUINodeHandle node);
4361     void (*setMenuFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4362     void (*resetMenuFontSize)(ArkUINodeHandle node);
4363 };
4364 
4365 struct ArkUIWaterFlowModifier {
4366     void (*resetColumnsTemplate)(ArkUINodeHandle node);
4367     void (*setColumnsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr value);
4368     void (*resetRowsTemplate)(ArkUINodeHandle node);
4369     void (*setRowsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr value);
4370     void (*resetWaterFlowEnableScrollInteraction)(ArkUINodeHandle node);
4371     void (*setWaterFlowEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool value);
4372     void (*setColumnsGap)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4373     void (*resetColumnsGap)(ArkUINodeHandle node);
4374     void (*setRowsGap)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4375     void (*resetRowsGap)(ArkUINodeHandle node);
4376     void (*setItemMinWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4377     void (*resetItemMinWidth)(ArkUINodeHandle node);
4378     void (*setItemMaxWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4379     void (*resetItemMaxWidth)(ArkUINodeHandle node);
4380     void (*setItemMinHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4381     void (*resetItemMinHeight)(ArkUINodeHandle node);
4382     void (*setItemMaxHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
4383     void (*resetItemMaxHeight)(ArkUINodeHandle node);
4384     void (*setLayoutDirection)(ArkUINodeHandle node, ArkUI_Int32 value);
4385     void (*resetLayoutDirection)(ArkUINodeHandle node);
4386     void (*setWaterFlowNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 scrollForward, ArkUI_Int32 scrollBackward);
4387     void (*resetWaterFlowNestedScroll)(ArkUINodeHandle node);
4388     void (*setWaterFlowFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
4389     void (*resetWaterFlowFriction)(ArkUINodeHandle node);
4390     ArkUI_Int32 (*getLayoutDirection)(ArkUINodeHandle node);
4391     ArkUI_CharPtr (*getColumnsTemplate)(ArkUINodeHandle node);
4392     ArkUI_CharPtr (*getRowsTemplate)(ArkUINodeHandle node);
4393     ArkUI_Float32 (*getColumnsGap)(ArkUINodeHandle node);
4394     ArkUI_Float32 (*getRowsGap)(ArkUINodeHandle node);
4395     void (*getWaterFlowNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 (*value)[2]);
4396     ArkUI_Int32 (*setNodeAdapter)(ArkUINodeHandle node, ArkUINodeAdapterHandle handle);
4397     void (*resetNodeAdapter)(ArkUINodeHandle node);
4398     ArkUINodeAdapterHandle (*getNodeAdapter)(ArkUINodeHandle node);
4399     void (*setCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
4400     void (*resetCachedCount)(ArkUINodeHandle node);
4401     ArkUI_Int32 (*getCachedCount)(ArkUINodeHandle node);
4402     void (*setShowCached)(ArkUINodeHandle node, ArkUI_Bool show);
4403     void (*resetShowCached)(ArkUINodeHandle node);
4404     ArkUI_Bool (*getShowCached)(ArkUINodeHandle node);
4405     void (*setEdgeEffect)(
4406         ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled, ArkUI_Int32 effectEdge);
4407     void (*resetEdgeEffect)(ArkUINodeHandle node);
4408     void (*setWaterFlowScrollBar)(ArkUINodeHandle node, ArkUI_Int32 barState);
4409     void (*resetWaterFlowScrollBar)(ArkUINodeHandle node);
4410     ArkUI_Int32 (*getWaterFlowScrollBar)(ArkUINodeHandle node);
4411     void (*setWaterFlowScrollBarWidth)(ArkUINodeHandle node, ArkUI_CharPtr value);
4412     void (*resetWaterFlowScrollBarWidth)(ArkUINodeHandle node);
4413     ArkUI_Float32 (*getWaterFlowScrollBarWidth)(ArkUINodeHandle node);
4414     void (*setWaterFlowScrollBarColor)(ArkUINodeHandle node, ArkUI_CharPtr value);
4415     void (*resetWaterFlowScrollBarColor)(ArkUINodeHandle node);
4416     ArkUI_Uint32 (*getWaterFlowScrollBarColor)(ArkUINodeHandle node);
4417     ArkUI_Int32 (*getEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 (*values)[2]);
4418     void (*setSectionOption)(ArkUINodeHandle node, ArkUI_Int32 start, ArkUIWaterFlowSectionOption option);
4419     void (*resetSectionOption)(ArkUINodeHandle node);
4420     ArkUI_WaterFlowSectionOption (*getSectionOption)(ArkUINodeHandle node);
4421     ArkUI_Float32 (*getItemMinWidth)(ArkUINodeHandle node, ArkUI_Int32 unit);
4422     ArkUI_Float32 (*getItemMaxWidth)(ArkUINodeHandle node, ArkUI_Int32 unit);
4423     ArkUI_Float32 (*getItemMinHeight)(ArkUINodeHandle node, ArkUI_Int32 unit);
4424     ArkUI_Float32 (*getItemMaxHeight)(ArkUINodeHandle node, ArkUI_Int32 unit);
4425     ArkUI_Int32 (*getWaterFlowEnableScrollInteraction)(ArkUINodeHandle node);
4426     ArkUI_Float32 (*getWaterFlowFriction)(ArkUINodeHandle node);
4427     void (*setScrollToIndex)(ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Int32 animation, ArkUI_Int32 alignment);
4428     void (*setWaterflowFooter)(ArkUINodeHandle node, ArkUINodeHandle footer);
4429     void (*resetWaterflowFooter)(ArkUINodeHandle node);
4430     ArkUINodeHandle (*getScrollController)(ArkUINodeHandle node);
4431     void (*setWaterFlowScroller)(ArkUINodeHandle node, ArkUINodeHandle controller, ArkUINodeHandle proxy);
4432     ArkUI_Int32 (*getWaterFlowLayoutMode)(ArkUINodeHandle node);
4433     void (*setWaterFlowLayoutMode)(ArkUINodeHandle node, ArkUI_Uint32 layoutMode);
4434     void (*resetWaterFlowLayoutMode)(ArkUINodeHandle node);
4435     void (*resetWaterFlowSections)(ArkUINodeHandle node);
4436     void (*setWaterFlowFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge, ArkUI_Float32 fadingEdgeLengthValue,
4437         ArkUI_Int32 fadingEdgeLengthUnit);
4438     void (*resetWaterFlowFadingEdge)(ArkUINodeHandle node);
4439     void (*setOnWaterFlowScrollIndexCallBack)(ArkUINodeHandle node, void* callback);
4440     void (*resetOnWaterFlowScrollIndex)(ArkUINodeHandle node);
4441 };
4442 
4443 struct ArkUIMenuItemModifier {
4444     void (*setMenuItemSelected)(ArkUINodeHandle node, ArkUI_Bool value);
4445     void (*resetMenuItemSelected)(ArkUINodeHandle node);
4446     void (*setLabelFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
4447     void (*resetLabelFontColor)(ArkUINodeHandle node);
4448     void (*setContentFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
4449     void (*resetContentFontColor)(ArkUINodeHandle node);
4450     void (*setLabelFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4451     void (*resetLabelFont)(ArkUINodeHandle node);
4452     void (*setContentFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4453     void (*resetContentFont)(ArkUINodeHandle node);
4454     void (*setSelectIcon)(ArkUINodeHandle node, ArkUI_Bool showIcon);
4455     void (*resetSelectIcon)(ArkUINodeHandle node);
4456     void (*setSelectIconSrc)(ArkUINodeHandle node, ArkUI_CharPtr iconSrc);
4457     void (*resetSelectIconSrc)(ArkUINodeHandle node);
4458     void (*setSelectIconSymbol)(ArkUINodeHandle node, void* symbolFunction);
4459     void (*resetSelectIconSymbol)(ArkUINodeHandle node);
4460     void (*setOnChange)(ArkUINodeHandle node, void* callback);
4461     void (*resetOnChange)(ArkUINodeHandle node);
4462 };
4463 
4464 struct ArkUIMenuItemGroupModifier {
4465     void (*setMenuItemGroupHeader)(ArkUINodeHandle node, ArkUI_CharPtr value);
4466     void (*setMenuItemGroupFooter)(ArkUINodeHandle node, ArkUI_CharPtr value);
4467 };
4468 
4469 struct ArkUIToggleModifier {
4470     void (*setToggleSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 selectedColor);
4471     void (*resetToggleSelectedColor)(ArkUINodeHandle node);
4472     void (*setToggleSwitchPointColor)(ArkUINodeHandle node, ArkUI_Uint32 switchPointColor);
4473     void (*resetToggleSwitchPointColor)(ArkUINodeHandle node);
4474     void (*setToggleHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4475     void (*resetToggleHeight)(ArkUINodeHandle node);
4476     void (*setToggleResponseRegion)(
4477         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Uint32 length);
4478     void (*resetToggleResponseRegion)(ArkUINodeHandle node);
4479     void (*setTogglePadding)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Uint32 length);
4480     void (*resetTogglePadding)(ArkUINodeHandle node);
4481     void (*setToggleBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4482     void (*resetToggleBackgroundColor)(ArkUINodeHandle node);
4483     void (*setToggleHoverEffect)(ArkUINodeHandle node, ArkUI_Int32 hoverEffectValue);
4484     void (*resetToggleHoverEffect)(ArkUINodeHandle node);
4485     ArkUI_Uint32 (*getToggleSelectedColor)(ArkUINodeHandle node);
4486     ArkUI_Uint32 (*getToggleSwitchPointColor)(ArkUINodeHandle node);
4487     void (*setToggleIsOn)(ArkUINodeHandle node, ArkUI_Bool isOn);
4488     void (*resetToggleIsOn)(ArkUINodeHandle node);
4489     ArkUI_Int32 (*getToggleIsOn)(ArkUINodeHandle node);
4490     void (*setTogglePointRadius)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4491     void (*resetTogglePointRadius)(ArkUINodeHandle node);
4492     void (*setToggleUnselectedColor)(ArkUINodeHandle node, ArkUI_Uint32 unselectedColor);
4493     void (*resetToggleUnselectedColor)(ArkUINodeHandle node);
4494     void (*setToggleTrackBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4495     void (*resetToggleTrackBorderRadius)(ArkUINodeHandle node);
4496     ArkUI_Uint32 (*getToggleUnselectedColor)(ArkUINodeHandle node);
4497     void (*setToggleState)(ArkUINodeHandle node, ArkUI_Bool isOn);
4498     void (*setToggleOnChange)(ArkUINodeHandle node, void* callback);
4499     void (*resetToggleOnChange)(ArkUINodeHandle node);
4500 };
4501 
4502 struct ArkUINavigationModifier {
4503     void (*setHideToolBar)(ArkUINodeHandle node, ArkUI_Bool hide, ArkUI_Bool animated);
4504     void (*resetHideToolBar)(ArkUINodeHandle node);
4505     void (*setEnableModeChangeAnimation)(ArkUINodeHandle node, ArkUI_Bool isEnable);
4506     void (*resetEnableModeChangeAnimation)(ArkUINodeHandle node);
4507     void (*setHideNavBar)(ArkUINodeHandle node, ArkUI_Bool hideNavBar);
4508     void (*resetHideNavBar)(ArkUINodeHandle node);
4509     void (*setTitleMode)(ArkUINodeHandle node, ArkUI_Int32 value);
4510     void (*resetTitleMode)(ArkUINodeHandle node);
4511     void (*setHideBackButton)(ArkUINodeHandle node, ArkUI_Bool hideBackButton);
4512     void (*resetHideBackButton)(ArkUINodeHandle node);
4513     void (*setSubtitle)(ArkUINodeHandle node, ArkUI_CharPtr subtitle);
4514     void (*resetSubtitle)(ArkUINodeHandle node);
4515     void (*resetUsrNavigationMode)(ArkUINodeHandle node);
4516     void (*setUsrNavigationMode)(ArkUINodeHandle node, ArkUI_Int32 value);
4517     void (*setNavHideTitleBar)(ArkUINodeHandle node, ArkUI_Bool hideTitle, ArkUI_Bool animated);
4518     void (*resetNavHideTitleBar)(ArkUINodeHandle node);
4519     void (*setNavBarPosition)(ArkUINodeHandle node, ArkUI_Int32 value);
4520     void (*resetNavBarPosition)(ArkUINodeHandle node);
4521     void (*setMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4522     void (*resetMinContentWidth)(ArkUINodeHandle node);
4523     void (*setMaxNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 maxValue, ArkUI_Int32 maxUnit);
4524     void (*resetMaxNavBarWidth)(ArkUINodeHandle node);
4525     void (*setMinNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 minValue, ArkUI_Int32 minUnit);
4526     void (*resetMinNavBarWidth)(ArkUINodeHandle node);
4527     void (*setNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4528     void (*resetNavBarWidth)(ArkUINodeHandle node);
4529     void (*setNavIgnoreLayoutSafeArea)(ArkUINodeHandle node, ArkUI_CharPtr typeStr, ArkUI_CharPtr edgesStr);
4530     void (*resetNavIgnoreLayoutSafeArea)(ArkUINodeHandle node);
4531     void (*setNavTitle)(ArkUINodeHandle node, ArkUINavigationTitleInfo titleInfo,
4532         ArkUINavigationTitlebarOptions options);
4533     void (*resetNavTitle)(ArkUINodeHandle node);
4534     void (*setNavMenus)(ArkUINodeHandle node, ArkUIBarItem* items, ArkUI_Uint32 length);
4535     void (*resetNavMenus)(ArkUINodeHandle node);
4536     void (*setNavMenuItemAction)(ArkUINodeHandle node, void* action, ArkUI_Uint32 index);
4537     void (*setNavMenuItemSymbol)(ArkUINodeHandle node, void* symbol, ArkUI_Uint32 index);
4538     void (*setRecoverable)(ArkUINodeHandle node, ArkUI_Bool recoverable);
4539     void (*resetRecoverable)(ArkUINodeHandle node);
4540     void (*setEnableDragBar)(ArkUINodeHandle node, ArkUI_Bool enbaleDragBar);
4541     void (*resetEnableDragBar)(ArkUINodeHandle node);
4542     void (*setCustomTitle)(ArkUINodeHandle node, ArkUINodeHandle titleNode);
4543     ArkUINodeHandle (*getCustomTitle)(ArkUINodeHandle node);
4544     void (*setTitleHeight)(ArkUINodeHandle node, const struct ArkUIDimensionType height);
4545     void (*setTitlebarOptions)(ArkUINodeHandle node, ArkUINavigationTitlebarOptions opts);
4546     void (*setOnCoordScrollStartAction)(ArkUINodeHandle node, void (*onCoordScrollStartAction)(ArkUINodeHandle node));
4547     void (*setOnCoordScrollUpdateAction)(ArkUINodeHandle node,
4548         void (*onCoordScrollUpdateAction)(ArkUINodeHandle node, ArkUI_Float32 currentOffset));
4549     void (*setOnCoordScrollEndAction)(ArkUINodeHandle node, void (*onCoordScrollEndAction)(ArkUINodeHandle node));
4550     void (*setSystemBarStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
4551     void (*setEnableToolBarAdaptation)(ArkUINodeHandle node, ArkUI_Bool enbale);
4552     void (*resetEnableToolBarAdaptation)(ArkUINodeHandle node);
4553 };
4554 
4555 struct ArkUINavRouterModifier {
4556     void (*setNavRouteMode)(ArkUINodeHandle node, ArkUI_Int32 mode);
4557     void (*resetNavRouteMode)(ArkUINodeHandle node);
4558 };
4559 
4560 struct ArkUIGaugeModifier {
4561     void (*setGaugeValue)(ArkUINodeHandle node, ArkUI_Float32 value);
4562     void (*resetGaugeValue)(ArkUINodeHandle node);
4563     void (*setGaugeStartAngle)(ArkUINodeHandle node, ArkUI_Float32 value);
4564     void (*resetGaugeStartAngle)(ArkUINodeHandle node);
4565     void (*setGaugeEndAngle)(ArkUINodeHandle node, ArkUI_Float32 value);
4566     void (*resetGaugeEndAngle)(ArkUINodeHandle node);
4567     void (*setGaugeStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4568     void (*resetGaugeStrokeWidth)(ArkUINodeHandle node);
4569     void (*setShadowOptions)(ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Float32 offsetX, ArkUI_Float32 offsetY,
4570         ArkUI_Bool isShadowVisible);
4571     void (*resetShadowOptions)(ArkUINodeHandle node);
4572     void (*setIsShowIndicator)(ArkUINodeHandle node, ArkUI_Bool isShowIndicator);
4573     void (*setIndicatorIconPath)(
4574         ArkUINodeHandle node, ArkUI_CharPtr iconPath, ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
4575     void (*resetIndicatorIconPath)(ArkUINodeHandle node);
4576     void (*setIndicatorSpace)(
4577         ArkUINodeHandle node, ArkUI_CharPtr spaceStrValue, ArkUI_Float32 spaceValue, ArkUI_Int32 spaceUnit);
4578     void (*resetIndicatorSpace)(ArkUINodeHandle node);
4579     void (*setColors)(
4580         ArkUINodeHandle node, const ArkUI_Uint32* colors, const ArkUI_Float32* weight, ArkUI_Uint32 length);
4581     void (*resetColors)(ArkUINodeHandle node);
4582     void (*setGradientColors)(
4583         ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Uint32 weightLength);
4584     void (*resetGradientColors)(ArkUINodeHandle node);
4585 };
4586 
4587 struct ArkUIBadgeModifier {
4588     void (*setBadgeParameters)(ArkUINodeHandle node, ArkUI_Int32* intValue, ArkUI_Float32* floatValue);
4589     void (*setBadgeValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
4590     void (*setBadgeCount)(ArkUINodeHandle node, ArkUI_Int32 value);
4591     void (*setBadgeMaxCount)(ArkUINodeHandle node, ArkUI_Int32 value);
4592     void (*setBadgeFontWeight)(ArkUINodeHandle node, ArkUI_Int32 value);
4593     void (*setBadgeParamWithNumber)(ArkUINodeHandle node, const struct ArkUIBadgeParam* style, ArkUI_Int32 count,
4594         ArkUI_Bool countHasValue, ArkUI_Int32 maxCount);
4595     void (*setBadgeParamWithString)(ArkUINodeHandle node, const struct ArkUIBadgeParam* style, ArkUI_CharPtr value);
4596 };
4597 
4598 struct ArkUIRefreshModifier {
4599     void (*setRefreshing)(ArkUINodeHandle node, ArkUI_Bool value);
4600     ArkUI_Bool (*getRefreshing)(ArkUINodeHandle node);
4601     void (*setRefreshOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4602     void (*resetRefreshOffset)(ArkUINodeHandle node);
4603     void (*setPullToRefresh)(ArkUINodeHandle node, ArkUI_Bool value);
4604     void (*resetPullToRefresh)(ArkUINodeHandle node);
4605     void (*setRefreshContent)(ArkUINodeHandle node, ArkUINodeHandle content);
4606     void (*setPullDownRatio)(ArkUINodeHandle node, ArkUI_Float32 ratio);
4607     void (*resetPullDownRatio)(ArkUINodeHandle node);
4608     ArkUI_Float32 (*getPullDownRatio)(ArkUINodeHandle node);
4609     ArkUI_Float32 (*getRefreshOffset)(ArkUINodeHandle node, ArkUI_Int32 unit);
4610     ArkUI_Bool (*getPullToRefresh)(ArkUINodeHandle node);
4611 };
4612 
4613 struct ArkUIHyperlinkModifier {
4614     void (*setHyperlinkColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4615     void (*resetHyperlinkColor)(ArkUINodeHandle node);
4616     void (*setHyperlinkDraggable)(ArkUINodeHandle node, ArkUI_Bool draggable);
4617     void (*resetHyperlinkDraggable)(ArkUINodeHandle node);
4618     void (*setHyperlinkResponseRegion)(
4619         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
4620     void (*resetHyperlinkResponseRegion)(ArkUINodeHandle node);
4621 };
4622 
4623 struct ArkUIAlphabetIndexerModifier {
4624     void (*setPopupItemFont)(ArkUINodeHandle node, ArkUI_Float32 size, ArkUI_Int32 unit, ArkUI_CharPtr weight);
4625     void (*resetPopupItemFont)(ArkUINodeHandle node);
4626     void (*setSelectedFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
4627     void (*resetSelectedFont)(ArkUINodeHandle node);
4628     void (*setPopupFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
4629     void (*resetPopupFont)(ArkUINodeHandle node);
4630     void (*setAlphabetIndexerFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
4631     void (*resetAlphabetIndexerFont)(ArkUINodeHandle node);
4632     void (*setPopupItemBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4633     void (*resetPopupItemBackgroundColor)(ArkUINodeHandle node);
4634     void (*setAlphabetIndexerColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4635     void (*resetAlphabetIndexerColor)(ArkUINodeHandle node);
4636     void (*setPopupColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4637     void (*resetPopupColor)(ArkUINodeHandle node);
4638     void (*setAlphabetIndexerSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4639     void (*resetAlphabetIndexerSelectedColor)(ArkUINodeHandle node);
4640     void (*setPopupBackground)(ArkUINodeHandle node, ArkUI_Uint32 color);
4641     void (*resetPopupBackground)(ArkUINodeHandle node);
4642     void (*setSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4643     void (*resetSelectedBackgroundColor)(ArkUINodeHandle node);
4644     void (*setPopupUnselectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4645     void (*resetPopupUnselectedColor)(ArkUINodeHandle node);
4646     void (*setAlignStyle)(ArkUINodeHandle node, ArkUI_Int32 value);
4647     void (*resetAlignStyle)(ArkUINodeHandle node);
4648     void (*setUsingPopup)(ArkUINodeHandle node, ArkUI_Bool value);
4649     void (*resetUsingPopup)(ArkUINodeHandle node);
4650     void (*setAlphabetIndexerSelected)(ArkUINodeHandle node, ArkUI_Int32 value);
4651     void (*resetAlphabetIndexerSelected)(ArkUINodeHandle node);
4652     void (*setPopupHorizontalSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4653     void (*resetPopupHorizontalSpace)(ArkUINodeHandle node);
4654     void (*setPopupSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4655     void (*resetPopupSelectedColor)(ArkUINodeHandle node);
4656     void (*setItemSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4657     void (*resetItemSize)(ArkUINodeHandle node);
4658     void (*setPopupPosition)(
4659         ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue, ArkUI_Int32 yUnit);
4660     void (*resetPopupPosition)(ArkUINodeHandle node);
4661     void (*setPopupItemBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 radiusValue, ArkUI_Int32 radiusUnit,
4662         ArkUI_Float32 popupValue, ArkUI_Int32 popupUnit);
4663     void (*resetPopupItemBorderRadius)(ArkUINodeHandle node);
4664     void (*setItemBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 radiusValue, ArkUI_Int32 radiusUnit,
4665         ArkUI_Float32 indexerValue, ArkUI_Int32 indexerUnit);
4666     void (*resetItemBorderRadius)(ArkUINodeHandle node);
4667     void (*setPopupBackgroundBlurStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
4668     void (*resetPopupBackgroundBlurStyle)(ArkUINodeHandle node);
4669     void (*setPopupTitleBackground)(ArkUINodeHandle node, ArkUI_Uint32 color);
4670     void (*resetPopupTitleBackground)(ArkUINodeHandle node);
4671     void (*setAdaptiveWidth)(ArkUINodeHandle node);
4672     void (*resetAdaptiveWidth)(ArkUINodeHandle node);
4673     void (*setArrayValue)(ArkUINodeHandle node, ArkUI_CharPtr* value, ArkUI_Uint32 length);
4674     void (*resetArrayValue)(ArkUINodeHandle node);
4675     void (*setAutoCollapse)(ArkUINodeHandle node, ArkUI_Bool value);
4676     void (*resetAutoCollapse)(ArkUINodeHandle node);
4677     void (*setEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Bool value);
4678     void (*resetEnableHapticFeedback)(ArkUINodeHandle node);
4679 };
4680 
4681 struct ArkUILoadingProgressModifier {
4682     ArkUI_Uint32 (*getColor)(ArkUINodeHandle node);
4683     void (*setColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4684     void (*resetColor)(ArkUINodeHandle node);
4685     ArkUI_Bool (*getEnableLoading)(ArkUINodeHandle node);
4686     void (*setEnableLoading)(ArkUINodeHandle node, ArkUI_Bool value);
4687     void (*resetEnableLoading)(ArkUINodeHandle node);
4688     void (*setForegroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4689     void (*resetForegroundColor)(ArkUINodeHandle node);
4690 };
4691 
4692 struct ArkUIImageAnimatorModifier {
4693     void (*setState)(ArkUINodeHandle node, ArkUI_Int32 state);
4694     void (*resetState)(ArkUINodeHandle node);
4695     void (*setDuration)(ArkUINodeHandle node, ArkUI_Int32 duration);
4696     void (*setFixedSize)(ArkUINodeHandle node, ArkUI_Uint32 fixedSize);
4697     void (*resetFixedSize)(ArkUINodeHandle node);
4698     void (*setFillMode)(ArkUINodeHandle node, ArkUI_Int32 fillMode);
4699     void (*resetFillMode)(ArkUINodeHandle node);
4700     void (*setReverse)(ArkUINodeHandle node, ArkUI_Uint32 value);
4701     void (*resetReverse)(ArkUINodeHandle node);
4702     void (*setImages)(ArkUINodeHandle node, struct ArkUIImagePropertiesStruct* images, ArkUI_Int32 length);
4703     void (*resetImages)(ArkUINodeHandle node);
4704     void (*setImageAnimatorIteration)(ArkUINodeHandle node, ArkUI_Int32 value);
4705     void (*resetImageAnimatorIteration)(ArkUINodeHandle node);
4706     void (*setAutoMonitorInvisibleArea)(ArkUINodeHandle node, ArkUI_Bool value);
4707     void (*setImageAnimatorSrc)(ArkUINodeHandle node, ArkUIImageFrameInfo* imageInfos, ArkUI_Int32 size);
4708     void (*resetDuration)(ArkUINodeHandle node);
4709     ArkUI_Bool (*getIsReverse)(ArkUINodeHandle node);
4710     ArkUI_Int32 (*getDuration)(ArkUINodeHandle node);
4711     ArkUI_Int32 (*getState)(ArkUINodeHandle node);
4712     ArkUI_Bool (*getFixedSize)(ArkUINodeHandle node);
4713     ArkUI_Int32 (*getFillMode)(ArkUINodeHandle node);
4714     ArkUI_Int32 (*getIteration)(ArkUINodeHandle node);
4715     ArkUI_Int32 (*getImagesSize)(ArkUINodeHandle node);
4716     void (*setImageAnimatorOnStart)(ArkUINodeHandle node, void* callback);
4717     void (*resetImageAnimatorOnStart)(ArkUINodeHandle node);
4718     void (*setImageAnimatorOnPause)(ArkUINodeHandle node, void* callback);
4719     void (*resetImageAnimatorOnPause)(ArkUINodeHandle node);
4720     void (*setImageAnimatorOnRepeat)(ArkUINodeHandle node, void* callback);
4721     void (*resetImageAnimatorOnRepeat)(ArkUINodeHandle node);
4722     void (*setImageAnimatorOnCancel)(ArkUINodeHandle node, void* callback);
4723     void (*resetImageAnimatorOnCancel)(ArkUINodeHandle node);
4724     void (*setImageAnimatorOnFinish)(ArkUINodeHandle node, void* callback);
4725     void (*resetImageAnimatorOnFinish)(ArkUINodeHandle node);
4726 };
4727 
4728 struct ArkUISideBarContainerModifier {
4729     void (*setSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4730     void (*resetSideBarWidth)(ArkUINodeHandle node);
4731     void (*setMinSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4732     void (*resetMinSideBarWidth)(ArkUINodeHandle node);
4733     void (*setControlButton)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valueLength,
4734         const struct ArkUIIconsStruct* sideBarWidth);
4735     void (*resetControlButton)(ArkUINodeHandle node);
4736     void (*setShowControlButton)(ArkUINodeHandle node, ArkUI_Bool isShow);
4737     void (*resetShowControlButton)(ArkUINodeHandle node);
4738     void (*setAutoHide)(ArkUINodeHandle node, ArkUI_Uint32 value);
4739     void (*resetAutoHide)(ArkUINodeHandle node);
4740     void (*setSideBarContainerMaxSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4741     void (*resetSideBarContainerMaxSideBarWidth)(ArkUINodeHandle node);
4742     void (*setSideBarContainerMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4743     void (*resetSideBarContainerMinContentWidth)(ArkUINodeHandle node);
4744     void (*setSideBarPosition)(ArkUINodeHandle node, ArkUI_Int32 sideBarPosition);
4745     void (*resetSideBarPosition)(ArkUINodeHandle node);
4746     void (*setShowSideBar)(ArkUINodeHandle node, ArkUI_Bool isShow);
4747     void (*resetShowSideBar)(ArkUINodeHandle node);
4748     void (*setSideBarContainerDivider)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units,
4749         ArkUI_Int32 length, ArkUI_Uint32 color);
4750     void (*resetSideBarContainerDivider)(ArkUINodeHandle node);
4751 };
4752 
4753 struct ArkUICalendarPickerModifier {
4754     void (*setHintRadius)(ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Int32 unit);
4755     void (*setSelectDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
4756     void (*resetSelectDate)(ArkUINodeHandle node);
4757     void (*setTextStyleWithWeightEnum)(
4758         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_Float32 fontSize, ArkUI_Int32 unit, ArkUI_Int32 fontWeight);
4759     void (*setTextStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontSize, ArkUI_CharPtr fontWeight);
4760     void (*resetTextStyle)(ArkUINodeHandle node);
4761     void (*setStartDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
4762     void (*resetStartDate)(ArkUINodeHandle node);
4763     void (*setEndDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
4764     void (*resetEndDate)(ArkUINodeHandle node);
4765     void (*setCalendarPickerMarkToday)(ArkUINodeHandle node, ArkUI_Bool isMarkToday);
4766     void (*resetCalendarPickerMarkToday)(ArkUINodeHandle node);
4767     void (*setCalendarPickerDisabledDateRange)(ArkUINodeHandle node, ArkUI_CharPtr disabledDateRangeStr);
4768     void (*resetCalendarPickerDisabledDateRange)(ArkUINodeHandle node);
4769     void (*setEdgeAlign)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 size,
4770         ArkUI_Int32 alignType);
4771     void (*resetEdgeAlign)(ArkUINodeHandle node);
4772     void (*setCalendarPickerPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top,
4773         const struct ArkUISizeType* right, const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
4774     void (*resetCalendarPickerPadding)(ArkUINodeHandle node);
4775     void (*setCalendarPickerBorder)(ArkUINodeHandle node, const ArkUI_Uint32 color);
4776     void (*resetCalendarPickerBorder)(ArkUINodeHandle node);
4777     ArkUI_Float32 (*getHintRadius)(ArkUINodeHandle node);
4778     ArkUISelectedDateType (*getSelectedDate)(ArkUINodeHandle node);
4779     ArkUICalendarTextStyleType (*getCalendarPickerTextStyle)(ArkUINodeHandle node);
4780     ArkUI_CharPtr (*getStartDate)(ArkUINodeHandle node);
4781     ArkUI_CharPtr (*getEndDate)(ArkUINodeHandle node);
4782     ArkUI_Bool (*getCalendarPickerMarkToday)(ArkUINodeHandle node);
4783     ArkUI_CharPtr (*getCalendarPickerDisabledDateRange)(ArkUINodeHandle node);
4784     ArkUIEdgeAlignType (*getEdgeAlign)(ArkUINodeHandle node);
4785     void (*setCalendarPickerHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4786     void (*resetCalendarPickerHeight)(ArkUINodeHandle node);
4787     void (*setCalendarPickerBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4788     void (*resetCalendarPickerBorderColor)(ArkUINodeHandle node);
4789     void (*setCalendarPickerBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32 value, const ArkUI_Int32 unit);
4790     void (*resetCalendarPickerBorderRadius)(ArkUINodeHandle node);
4791     void (*resetCalendarPickerBorderWidth)(ArkUINodeHandle node);
4792     void (*setCalendarPickerOnChange)(ArkUINodeHandle node, void* callback);
4793     void (*resetCalendarPickerOnChange)(ArkUINodeHandle node);
4794 
4795 };
4796 
4797 struct ArkUIRatingModifier {
4798     void (*setStars)(ArkUINodeHandle node, ArkUI_Int32 value);
4799     void (*setRatingStepSize)(ArkUINodeHandle node, ArkUI_Float32 value);
4800     void (*setStarStyle)(
4801         ArkUINodeHandle node, ArkUI_CharPtr backgroundUri, ArkUI_CharPtr foregroundUri, ArkUI_CharPtr secondaryUri);
4802     void (*setOnChange)(ArkUINodeHandle node, void* callback);
4803     void (*resetStars)(ArkUINodeHandle node);
4804     void (*resetRatingStepSize)(ArkUINodeHandle node);
4805     void (*resetStarStyle)(ArkUINodeHandle node);
4806     void (*setRatingOptions)(ArkUINodeHandle node, ArkUI_Float64 rating, ArkUI_Bool indicator);
4807     void (*resetOnChange)(ArkUINodeHandle node);
4808 };
4809 
4810 struct ArkUIRowSplitModifier {
4811     void (*setRowSplitResizable)(ArkUINodeHandle node, ArkUI_Bool resizable);
4812     void (*resetRowSplitResizable)(ArkUINodeHandle node);
4813 };
4814 
4815 struct ArkUISearchModifier {
4816     void (*setSearchPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4817     void (*resetSearchPlaceholderColor)(ArkUINodeHandle node);
4818     void (*setSearchTextFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* value);
4819     void (*resetSearchTextFont)(ArkUINodeHandle node);
4820     void (*setSearchSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 selectionMenuHidden);
4821     void (*resetSearchSelectionMenuHidden)(ArkUINodeHandle node);
4822     void (*setSearchCaretStyle)(
4823         ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit, ArkUI_Uint32 caretColor);
4824     void (*resetSearchCaretStyle)(ArkUINodeHandle node);
4825     void (*setSearchTextAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
4826     void (*resetSearchTextAlign)(ArkUINodeHandle node);
4827     void (*setSearchCancelButton)(ArkUINodeHandle node, ArkUI_Int32 style, const struct ArkUISizeType* size,
4828         ArkUI_Uint32 color, ArkUI_CharPtr src);
4829     void (*resetSearchCancelButton)(ArkUINodeHandle node);
4830     void (*setSearchEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 value);
4831     void (*resetSearchEnableKeyboardOnFocus)(ArkUINodeHandle node);
4832     void (*setSearchPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* value);
4833     void (*resetSearchPlaceholderFont)(ArkUINodeHandle node);
4834     void (*setSearchSearchIcon)(ArkUINodeHandle node, const struct ArkUIIconOptionsStruct* value);
4835     void (*resetSearchSearchIcon)(ArkUINodeHandle node);
4836     void (*setSearchSearchButton)(ArkUINodeHandle node, const struct ArkUISearchButtonOptionsStruct* value);
4837     void (*resetSearchSearchButton)(ArkUINodeHandle node);
4838     void (*setSearchFontColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
4839     void (*resetSearchFontColor)(ArkUINodeHandle node);
4840     void (*setSearchCopyOption)(ArkUINodeHandle node, ArkUI_Uint32 value);
4841     void (*resetSearchCopyOption)(ArkUINodeHandle node);
4842     void (*setSearchEnterKeyType)(ArkUINodeHandle node, ArkUI_Int32 value);
4843     void (*resetSearchEnterKeyType)(ArkUINodeHandle node);
4844     void (*setSearchHeight)(ArkUINodeHandle node, ArkUI_Float32 heightValue, ArkUI_Int32 heightUnit);
4845     void (*resetSearchHeight)(ArkUINodeHandle node);
4846     void (*setSearchInspectorId)(ArkUINodeHandle node, ArkUI_CharPtr key);
4847     void (*resetSearchInspectorId)(ArkUINodeHandle node);
4848     void (*setSearchDecoration)(ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, ArkUI_Int32 style);
4849     void (*resetSearchDecoration)(ArkUINodeHandle node);
4850     void (*setSearchLetterSpacing)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4851     void (*resetSearchLetterSpacing)(ArkUINodeHandle node);
4852     void (*setSearchLineHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4853     void (*resetSearchLineHeight)(ArkUINodeHandle node);
4854     void (*setSearchHalfLeading)(ArkUINodeHandle node, ArkUI_Uint32 halfLeading);
4855     void (*resetSearchHalfLeading)(ArkUINodeHandle node);
4856     void (*setSearchFontFeature)(ArkUINodeHandle node, ArkUI_CharPtr value);
4857     void (*resetSearchFontFeature)(ArkUINodeHandle node);
4858     void (*setSearchAdaptMinFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4859     void (*resetSearchAdaptMinFontSize)(ArkUINodeHandle node);
4860     void (*setSearchAdaptMaxFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4861     void (*resetSearchAdaptMaxFontSize)(ArkUINodeHandle node);
4862     void (*setSearchSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4863     void (*resetSearchSelectedBackgroundColor)(ArkUINodeHandle node);
4864     void (*setSearchTextIndent)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4865     void (*resetSearchTextIndent)(ArkUINodeHandle node);
4866     void (*setSearchValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
4867     void (*resetSearchValue)(ArkUINodeHandle node);
4868     void (*setSearchPlaceholder)(ArkUINodeHandle node, ArkUI_CharPtr placeholder);
4869     void (*resetSearchPlaceholder)(ArkUINodeHandle node);
4870     void (*setSearchIcon)(ArkUINodeHandle node, ArkUI_CharPtr icon);
4871     void (*resetSearchIcon)(ArkUINodeHandle node);
4872     void (*setSearchCaretPosition)(ArkUINodeHandle node, ArkUI_Int32 value);
4873     void (*resetSearchCaretPosition)(ArkUINodeHandle node);
4874     void (*setSearchMaxLength)(ArkUINodeHandle node, ArkUI_Int32 value);
4875     void (*resetSearchMaxLength)(ArkUINodeHandle node);
4876     void (*setSearchType)(ArkUINodeHandle node, ArkUI_Int32 value);
4877     void (*resetSearchType)(ArkUINodeHandle node);
4878     void (*setSearchOnEditChange)(ArkUINodeHandle node, void* callback);
4879     void (*resetSearchOnEditChange)(ArkUINodeHandle node);
4880     void (*setSearchOnSubmitWithEvent)(ArkUINodeHandle node, void* callback);
4881     void (*resetSearchOnSubmitWithEvent)(ArkUINodeHandle node);
4882     void (*setSearchOnCopy)(ArkUINodeHandle node, void* callback);
4883     void (*resetSearchOnCopy)(ArkUINodeHandle node);
4884     void (*setSearchOnCut)(ArkUINodeHandle node, void* callback);
4885     void (*resetSearchOnCut)(ArkUINodeHandle node);
4886     void (*setSearchOnPaste)(ArkUINodeHandle node, void* callback);
4887     void (*resetSearchOnPaste)(ArkUINodeHandle node);
4888     void (*setSearchOnChange)(ArkUINodeHandle node, void* callback);
4889     void (*resetSearchOnChange)(ArkUINodeHandle node);
4890     void (*setSearchOnTextSelectionChange)(ArkUINodeHandle node, void* callback);
4891     void (*resetSearchOnTextSelectionChange)(ArkUINodeHandle node);
4892     void (*setSearchOnContentScroll)(ArkUINodeHandle node, void* callback);
4893     void (*resetSearchOnContentScroll)(ArkUINodeHandle node);
4894     void (*setSearchShowCounter)(
4895         ArkUINodeHandle node, ArkUI_Bool open, ArkUI_Int32 thresholdPercentage, ArkUI_Bool highlightBorderr);
4896     void (*resetSearchShowCounter)(ArkUINodeHandle node);
4897     ArkUINodeHandle (*getSearchController)(ArkUINodeHandle node);
4898     void (*setSearchOnWillChange)(ArkUINodeHandle node, ArkUI_Int64 callback);
4899     void (*resetSearchOnWillChange)(ArkUINodeHandle node);
4900     void (*setSearchOnWillInsert)(ArkUINodeHandle node, ArkUI_Int64 callback);
4901     void (*resetSearchOnWillInsert)(ArkUINodeHandle node);
4902     void (*setSearchOnDidInsert)(ArkUINodeHandle node, ArkUI_Int64 callback);
4903     void (*resetSearchOnDidInsert)(ArkUINodeHandle node);
4904     void (*setSearchOnWillDelete)(ArkUINodeHandle node, ArkUI_Int64 callback);
4905     void (*resetSearchOnWillDelete)(ArkUINodeHandle node);
4906     void (*setSearchOnDidDelete)(ArkUINodeHandle node, ArkUI_Int64 callback);
4907     void (*resetSearchOnDidDelete)(ArkUINodeHandle node);
4908     void (*setSearchEnablePreviewText)(ArkUINodeHandle node, ArkUI_Uint32 value);
4909     void (*resetSearchEnablePreviewText)(ArkUINodeHandle node);
4910     void (*setSearchSelectionMenuOptions)(
4911         ArkUINodeHandle node, void* onCreateMenuCallback, void* onMenuItemClickCallback);
4912     void (*resetSearchSelectionMenuOptions)(ArkUINodeHandle node);
4913     void (*setSearchEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Uint32 value);
4914     void (*resetSearchEnableHapticFeedback)(ArkUINodeHandle node);
4915     void (*setSearchMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
4916     void (*resetSearchMinFontScale)(ArkUINodeHandle node);
4917     void (*setSearchMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 number);
4918     void (*resetSearchMaxFontScale)(ArkUINodeHandle node);
4919     void (*setStopBackPress)(ArkUINodeHandle node, ArkUI_Uint32 isStopBackPress);
4920     void (*resetStopBackPress)(ArkUINodeHandle node);
4921     void (*setSearchKeyboardAppearance)(ArkUINodeHandle node, ArkUI_Uint32 keyBoardAppearance);
4922     void (*resetSearchKeyboardAppearance)(ArkUINodeHandle node);
4923 };
4924 
4925 struct ArkUISearchControllerModifier {
4926     ArkUINodeHandle (*getSearchController)(ArkUINodeHandle node);
4927     void (*setSearchCaretPosition)(ArkUINodeHandle node, ArkUI_Int32 value);
4928     void (*setSearchStopEditing)(ArkUINodeHandle node);
4929 };
4930 
4931 struct ArkUITextClockModifier {
4932     void (*setFormat)(ArkUINodeHandle node, ArkUI_CharPtr format);
4933     void (*resetFormat)(ArkUINodeHandle node);
4934     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4935     void (*resetFontColor)(ArkUINodeHandle node);
4936     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
4937     void (*resetFontSize)(ArkUINodeHandle node);
4938     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
4939     void (*resetFontStyle)(ArkUINodeHandle node);
4940     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr weight);
4941     void (*resetFontWeight)(ArkUINodeHandle node);
4942     void (*setFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
4943     void (*resetFontFamily)(ArkUINodeHandle node);
4944     void (*setTextShadow)(ArkUINodeHandle node, struct ArkUITextShadowStruct* shadows, ArkUI_Uint32 length);
4945     void (*resetTextShadow)(ArkUINodeHandle node);
4946     void (*setFontFeature)(ArkUINodeHandle node, ArkUI_CharPtr value);
4947     void (*resetFontFeature)(ArkUINodeHandle node);
4948     void (*setDateTimeOptions)(ArkUINodeHandle node, ArkUI_Int32 hourType);
4949     void (*resetDateTimeOptions)(ArkUINodeHandle node);
4950     void (*setTextClockTimeZoneOffset)(ArkUINodeHandle node, ArkUI_Float32 timeZoneOffset);
4951     void (*setTextClockOnDateChange)(ArkUINodeHandle node, void* callback);
4952     void (*resetTextClockOnDateChange)(ArkUINodeHandle node);
4953 };
4954 
4955 struct ArkUITextClockControllerModifier {
4956     ArkUINodeHandle (*getTextClockController)(ArkUINodeHandle node);
4957     void (*setTextClockStart)(ArkUINodeHandle node);
4958     void (*setTextClockStop)(ArkUINodeHandle node);
4959 };
4960 
4961 struct ArkUITextPickerModifier {
4962     void (*setTextPickerBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
4963     void (*setTextPickerCanLoop)(ArkUINodeHandle node, ArkUI_Bool value);
4964     void (*getTextPickerSelectedIndex)(ArkUINodeHandle node, ArkUI_Uint32* values, ArkUI_Int32 size);
4965     void (*setTextPickerSelectedIndex)(ArkUINodeHandle node, ArkUI_Uint32* values, ArkUI_Int32 size);
4966     ArkUI_CharPtr (*getTextPickerTextStyle)(ArkUINodeHandle node);
4967     void (*setTextPickerTextStyle)(
4968         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4969     ArkUI_CharPtr (*getTextPickerSelectedTextStyle)(ArkUINodeHandle node);
4970     void (*setTextPickerSelectedTextStyle)(
4971         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4972     ArkUI_CharPtr (*getTextPickerDisappearTextStyle)(ArkUINodeHandle node);
4973     void (*setTextPickerDisappearTextStyle)(
4974         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
4975     void (*setTextPickerDefaultPickerItemHeight)(ArkUINodeHandle node, ArkUI_Float32 dVal, ArkUI_Int32 dUnit);
4976     void (*resetTextPickerCanLoop)(ArkUINodeHandle node);
4977     void (*resetTextPickerSelectedIndex)(ArkUINodeHandle node);
4978     void (*resetTextPickerTextStyle)(ArkUINodeHandle node);
4979     void (*resetTextPickerSelectedTextStyle)(ArkUINodeHandle node);
4980     void (*resetTextPickerDisappearTextStyle)(ArkUINodeHandle node);
4981     void (*resetTextPickerDefaultPickerItemHeight)(ArkUINodeHandle node);
4982     void (*resetTextPickerBackgroundColor)(ArkUINodeHandle node);
4983     ArkUI_CharPtr (*getTextPickerRangeStr)(ArkUINodeHandle node);
4984     ArkUI_Int32 (*getTextPickerSingleRange)(ArkUINodeHandle node);
4985     void (*setTextPickerRangeStr)(ArkUINodeHandle node, ArkUI_CharPtr rangeStr, ArkUI_Bool isSingleRange,
4986         ArkUI_Int32 rangeType);
4987     ArkUI_CharPtr (*getTextPickerValue)(ArkUINodeHandle node);
4988     void (*setTextPickerValue)(ArkUINodeHandle node, ArkUI_CharPtr valueStr);
4989     void (*setTextPickerColumnWidths)(ArkUINodeHandle node, ArkUI_Float32* values, ArkUI_Int32 size);
4990     void (*resetTextPickerColumnWidths)(ArkUINodeHandle node);
4991     void (*getTextPickerColumnWidths)(ArkUINodeHandle node, ArkUI_Float32* values);
4992     ArkUI_Int32 (*getTextPickerColumnWidthsSize)(ArkUINodeHandle node);
4993     void (*setTextPickerDivider)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
4994         const ArkUI_Int32* units, ArkUI_Int32 length);
4995     void (*resetTextPickerDivider)(ArkUINodeHandle node);
4996     void (*setTextPickerGradientHeight)(ArkUINodeHandle node, ArkUI_Float32 dVal, ArkUI_Int32 dUnit);
4997     void (*resetTextPickerGradientHeight)(ArkUINodeHandle node);
4998     ArkUI_Int32 (*getTextPickerSelectedSize)(ArkUINodeHandle node);
4999     ArkUI_Int32 (*getTextPickerCanLoop)(ArkUINodeHandle node);
5000     ArkUI_Float32 (*getTextPickerDefaultPickerItemHeight)(ArkUINodeHandle node, ArkUI_Int32 dUnit);
5001     void (*resetTextPickerDividerNull)(ArkUINodeHandle node);
5002     void (*setTextPickerDisableTextStyleAnimation)(ArkUINodeHandle node, ArkUI_Bool value);
5003     void (*resetTextPickerDisableTextStyleAnimation)(ArkUINodeHandle node);
5004     void (*setTextPickerDefaultTextStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo,
5005         ArkUI_Int32 style, ArkUI_CharPtr minFontSize, ArkUI_CharPtr maxFontSize, ArkUI_Int32 overflow);
5006     void (*resetTextPickerDefaultTextStyle)(ArkUINodeHandle node);
5007     ArkUI_Bool (*getTextPickerEnableHapticFeedback)(ArkUINodeHandle node);
5008     void (*setTextPickerEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Bool isEnableHapticFeedback);
5009     void (*resetTextPickerEnableHapticFeedback)(ArkUINodeHandle node);
5010     void (*setTextPickerDigitalCrownSensitivity)(ArkUINodeHandle node, ArkUI_Int32 value);
5011     void (*resetTextPickerDigitalCrownSensitivity)(ArkUINodeHandle node);
5012     void (*setTextPickerOnChange)(ArkUINodeHandle node, void* callback);
5013     void (*resetTextPickerOnChange)(ArkUINodeHandle node);
5014     void (*setTextPickerOnScrollStop)(ArkUINodeHandle node, void* callback);
5015     void (*resetTextPickerOnScrollStop)(ArkUINodeHandle node);
5016     void (*setTextPickerIconRangeStr)(
5017         ArkUINodeHandle node, ArkUITextPickerRangeContentArray arry, ArkUI_Bool isSingleRange, ArkUI_Int32 rangeType);
5018     void (*setTextCascadePickRangeContent)(
5019         ArkUINodeHandle node, ArkUITextCascadePickerRangeContentArray arry, ArkUI_Int32 rangeType);
5020 };
5021 
5022 struct ArkUITextTimerModifier {
5023     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5024     void (*resetFontColor)(ArkUINodeHandle node);
5025     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5026     void (*resetFontSize)(ArkUINodeHandle node);
5027     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
5028     void (*resetFontStyle)(ArkUINodeHandle node);
5029     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr weight);
5030     void (*resetFontWeight)(ArkUINodeHandle node);
5031     void (*setFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
5032     void (*resetFontFamily)(ArkUINodeHandle node);
5033     void (*setFormat)(ArkUINodeHandle node, ArkUI_CharPtr format);
5034     void (*resetFormat)(ArkUINodeHandle node);
5035     void (*setTextShadow)(ArkUINodeHandle node, struct ArkUITextShadowStruct* shadows, ArkUI_Uint32 length);
5036     void (*resetTextShadow)(ArkUINodeHandle node);
5037     void (*setTextTimerOptions)(ArkUINodeHandle node, ArkUI_Bool isCountDown, ArkUI_Float64 count);
5038     void (*setTextTimerOnTimer)(ArkUINodeHandle node, void* callback);
5039     void (*resetTextTimerOnTimer)(ArkUINodeHandle node);
5040 };
5041 
5042 struct ArkUISymbolGlyphModifier {
5043     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32* color, ArkUI_Int32 size);
5044     void (*resetFontColor)(ArkUINodeHandle node);
5045     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5046     void (*resetFontSize)(ArkUINodeHandle node);
5047     void (*setFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr weight);
5048     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_Int32 weight);
5049     void (*resetFontWeight)(ArkUINodeHandle node);
5050     void (*setRenderingStrategy)(ArkUINodeHandle node, ArkUI_Uint32 renderingStrategy);
5051     void (*resetRenderingStrategy)(ArkUINodeHandle node);
5052     void (*setEffectStrategy)(ArkUINodeHandle node, ArkUI_Uint32 effectStrategy);
5053     void (*resetEffectStrategy)(ArkUINodeHandle node);
5054     void (*setSymbolGlyphInitialize)(ArkUINodeHandle node, ArkUI_Uint32 symbolId);
5055     void (*resetSymbolGlyphInitialize)(ArkUINodeHandle node);
5056     void (*updateSymbolEffect)(ArkUINodeHandle node, ArkUI_Uint32 symbolEffectType, ArkUI_Bool isActive,
5057         ArkUI_Int16 isTxtActiveSource);
5058     void (*setMinFontScale)(ArkUINodeHandle node, ArkUI_Float32 minFontScale);
5059     void (*resetMinFontScale)(ArkUINodeHandle node);
5060     void (*setMaxFontScale)(ArkUINodeHandle node, ArkUI_Float32 maxFontScale);
5061     void (*resetMaxFontScale)(ArkUINodeHandle node);
5062     void (*setCustomSymbolGlyphInitialize)(ArkUINodeHandle node, ArkUI_Uint32 symbolId, ArkUI_CharPtr fontFamily);
5063 };
5064 
5065 struct ArkUISymbolSpanModifier {
5066     void (*setSymbolSpanFontColor)(ArkUINodeHandle node, ArkUI_Uint32* color, ArkUI_Int32 size);
5067     void (*resetSymbolSpanFontColor)(ArkUINodeHandle node);
5068     void (*setSymbolSpanFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5069     void (*resetSymbolSpanFontSize)(ArkUINodeHandle node);
5070     void (*setSymbolSpanFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr weight);
5071     void (*setSymbolSpanFontWeight)(ArkUINodeHandle node, ArkUI_Int32 weight);
5072     void (*resetSymbolSpanFontWeight)(ArkUINodeHandle node);
5073     void (*setSymbolSpanRenderingStrategy)(ArkUINodeHandle node, ArkUI_Uint32 renderingStrategy);
5074     void (*resetSymbolSpanRenderingStrategy)(ArkUINodeHandle node);
5075     void (*setSymbolSpanEffectStrategy)(ArkUINodeHandle node, ArkUI_Uint32 effectStrategy);
5076     void (*resetSymbolSpanEffectStrategy)(ArkUINodeHandle node);
5077     void (*setSymbolSpanId)(ArkUINodeHandle node, ArkUI_Uint32 symbolId);
5078     void (*setCustomSymbolSpanId)(ArkUINodeHandle node, ArkUI_Uint32 symbolId, ArkUI_CharPtr fontFamily);
5079 };
5080 
5081 struct ArkUIComponent3DModifier {
5082     void (*setShaderInputBuffer)(ArkUINodeHandle node, ArkUI_Float32* buffer, ArkUI_Int32 size);
5083     void (*resetShaderInputBuffer)(ArkUINodeHandle node);
5084 };
5085 
5086 struct ArkUITextTimerControllerModifier {
5087     ArkUINodeHandle (*getTextTimerController)(ArkUINodeHandle node);
5088     void (*setTextTimerStart)(ArkUINodeHandle node);
5089     void (*setTextTimerPause)(ArkUINodeHandle node);
5090     void (*setTextTimerReset)(ArkUINodeHandle node);
5091 };
5092 
5093 struct ArkUIMarqueeModifier {
5094     void (*setMarqueeFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5095     void (*resetMarqueeFontSize)(ArkUINodeHandle node);
5096     void (*setMarqueeFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5097     void (*resetMarqueeFontColor)(ArkUINodeHandle node);
5098     void (*setMarqueeAllowScale)(ArkUINodeHandle node, ArkUI_Bool allowScale);
5099     void (*resetMarqueeAllowScale)(ArkUINodeHandle node);
5100     void (*setMarqueeFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
5101     void (*resetMarqueeFontWeight)(ArkUINodeHandle node);
5102     void (*setMarqueeFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
5103     void (*resetMarqueeFontFamily)(ArkUINodeHandle node);
5104     void (*setMarqueeUpdateStrategy)(ArkUINodeHandle node, ArkUI_Uint32 value);
5105     void (*resetMarqueeUpdateStrategy)(ArkUINodeHandle node);
5106     void (*setMarqueeOnStart)(ArkUINodeHandle node, void* callback);
5107     void (*resetMarqueeOnStart)(ArkUINodeHandle node);
5108     void (*setMarqueeOnBounce)(ArkUINodeHandle node, void* callback);
5109     void (*resetMarqueeOnBounce)(ArkUINodeHandle node);
5110     void (*setMarqueeOnFinish)(ArkUINodeHandle node, void* callback);
5111     void (*resetMarqueeOnFinish)(ArkUINodeHandle node);
5112     void (*setMarqueeSrcValue)(ArkUINodeHandle node, ArkUI_CharPtr src);
5113     void (*resetMarqueeSrcValue)(ArkUINodeHandle node);
5114     void (*setMarqueePlayerStatus)(ArkUINodeHandle node, ArkUI_Bool start);
5115     void (*resetMarqueePlayerStatus)(ArkUINodeHandle node);
5116     void (*setMarqueeScrollAmount)(ArkUINodeHandle node, ArkUI_Float64 step);
5117     void (*resetMarqueeScrollAmount)(ArkUINodeHandle node);
5118     void (*setMarqueeLoop)(ArkUINodeHandle node, ArkUI_Int32 loop);
5119     void (*resetMarqueeLoop)(ArkUINodeHandle node);
5120     void (*setMarqueeDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
5121     void (*resetMarqueeDirection)(ArkUINodeHandle node);
5122 };
5123 
5124 struct ArkUIDatePickerModifier {
5125     ArkUI_CharPtr (*getSelectedTextStyle)(ArkUINodeHandle node);
5126     void (*setSelectedTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
5127     void (*resetSelectedTextStyle)(ArkUINodeHandle node);
5128     ArkUI_CharPtr (*getDatePickerTextStyle)(ArkUINodeHandle node);
5129     void (*setDatePickerTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
5130     void (*resetDatePickerTextStyle)(ArkUINodeHandle node);
5131     ArkUI_CharPtr (*getDisappearTextStyle)(ArkUINodeHandle node);
5132     void (*setDisappearTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
5133     void (*resetDisappearTextStyle)(ArkUINodeHandle node);
5134     ArkUI_Int32 (*getLunar)(ArkUINodeHandle node);
5135     void (*setLunar)(ArkUINodeHandle node, ArkUI_Bool isLunar);
5136     void (*resetLunar)(ArkUINodeHandle node);
5137     ArkUI_CharPtr (*getStartDate)(ArkUINodeHandle node);
5138     void (*setStartDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
5139     void (*resetStartDate)(ArkUINodeHandle node);
5140     ArkUI_CharPtr (*getEndDate)(ArkUINodeHandle node);
5141     void (*setEndDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
5142     void (*resetEndDate)(ArkUINodeHandle node);
5143     ArkUI_CharPtr (*getSelectedDate)(ArkUINodeHandle node);
5144     void (*setSelectedDate)(ArkUINodeHandle node, ArkUI_Uint32 year, ArkUI_Uint32 month, ArkUI_Uint32 day);
5145     void (*resetSelectedDate)(ArkUINodeHandle node);
5146     ArkUI_Uint32 (*getDatePickerBackgroundColor)(ArkUINodeHandle node);
5147     void (*setDatePickerBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5148     void (*resetDatePickerBackgroundColor)(ArkUINodeHandle node);
5149     ArkUI_Int32 (*getDatePickerMode)(ArkUINodeHandle node);
5150     void (*setDatePickerMode)(ArkUINodeHandle node, ArkUI_Int32 value);
5151     void (*resetDatePickerMode)(ArkUINodeHandle node);
5152     ArkUI_Bool (*getEnableHapticFeedback)(ArkUINodeHandle node);
5153     void (*setEnableHapticFeedback)(ArkUINodeHandle node, ArkUI_Bool enableHapticFeedback);
5154     void (*resetEnableHapticFeedback)(ArkUINodeHandle node);
5155     void (*setDatePickerDigitalCrownSensitivity)(ArkUINodeHandle node, ArkUI_Int32 value);
5156     void (*resetDatePickerDigitalCrownSensitivity)(ArkUINodeHandle node);
5157     void (*setDatePickerOnDateChange)(ArkUINodeHandle node, void* callback);
5158     void (*resetDatePickerOnDateChange)(ArkUINodeHandle node);
5159     void (*setDatePickerOnChange)(ArkUINodeHandle node, void* callback);
5160     void (*resetDatePickerOnChange)(ArkUINodeHandle node);
5161 };
5162 
5163 struct ArkUISpanModifier {
5164     void (*setSpanSrc)(ArkUINodeHandle node, ArkUI_CharPtr src);
5165     void (*setContent)(ArkUINodeHandle node, ArkUI_CharPtr value);
5166     void (*setSpanTextCase)(ArkUINodeHandle node, ArkUI_Int32 value);
5167     void (*resetSpanTextCase)(ArkUINodeHandle node);
5168     void (*setSpanFontWeight)(ArkUINodeHandle node, ArkUI_Int32 value);
5169     void (*resetSpanFontWeight)(ArkUINodeHandle node);
5170     void (*setSpanLineHeight)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5171     void (*resetSpanLineHeight)(ArkUINodeHandle node);
5172     void (*setSpanFontStyle)(ArkUINodeHandle node, ArkUI_Int32 fontStyle);
5173     void (*resetSpanFontStyle)(ArkUINodeHandle node);
5174     void (*setSpanFontSize)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5175     void (*resetSpanFontSize)(ArkUINodeHandle node);
5176     void (*setSpanFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
5177     void (*resetSpanFontFamily)(ArkUINodeHandle node);
5178     void (*setSpanDecoration)(
5179         ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, const ArkUI_Int32 style);
5180     void (*resetSpanDecoration)(ArkUINodeHandle node);
5181     void (*setSpanFontColor)(ArkUINodeHandle node, ArkUI_Uint32 textColor);
5182     void (*resetSpanFontColor)(ArkUINodeHandle node);
5183     void (*setSpanLetterSpacing)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* letterSpacingValue);
5184     void (*resetSpanLetterSpacing)(ArkUINodeHandle node);
5185     void (*setSpanBaselineOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5186     void (*resetSpanBaselineOffset)(ArkUINodeHandle node);
5187     void (*setSpanFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* fontInfo);
5188     void (*resetSpanFont)(ArkUINodeHandle node);
5189     void (*setSpanFontWeightStr)(ArkUINodeHandle node, ArkUI_CharPtr value);
5190     ArkUI_CharPtr (*getSpanContent)(ArkUINodeHandle node);
5191     void (*getSpanDecoration)(ArkUINodeHandle node, ArkUITextDecorationType* decorationType);
5192     ArkUI_Uint32 (*getSpanFontColor)(ArkUINodeHandle node);
5193     ArkUI_Float32 (*getSpanFontSize)(ArkUINodeHandle node, ArkUI_Int32 unit);
5194     ArkUI_Int32 (*getSpanFontStyle)(ArkUINodeHandle node);
5195     ArkUI_Int32 (*getSpanFontWeight)(ArkUINodeHandle node);
5196     ArkUI_Float32 (*getSpanLineHeight)(ArkUINodeHandle node);
5197     ArkUI_Int32 (*getSpanTextCase)(ArkUINodeHandle node);
5198     ArkUI_Float32 (*getSpanLetterSpacing)(ArkUINodeHandle node);
5199     ArkUI_Float32 (*getSpanBaselineOffset)(ArkUINodeHandle node);
5200     void (*setSpanTextBackgroundStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
5201         const ArkUI_Int32* units, ArkUI_Int32 length);
5202     void (*resetSpanTextBackgroundStyle)(ArkUINodeHandle node);
5203     void (*getSpanTextBackgroundStyle)(ArkUINodeHandle node, ArkUITextBackgroundStyleOptions* options);
5204     void (*setTextShadow)(ArkUINodeHandle node, struct ArkUITextShadowStruct* shadows, ArkUI_Uint32 length);
5205     void (*resetTextShadow)(ArkUINodeHandle node);
5206     void (*getTextShadows)(ArkUINodeHandle node, ArkUITextShadowStruct* textShadow, ArkUI_Uint32 size);
5207     ArkUI_CharPtr (*getSpanFontFamily)(ArkUINodeHandle node);
5208     void (*setAccessibilityText)(ArkUINodeHandle node, ArkUI_CharPtr value);
5209     void (*resetAccessibilityText)(ArkUINodeHandle node);
5210     void (*setAccessibilityDescription)(ArkUINodeHandle node, ArkUI_CharPtr value);
5211     void (*resetAccessibilityDescription)(ArkUINodeHandle node);
5212     void (*setAccessibilityLevel)(ArkUINodeHandle node, ArkUI_CharPtr value);
5213     void (*resetAccessibilityLevel)(ArkUINodeHandle node);
5214 };
5215 
5216 struct ArkUISelectModifier {
5217     void (*setSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5218     void (*setValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
5219     void (*setSelected)(ArkUINodeHandle node, ArkUI_Int32 idx);
5220     void (*setSelectFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
5221     void (*setSelectedOptionBgColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
5222     void (*setOptionBgColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
5223     void (*setOptionFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
5224     void (*setSelectedOptionFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
5225     void (*setArrowPosition)(ArkUINodeHandle node, ArkUI_Int32 arrowPosition);
5226     void (*setMenuAlign)(ArkUINodeHandle node, ArkUI_Int32 alignType, const ArkUI_Float32* values,
5227         const ArkUI_Int32* units, ArkUI_Int32 size);
5228     void (*setFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
5229     void (*setOptionFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
5230     void (*setSelectedOptionFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
5231     void (*resetSpace)(ArkUINodeHandle node);
5232     void (*resetValue)(ArkUINodeHandle node);
5233     void (*resetSelected)(ArkUINodeHandle node);
5234     void (*resetSelectFontColor)(ArkUINodeHandle node);
5235     void (*resetSelectedOptionBgColor)(ArkUINodeHandle node);
5236     void (*resetOptionBgColor)(ArkUINodeHandle node);
5237     void (*resetOptionFontColor)(ArkUINodeHandle node);
5238     void (*resetSelectedOptionFontColor)(ArkUINodeHandle node);
5239     void (*resetArrowPosition)(ArkUINodeHandle node);
5240     void (*resetMenuAlign)(ArkUINodeHandle node);
5241     void (*resetFont)(ArkUINodeHandle node);
5242     void (*resetOptionFont)(ArkUINodeHandle node);
5243     void (*resetSelectedOptionFont)(ArkUINodeHandle node);
5244 
5245     void (*setSelectWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
5246     void (*resetSelectWidth)(ArkUINodeHandle node);
5247     void (*setSelectHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
5248     void (*resetSelectHeight)(ArkUINodeHandle node);
5249     void (*setSelectSize)(
5250         ArkUINodeHandle node, const ArkUI_Float32* number, const ArkUI_Int32* unit, ArkUI_CharPtr* calc);
5251     void (*resetSelectSize)(ArkUINodeHandle node);
5252     void (*setOptionWidthFitTrigger)(ArkUINodeHandle node, ArkUI_Bool trigger);
5253     void (*setSelectOptionWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5254     void (*resetSelectOptionWidth)(ArkUINodeHandle node);
5255     void (*setSelectOptionHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5256     void (*resetSelectOptionHeight)(ArkUINodeHandle node);
5257     void (*setControlSize)(ArkUINodeHandle node, ArkUI_Int32 controlSize);
5258     void (*resetControlSize)(ArkUINodeHandle node);
5259     void (*setSelectValue)(ArkUINodeHandle node, ArkUI_CharPtr* values, ArkUI_CharPtr* icons, ArkUI_Uint32 length);
5260     void (*resetSelectValue)(ArkUINodeHandle node);
5261     void (*setMenuBgColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5262     void (*resetMenuBgColor)(ArkUINodeHandle node);
5263     void (*setMenuBgBlurStyle)(ArkUINodeHandle node, ArkUI_Int32 style);
5264     void (*resetMenuBgBlurStyle)(ArkUINodeHandle node);
5265     void (*setSelectDivider)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
5266         const ArkUI_Int32* units, ArkUI_Int32 length);
5267     void (*resetSelectDivider)(ArkUINodeHandle node);
5268     void (*resetSelectDividerNull)(ArkUINodeHandle node);
5269     void (*setSelectDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
5270     void (*resetSelectDirection)(ArkUINodeHandle node);
5271     void (*setSelectDividerStyle)(ArkUINodeHandle node, ArkUIMenuDividerOptions* menuItemDividerInfo);
5272     void (*resetSelectDividerStyle)(ArkUINodeHandle node);
5273     void (*setAvoidance)(ArkUINodeHandle node, ArkUI_Int32 modeValue);
5274     void (*resetAvoidance)(ArkUINodeHandle node);
5275 };
5276 
5277 /** Common for all API variants.*/
5278 struct ArkUIAny {
5279     ArkUI_Int32 version;
5280     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
5281 };
5282 
5283 struct ArkUIGridColModifier {
5284     void (*setSpan)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
5285     void (*resetSpan)(ArkUINodeHandle node);
5286     void (*setGridColOffset)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
5287     void (*resetGridColOffset)(ArkUINodeHandle node);
5288     void (*setOrder)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
5289     void (*resetOrder)(ArkUINodeHandle node);
5290 };
5291 
5292 struct ArkUIGridRowModifier {
5293     void (*setAlignItems)(ArkUINodeHandle node, ArkUI_Int32 alignItems);
5294     void (*resetAlignItems)(ArkUINodeHandle node);
5295     void (*setDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
5296     void (*resetDirection)(ArkUINodeHandle node);
5297     void (*setBreakpoints)(ArkUINodeHandle node, ArkUI_Int32 reference, const ArkUI_Float32* pointValues,
5298         ArkUI_CharPtr pointStr[], ArkUI_Int32 size);
5299     void (*resetBreakpoints)(ArkUINodeHandle node);
5300     void (*setColumns)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
5301     void (*resetColumns)(ArkUINodeHandle node);
5302     void (*setGutter)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
5303     void (*resetGutter)(ArkUINodeHandle node);
5304     void (*setOnBreakpointChange)(ArkUINodeHandle node, void* callback);
5305     void (*resetOnBreakpointChange)(ArkUINodeHandle node);
5306 };
5307 
5308 struct ArkUIPanelModifier {
5309     void (*setPanelMode)(ArkUINodeHandle node, ArkUI_Int32 mode);
5310     void (*resetPanelMode)(ArkUINodeHandle node);
5311     void (*setPanelFullHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5312     void (*resetPanelFullHeight)(ArkUINodeHandle node);
5313     void (*setPanelHalfHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5314     void (*resetPanelHalfHeight)(ArkUINodeHandle node);
5315     void (*setPanelMiniHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5316     void (*resetPanelMiniHeight)(ArkUINodeHandle node);
5317     void (*setPanelBackgroundMask)(ArkUINodeHandle node, ArkUI_Uint32 color);
5318     void (*resetPanelBackgroundMask)(ArkUINodeHandle node);
5319     void (*setPanelType)(ArkUINodeHandle node, ArkUI_Int32 type);
5320     void (*resetPanelType)(ArkUINodeHandle node);
5321     void (*setPanelCustomHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5322     void (*setPanelCustomHeightByString)(ArkUINodeHandle node, ArkUI_CharPtr value);
5323     void (*resetPanelCustomHeight)(ArkUINodeHandle node);
5324     void (*setShowCloseIcon)(ArkUINodeHandle node, ArkUI_Bool value);
5325     void (*resetShowCloseIcon)(ArkUINodeHandle node);
5326     void (*setDragBar)(ArkUINodeHandle node, ArkUI_Bool value);
5327     void (*resetDragBar)(ArkUINodeHandle node);
5328     void (*setShow)(ArkUINodeHandle node, ArkUI_Bool value);
5329     void (*resetShow)(ArkUINodeHandle node);
5330 };
5331 
5332 struct ArkUIRadioModifier {
5333     void (*setRadioChecked)(ArkUINodeHandle node, ArkUI_Bool isCheck);
5334     void (*resetRadioChecked)(ArkUINodeHandle node);
5335     void (*setRadioStyle)(ArkUINodeHandle node, ArkUI_Uint32 checkedBackgroundColor, ArkUI_Uint32 uncheckedBorderColor,
5336         ArkUI_Uint32 indicatorColor);
5337     void (*resetRadioStyle)(ArkUINodeHandle node);
5338     void (*setRadioWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
5339     void (*resetRadioWidth)(ArkUINodeHandle node);
5340     void (*setRadioHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
5341     void (*resetRadioHeight)(ArkUINodeHandle node);
5342     void (*setRadioSize)(ArkUINodeHandle node, ArkUI_Float32 widthValue, ArkUI_Int32 widthUnit,
5343         ArkUI_Float32 heightValue, ArkUI_Int32 heightUnit);
5344     void (*resetRadioSize)(ArkUINodeHandle node);
5345     void (*setRadioHoverEffect)(ArkUINodeHandle node, ArkUI_Int32 hoverEffectValue);
5346     void (*resetRadioHoverEffect)(ArkUINodeHandle node);
5347     void (*setRadioPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
5348         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
5349     void (*resetRadioPadding)(ArkUINodeHandle node);
5350     void (*setRadioResponseRegion)(
5351         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Uint32 length);
5352     void (*resetRadioResponseRegion)(ArkUINodeHandle node);
5353     ArkUI_Int32 (*getRadioChecked)(ArkUINodeHandle node);
5354     void (*getRadioStyle)(ArkUINodeHandle node, ArkUIRadioStyleOption* options);
5355     void (*setRadioValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
5356     void (*resetRadioValue)(ArkUINodeHandle node);
5357     ArkUI_CharPtr (*getRadioValue)(ArkUINodeHandle node);
5358     void (*setRadioGroup)(ArkUINodeHandle node, ArkUI_CharPtr value);
5359     void (*resetRadioGroup)(ArkUINodeHandle node);
5360     ArkUI_CharPtr (*getRadioGroup)(ArkUINodeHandle node);
5361     void (*setRadioOptions)(ArkUINodeHandle node, ArkUI_CharPtr value, ArkUI_CharPtr group, ArkUI_Uint32 indicatorType);
5362     void (*setRadioOnChange)(ArkUINodeHandle node, void* callback);
5363     void (*resetRadioOnChange)(ArkUINodeHandle node);
5364 };
5365 
5366 struct ArkUIPatternLockControllerModifier {
5367     ArkUINodeHandle (*getPatternLockController)(ArkUINodeHandle node);
5368     void (*setPatternLockReset)(ArkUINodeHandle node);
5369 };
5370 
5371 struct ArkUIPatternLockModifier {
5372     void (*setPatternLockActiveColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
5373     void (*resetPatternLockActiveColor)(ArkUINodeHandle node);
5374     void (*setPatternLockCircleRadius)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5375     void (*resetPatternLockCircleRadius)(ArkUINodeHandle node);
5376     void (*setPatternLockSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
5377     void (*resetPatternLockSelectedColor)(ArkUINodeHandle node);
5378     void (*setPatternLockSideLength)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5379     void (*resetPatternLockSideLength)(ArkUINodeHandle node);
5380     void (*setPatternLockAutoReset)(ArkUINodeHandle node, ArkUI_Uint32 value);
5381     void (*resetPatternLockAutoReset)(ArkUINodeHandle node);
5382     void (*setPatternLockPathStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5383     void (*resetPatternLockPathStrokeWidth)(ArkUINodeHandle node);
5384     void (*setPatternLockRegularColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5385     void (*resetPatternLockRegularColor)(ArkUINodeHandle node);
5386     void (*setPatternLockPathColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5387     void (*resetPatternLockPathColor)(ArkUINodeHandle node);
5388     void (*setPatternLockActiveCircleColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
5389     void (*resetPatternLockActiveCircleColor)(ArkUINodeHandle node);
5390     void (*setPatternLockActiveCircleRadius)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
5391     void (*resetPatternLockActiveCircleRadius)(ArkUINodeHandle node);
5392     void (*setPatternLockEnableWaveEffect)(ArkUINodeHandle node, ArkUI_Uint32 value);
5393     void (*resetPatternLockEnableWaveEffect)(ArkUINodeHandle node);
5394     void (*setPatternLockEnableForeground)(ArkUINodeHandle node, ArkUI_Uint32 value);
5395     void (*resetPatternLockEnableForeground)(ArkUINodeHandle node);
5396     void (*setPatternLockSkipUnselectedPoint)(ArkUINodeHandle node, ArkUI_Uint32 value);
5397     void (*resetPatternLockSkipUnselectedPoint)(ArkUINodeHandle node);
5398     void (*setPatternLockOnPatternComplete)(ArkUINodeHandle node, void* callback);
5399     void (*resetPatternLockOnPatternComplete)(ArkUINodeHandle node);
5400     void (*setPatternLockOnDotConnect)(ArkUINodeHandle node, void* callback);
5401     void (*resetPatternLockOnDotConnect)(ArkUINodeHandle node);
5402 };
5403 
5404 struct ArkUIColumnSplitModifier {
5405     void (*setColumnSplitDivider)(
5406         ArkUINodeHandle node, ArkUI_Float32 stVal, ArkUI_Int32 stUnit, ArkUI_Float32 endVal, ArkUI_Int32 endUnit);
5407     void (*resetColumnSplitDivider)(ArkUINodeHandle node);
5408     void (*setColumnSplitResizable)(ArkUINodeHandle node, ArkUI_Bool resizable);
5409     void (*resetColumnSplitResizable)(ArkUINodeHandle node);
5410 };
5411 
5412 struct ArkUIRichEditorModifier {
5413     void (*setRichEditorEnableDataDetector)(ArkUINodeHandle node, ArkUI_Uint32 enableDataDetector);
5414     void (*resetRichEditorEnableDataDetector)(ArkUINodeHandle node);
5415     void (*setRichEditorDataDetectorConfigWithEvent)(
5416         ArkUINodeHandle node, const struct ArkUITextDetectConfigStruct* arkUITextDetectConfig);
5417     void (*resetRichEditorDataDetectorConfigWithEvent)(ArkUINodeHandle node);
5418     void (*setRichEditorOnIMEInputComplete)(ArkUINodeHandle node, void* callback);
5419     void (*resetRichEditorOnIMEInputComplete)(ArkUINodeHandle node);
5420     void (*setRichEditorCopyOptions)(ArkUINodeHandle node, ArkUI_Int32 copyOptionsValue);
5421     void (*resetRichEditorCopyOptions)(ArkUINodeHandle node);
5422     void (*setRichEditorOnSelectionChange)(ArkUINodeHandle node, void* callback);
5423     void (*resetRichEditorOnSelectionChange)(ArkUINodeHandle node);
5424     void (*setRichEditorCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5425     void (*resetRichEditorCaretColor)(ArkUINodeHandle node);
5426     void (*setRichEditorOnSelect)(ArkUINodeHandle node, void* callback);
5427     void (*resetRichEditorOnSelect)(ArkUINodeHandle node);
5428     void (*setRichEditorOnSubmit)(ArkUINodeHandle node, void* callback);
5429     void (*resetRichEditorOnSubmit)(ArkUINodeHandle node);
5430     void (*setRichEditorAboutToIMEInput)(ArkUINodeHandle node, void* callback);
5431     void (*resetRichEditorAboutToIMEInput)(ArkUINodeHandle node);
5432     void (*setOnReady)(ArkUINodeHandle node, void* callback);
5433     void (*resetOnReady)(ArkUINodeHandle node);
5434     void (*setOnDeleteComplete)(ArkUINodeHandle node, void* callback);
5435     void (*resetOnDeleteComplete)(ArkUINodeHandle node);
5436     void (*setOnEditingChange)(ArkUINodeHandle node, void* callback);
5437     void (*resetOnEditingChange)(ArkUINodeHandle node);
5438     void (*setRichEditorSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5439     void (*resetRichEditorSelectedBackgroundColor)(ArkUINodeHandle node);
5440     void (*setRichEditorOnPaste)(ArkUINodeHandle node, void* callback);
5441     void (*resetRichEditorOnPaste)(ArkUINodeHandle node);
5442     void (*setRichEditorOnCut)(ArkUINodeHandle node, void* callback);
5443     void (*resetRichEditorOnCut)(ArkUINodeHandle node);
5444     void (*setRichEditorOnCopy)(ArkUINodeHandle node, void* callback);
5445     void (*resetRichEditorOnCopy)(ArkUINodeHandle node);
5446     void (*setRichEditorEnterKeyType)(ArkUINodeHandle node, ArkUI_Uint32 enterKeyType);
5447     void (*resetRichEditorEnterKeyType)(ArkUINodeHandle node);
5448     void (*setRichEditorEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Bool value);
5449     void (*resetRichEditorEnableKeyboardOnFocus)(ArkUINodeHandle node);
5450     void (*setRichEditorEnablePreviewText)(ArkUINodeHandle node, ArkUI_Bool value);
5451     void (*resetRichEditorEnablePreviewText)(ArkUINodeHandle node);
5452     void (*setRichEditorEditMenuOptions)(
5453         ArkUINodeHandle node, void* onCreateMenuCallback, void* onMenuItemClickCallback);
5454     void (*resetRichEditorEditMenuOptions)(ArkUINodeHandle node);
5455     void (*setRichEditorOnWillChange)(ArkUINodeHandle node, void* callback);
5456     void (*resetRichEditorOnWillChange)(ArkUINodeHandle node);
5457     void (*setRichEditorOnDidChange)(ArkUINodeHandle node, void* callback);
5458     void (*resetRichEditorOnDidChange)(ArkUINodeHandle node);
5459     void (*setRichEditorPlaceholder)(ArkUINodeHandle node, ArkUI_CharPtr* stringParameters,
5460         const ArkUI_Uint32 stringParametersCount, const ArkUI_Float64* valuesArray, const ArkUI_Uint32 valuesCount);
5461     void (*resetRichEditorPlaceholder)(ArkUINodeHandle node);
5462     void (*setRichEditorAboutToDelete)(ArkUINodeHandle node, void* callback);
5463     void (*resetRichEditorAboutToDelete)(ArkUINodeHandle node);
5464     void (*setRichEditorBarState)(ArkUINodeHandle node, ArkUI_Uint32 barStateValue);
5465     void (*resetRichEditorBarState)(ArkUINodeHandle node);
5466     void (*setRichEditorMaxLength)(ArkUINodeHandle node, ArkUI_Uint32 maxLength);
5467     void (*resetRichEditorMaxLength)(ArkUINodeHandle node);
5468     void (*setRichEditorMaxLines)(ArkUINodeHandle node, ArkUI_Uint32 maxLine);
5469     void (*resetRichEditorMaxLines)(ArkUINodeHandle node);
5470     void (*setRichEditorStopBackPress)(ArkUINodeHandle node, ArkUI_Uint32 isStopBackPress);
5471     void (*resetRichEditorStopBackPress)(ArkUINodeHandle node);
5472     void (*setRichEditorKeyboardAppearance)(ArkUINodeHandle node, ArkUI_Uint32 keyboardAppearance);
5473     void (*resetRichEditorKeyboardAppearance)(ArkUINodeHandle node);
5474 };
5475 
5476 struct ArkUIRichEditorControllerModifier {
5477     ArkUINodeHandle (*getRichEditorController)(ArkUINodeHandle node);
5478 };
5479 
5480 struct ArkUILinearIndicatorModifier {
5481     void (*setLinearIndicatorIndicatorStyleSpace)(ArkUINodeHandle node, ArkUI_Float32 space, ArkUI_Int32 unit);
5482     void (*resetLinearIndicatorIndicatorStyleSpace)(ArkUINodeHandle node);
5483     void (*setLinearIndicatorIndicatorStyleStrokeWidth)(
5484         ArkUINodeHandle node, ArkUI_Float32 strokeWidth, ArkUI_Int32 unit);
5485     void (*resetLinearIndicatorIndicatorStyleStrokeWidth)(ArkUINodeHandle node);
5486     void (*setLinearIndicatorIndicatorStyleStrokeRadius)(
5487         ArkUINodeHandle node, ArkUI_Float32 strokeRadius, ArkUI_Int32 unit);
5488     void (*resetLinearIndicatorIndicatorStyleStrokeRadius)(ArkUINodeHandle node);
5489     void (*setLinearIndicatorIndicatorStyleTrackBackgroundColor)(
5490         ArkUINodeHandle node, ArkUI_Uint32 trackBackgroundColor);
5491     void (*resetLinearIndicatorIndicatorStyleTrackBackgroundColor)(ArkUINodeHandle node);
5492     void (*setLinearIndicatorIndicatorStyleTrackColor)(ArkUINodeHandle node, ArkUI_Uint32 trackColor);
5493     void (*resetLinearIndicatorIndicatorStyleTrackColor)(ArkUINodeHandle node);
5494     void (*setLinearIndicatorIndicatorLoop)(ArkUINodeHandle node, ArkUI_Bool value);
5495     void (*resetLinearIndicatorIndicatorLoop)(ArkUINodeHandle node);
5496     void (*setLinearIndicatorOnChange)(ArkUINodeHandle node, void* callback);
5497     void (*resetLinearIndicatorOnChange)(ArkUINodeHandle node);
5498 };
5499 
5500 struct ArkUIDataPanelModifier {
5501     void (*setCloseEffect)(ArkUINodeHandle node, ArkUI_Bool value);
5502     void (*resetCloseEffect)(ArkUINodeHandle node);
5503     void (*setDataPanelTrackBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
5504     void (*resetDataPanelTrackBackgroundColor)(ArkUINodeHandle node);
5505     void (*setDataPanelStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5506     void (*resetDataPanelStrokeWidth)(ArkUINodeHandle node);
5507     void (*setValueColors)(ArkUINodeHandle node, const struct ArkUIGradientType* gradient);
5508     void (*resetValueColors)(ArkUINodeHandle node);
5509     void (*setTrackShadow)(ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Float32 radius,
5510         ArkUI_Float32 offsetX, ArkUI_Float32 offsetY);
5511     void (*setNullTrackShadow)(ArkUINodeHandle node);
5512     void (*resetTrackShadow)(ArkUINodeHandle node);
5513 };
5514 
5515 struct ArkUIQRCodeModifier {
5516     void (*setQRColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5517     void (*resetQRColor)(ArkUINodeHandle node);
5518     void (*setQRBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5519     void (*resetQRBackgroundColor)(ArkUINodeHandle node);
5520     void (*setContentOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
5521     void (*resetContentOpacity)(ArkUINodeHandle node);
5522     void (*setQRValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
5523 };
5524 
5525 struct ArkUIFormComponentModifier {
5526     void (*setFormVisibility)(ArkUINodeHandle node, ArkUI_Int32 visible);
5527     void (*allowUpdate)(ArkUINodeHandle node, ArkUI_Bool value);
5528     void (*setDimension)(ArkUINodeHandle node, ArkUI_Int32 dimension);
5529     void (*setModuleName)(ArkUINodeHandle node, ArkUI_CharPtr value);
5530     void (*setFormSize)(ArkUINodeHandle node, ArkUI_Float32 widthValue, ArkUI_Int32 widthUnit,
5531         ArkUI_Float32 heightValue, ArkUI_Int32 heightUnit);
5532     void (*resetFormVisibility)(ArkUINodeHandle node);
5533     void (*disallowUpdate)(ArkUINodeHandle node);
5534     void (*resetDimension)(ArkUINodeHandle node);
5535     void (*resetModuleName)(ArkUINodeHandle node);
5536     void (*resetFormSize)(ArkUINodeHandle node);
5537 };
5538 
5539 struct ArkUITextAreaControllerModifier {
5540     ArkUINodeHandle (*getTextAreaController)(ArkUINodeHandle node);
5541 };
5542 
5543 struct ArkUICanvasRenderingContext2DModifier {
5544     ArkUINodeHandle (*getCanvasRenderingContext2D)(ArkUINodeHandle node);
5545     void (*setCanvasBeginPath)(ArkUINodeHandle node);
5546     void (*setCanvasClosePath)(ArkUINodeHandle node);
5547     void (*setCanvasFill)(ArkUINodeHandle node, ArkUI_CharPtr value);
5548     void (*setCanvasMoveTo)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y);
5549     void (*setCanvasArc)(ArkUINodeHandle node, ArkUICanvasArcOptions* options);
5550     void (*setCanvasLineTo)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y);
5551     void (*setCanvasStrokeStyle)(ArkUINodeHandle node, ArkUI_Int32 color);
5552     ArkUI_Int32 (*getCanvasStrokeStyle)(ArkUINodeHandle node);
5553     void (*setCanvasLineWidth)(ArkUINodeHandle node, ArkUI_Float32 width);
5554     ArkUI_Float32 (*getCanvasLineWidth)(ArkUINodeHandle node);
5555     void (*setCanvasStroke)(ArkUINodeHandle node);
5556     void (*setCanvasAntiAlias)(ArkUINodeHandle node, ArkUI_Bool antialias);
5557     void (*setCanvasFillColor)(ArkUINodeHandle node, ArkUI_Int32 color);
5558     ArkUI_Int32 (*getCanvasFillColor)(ArkUINodeHandle node);
5559     void (*setCanvasGlobalAlpha)(ArkUINodeHandle node, ArkUI_Float32 value);
5560     ArkUI_Float32 (*getCanvasGlobalAlpha)(ArkUINodeHandle node);
5561     void (*setCanvasFillRect)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 w, ArkUI_Float32 h);
5562     void (*setCanvasFillText)(
5563         ArkUINodeHandle node, ArkUI_CharPtr value, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 maxWidth);
5564 };
5565 
5566 struct ArkUIUtilsModifier {
5567     ArkUI_Float32 (*getDensity)(ArkUI_Int32 deviceId);
5568     ArkUI_Float32 (*getFontScale)(ArkUI_Int32 deviceId);
5569     ArkUI_Float32 (*getDesignWidthScale)(ArkUI_Int32 deviceId);
5570 };
5571 
5572 struct ArkUISideBarModifier {
5573     void (*setShowSideBar)(ArkUINodeHandle node, ArkUI_Bool value);
5574     void (*setControlButton)(ArkUINodeHandle node, ArkUI_Float32* position, ArkUI_Int32 positionArrayLength,
5575         ArkUI_CharPtr* showIcon, ArkUI_Int32 showArrayLength, ArkUI_CharPtr* hiddenIcon, ArkUI_Int32 hiddenArrayLength,
5576         ArkUI_CharPtr* switchingIcon, ArkUI_Int32 switchingArrayLength);
5577     void (*setShowControlButton)(ArkUINodeHandle node, ArkUI_Bool value);
5578     void (*setSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5579     void (*setMinSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5580     void (*setMaxSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5581     void (*setAutoHide)(ArkUINodeHandle node, ArkUI_Bool value);
5582     void (*setSideBarPosition)(ArkUINodeHandle node, ArkUI_Int32 unit);
5583     void (*setSideBarDivider)(ArkUINodeHandle node, ArkUI_Float32* strokeWidth, ArkUI_Int32 color,
5584         ArkUI_Float32* startMargin, ArkUI_Float32* endMargin);
5585     void (*setMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
5586 };
5587 
5588 struct ArkUIXComponentModifier {
5589     // loadXComponent() returns VM-specific handle produced by
5590     // ArkNativeEngine::LoadModuleByName(). vmKind parameters allows to
5591     // differentiate which VM shall be used to load. Embedder code must use kind
5592     // matching VM we're embedding into. errorCallbackId is invoked if operation
5593     // cannot be completed.
5594     void (*setXComponentEnableAnalyzer)(ArkUINodeHandle node, ArkUI_Bool enable);
5595     void (*resetXComponentEnableAnalyzer)(ArkUINodeHandle node);
5596     void (*setXComponentBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5597     void (*resetXComponentBackgroundColor)(ArkUINodeHandle node);
5598     void (*setXComponentOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
5599     void (*resetXComponentOpacity)(ArkUINodeHandle node);
5600     void (*setXComponentId)(ArkUINodeHandle node, ArkUI_CharPtr id);
5601     void (*setXComponentType)(ArkUINodeHandle node, ArkUI_Uint32 type);
5602     void (*setXComponentSurfaceSize)(ArkUINodeHandle node, ArkUI_Uint32 width, ArkUI_Uint32 height);
5603     ArkUI_CharPtr (*getXComponentId)(ArkUINodeHandle node);
5604     ArkUI_Int32 (*getXComponentType)(ArkUINodeHandle node);
5605     ArkUI_Uint32 (*getXComponentSurfaceWidth)(ArkUINodeHandle node);
5606     ArkUI_Uint32 (*getXComponentSurfaceHeight)(ArkUINodeHandle node);
5607     void* (*getNativeXComponent)(ArkUINodeHandle node);
5608     void (*setXComponentLibraryname)(ArkUINodeHandle node, ArkUI_CharPtr libraryname);
5609     void (*setImageAIOptions)(ArkUINodeHandle node, void* options);
5610     void (*initXComponent)(ArkUINodeHandle node);
5611     void (*setXComponentEnableSecure)(ArkUINodeHandle node, ArkUI_Bool enable);
5612     void (*resetXComponentEnableSecure)(ArkUINodeHandle node);
5613     void (*setXComponentHdrBrightness)(ArkUINodeHandle node, ArkUI_Float32 hdrBrightness);
5614     void (*resetXComponentHdrBrightness)(ArkUINodeHandle node);
5615     void (*setXComponentEnableTransparentLayer)(ArkUINodeHandle node, ArkUI_Bool enable);
5616     void (*resetXComponentEnableTransparentLayer)(ArkUINodeHandle node);
5617     void (*setXComponentRenderFit)(ArkUINodeHandle node, ArkUI_Int32 renderFit);
5618     void (*resetXComponentRenderFit)(ArkUINodeHandle node);
5619     ArkUI_Int32 (*getXComponentRenderFit)(ArkUINodeHandle node);
5620     void (*setXComponentSurfaceRect)(ArkUINodeHandle node, ArkUI_Int32 offsetX, ArkUI_Int32 offsetY,
5621         ArkUI_Int32 surfaceWidth, ArkUI_Int32 surfaceHeight);
5622     void (*getXComponentSurfaceRect)(ArkUINodeHandle node, ArkUI_Int32& offsetX, ArkUI_Int32& offsetY,
5623         ArkUI_Int32& surfaceWidth, ArkUI_Int32& surfaceHeight);
5624     void (*resetXComponentSurfaceRect)(ArkUINodeHandle node);
5625     ArkUI_Bool (*getXComponentEnableAnalyzer)(ArkUINodeHandle node);
5626     void (*startImageAnalyzer)(ArkUINodeHandle node, void* arkuiNode, void* userData,
5627         XComponentAnalyzerCallback callback);
5628     void (*stopImageAnalyzer)(ArkUINodeHandle node);
5629     void* (*createSurfaceHolder)(ArkUINodeHandle node);
5630     void (*dispose)(ArkUINodeHandle node);
5631     ArkUI_Int32 (*setAutoInitialize)(ArkUINodeHandle node, ArkUI_Bool autoInitialize);
5632     ArkUI_Int32 (*initialize)(ArkUINodeHandle node);
5633     ArkUI_Int32 (*isInitialized)(ArkUINodeHandle node, ArkUI_Bool* isInitialized);
5634     ArkUI_Int32 (*finalize)(ArkUINodeHandle node);
5635     ArkUI_Bool (*getXComponentIsBindNative)(ArkUINodeHandle node);
5636 };
5637 
5638 struct ArkUIStateModifier {
5639     ArkUI_Int64 (*getUIState)(ArkUINodeHandle node);
5640     void (*setSupportedUIState)(ArkUINodeHandle node, ArkUI_Int64 state);
5641 };
5642 
5643 struct ArkUIRenderNodeModifier {
5644     void (*appendChild)(ArkUINodeHandle node, ArkUINodeHandle child);
5645     void (*insertChildAfter)(ArkUINodeHandle node, ArkUINodeHandle child, ArkUINodeHandle sibling);
5646     void (*removeChild)(ArkUINodeHandle node, ArkUINodeHandle child);
5647     void (*clearChildren)(ArkUINodeHandle node);
5648     void (*setClipToFrame)(ArkUINodeHandle node, ArkUI_Bool useClip);
5649     void (*setRotation)(ArkUINodeHandle node, ArkUI_Float32 rotationX, ArkUI_Float32 rotationY, ArkUI_Float32 rotationZ,
5650         ArkUI_Int32 unitValue);
5651     void (*setShadowColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
5652     void (*setShadowOffset)(ArkUINodeHandle node, ArkUI_Float32 offsetX, ArkUI_Float32 offsetY, ArkUI_Int32 unitValue);
5653     void (*setLabel)(ArkUINodeHandle node, ArkUI_CharPtr label);
5654     void (*setShadowAlpha)(ArkUINodeHandle node, ArkUI_Float32 alpha);
5655     void (*setShadowElevation)(ArkUINodeHandle node, ArkUI_Float32 elevation);
5656     void (*setShadowRadius)(ArkUINodeHandle node, ArkUI_Float32 radius);
5657     void (*invalidate)(ArkUINodeHandle node);
5658     void (*setScale)(ArkUINodeHandle node, ArkUI_Float32 scaleX, ArkUI_Float32 scaleY);
5659     void (*setRenderNodeBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 colorValue);
5660     void (*setPivot)(ArkUINodeHandle node, ArkUI_Float32 pivotX, ArkUI_Float32 pivotY);
5661     void (*setFrame)(ArkUINodeHandle node, ArkUI_Float32 positionX, ArkUI_Float32 positionY, ArkUI_Float32 width,
5662         ArkUI_Float32 height);
5663     void (*setSize)(ArkUINodeHandle node, ArkUI_Float32 width, ArkUI_Float32 height, ArkUI_Int32 unitValue);
5664     void (*setOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
5665     void (*setTranslate)(
5666         ArkUINodeHandle node, ArkUI_Float32 translateX, ArkUI_Float32 translateY, ArkUI_Float32 translateZ);
5667     void (*setBorderStyle)(
5668         ArkUINodeHandle node, ArkUI_Int32 left, ArkUI_Int32 top, ArkUI_Int32 right, ArkUI_Int32 bottom);
5669     void (*setBorderWidth)(ArkUINodeHandle node, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
5670         ArkUI_Float32 bottom, ArkUI_Int32 unitValue);
5671     void (*setBorderColor)(
5672         ArkUINodeHandle node, ArkUI_Uint32 left, ArkUI_Uint32 top, ArkUI_Uint32 right, ArkUI_Uint32 bottom);
5673     void (*setBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 topLeft, ArkUI_Float32 topRight,
5674         ArkUI_Float32 bottomLeft, ArkUI_Float32 bottomRight, ArkUI_Int32 unitValue);
5675     void (*setRectMask)(ArkUINodeHandle node, ArkUI_Float32 rectX, ArkUI_Float32 rectY, ArkUI_Float32 rectW,
5676         ArkUI_Float32 rectH, ArkUI_Uint32 fillColor, ArkUI_Uint32 strokeColor, ArkUI_Float32 strokeWidth);
5677     void (*setCircleMask)(ArkUINodeHandle node, ArkUI_Float32 centerXValue, ArkUI_Float32 centerYValue,
5678         ArkUI_Float32 radiusValue, ArkUI_Uint32 fillColor, ArkUI_Uint32 strokeColor, ArkUI_Float32 strokeWidth);
5679     void (*setRoundRectMask)(ArkUINodeHandle node, const ArkUI_Float32* roundRect, const ArkUI_Uint32 roundRectSize,
5680         ArkUI_Uint32 fillColor, ArkUI_Uint32 strokeColor, ArkUI_Float32 strokeWidth);
5681     void (*setOvalMask)(ArkUINodeHandle node, ArkUI_Float32 rectX, ArkUI_Float32 rectY, ArkUI_Float32 rectW,
5682         ArkUI_Float32 rectH, ArkUI_Uint32 fillColor, ArkUI_Uint32 strokeColor, ArkUI_Float32 strokeWidth);
5683     void (*setCommandPathMask)(ArkUINodeHandle node, ArkUI_CharPtr commands, ArkUI_Uint32 fillColor,
5684         ArkUI_Uint32 strokeColor, ArkUI_Float32 strokeWidth);
5685     void (*setRectClip)(ArkUINodeHandle node, ArkUI_Float32 rectX, ArkUI_Float32 rectY, ArkUI_Float32 rectW,
5686         ArkUI_Float32 rectH);
5687     void (*setCircleClip)(ArkUINodeHandle node, ArkUI_Float32 centerXValue, ArkUI_Float32 centerYValue,
5688         ArkUI_Float32 radiusValue);
5689     void (*setRoundRectClip)(ArkUINodeHandle node, const ArkUI_Float32* roundRect, const ArkUI_Uint32 roundRectSize);
5690     void (*setOvalClip)(ArkUINodeHandle node, ArkUI_Float32 rectX, ArkUI_Float32 rectY, ArkUI_Float32 rectW,
5691         ArkUI_Float32 rectH);
5692     void (*setCommandPathClip)(ArkUINodeHandle node, ArkUI_CharPtr commands);
5693     void (*setPosition)(ArkUINodeHandle node, ArkUI_Float32 xAxis, ArkUI_Float32 yAxis, ArkUI_Int32 unitValue);
5694     void (*setMarkNodeGroup)(ArkUINodeHandle node, ArkUI_Bool isNodeGroup);
5695     void (*setTransformScale)(ArkUINodeHandle node, ArkUI_Float32 xF, ArkUI_Float32 yF);
5696 };
5697 
5698 struct ArkUIFrameNodeModifier {
5699     ArkUI_Bool (*isModifiable)(ArkUINodeHandle node);
5700     ArkUINodeHandle (*createFrameNode)();
5701     void (*invalidate)(ArkUINodeHandle node);
5702     ArkUI_Bool (*appendChild)(ArkUINodeHandle node, ArkUINodeHandle child);
5703     ArkUI_Bool (*insertChildAfter)(ArkUINodeHandle node, ArkUINodeHandle child, ArkUINodeHandle sibling);
5704     void (*removeChild)(ArkUINodeHandle node, ArkUINodeHandle child);
5705     void (*clearChildren)(ArkUINodeHandle node);
5706     ArkUI_Uint32 (*getChildrenCount)(ArkUINodeHandle node, ArkUI_Bool isExpanded);
5707     ArkUINodeHandle (*getChild)(ArkUINodeHandle node, ArkUI_Int32 index, ArkUI_Uint32 expandMode);
5708     ArkUI_Int32 (*getFirstChildIndexWithoutExpand)(ArkUINodeHandle node, ArkUI_Uint32* index);
5709     ArkUI_Int32 (*getLastChildIndexWithoutExpand)(ArkUINodeHandle node, ArkUI_Uint32* index);
5710     ArkUINodeHandle (*getFirst)(ArkUINodeHandle node, ArkUI_Bool isExpanded);
5711     ArkUINodeHandle (*getNextSibling)(ArkUINodeHandle node, ArkUI_Bool isExpanded);
5712     ArkUINodeHandle (*getPreviousSibling)(ArkUINodeHandle node, ArkUI_Bool isExpanded);
5713     ArkUINodeHandle (*getParent)(ArkUINodeHandle node);
5714     ArkUI_Int32 (*getIdByNodePtr)(ArkUINodeHandle node);
5715     void (*getPositionToParent)(ArkUINodeHandle node, ArkUI_Float32 (*parentOffset)[2], ArkUI_Bool useVp);
5716     void (*getPositionToScreen)(ArkUINodeHandle node, ArkUI_Float32 (*screenPosition)[2], ArkUI_Bool useVp);
5717     void (*getPositionToWindow)(ArkUINodeHandle node, ArkUI_Float32 (*windowOffset)[2], ArkUI_Bool useVp);
5718     void (*getPositionToParentWithTransform)(
5719         ArkUINodeHandle node, ArkUI_Float32 (*parentPosition)[2], ArkUI_Bool useVp);
5720     void (*getPositionToScreenWithTransform)(
5721         ArkUINodeHandle node, ArkUI_Float32 (*screenPosition)[2], ArkUI_Bool useVp);
5722     void (*getPositionToWindowWithTransform)(
5723         ArkUINodeHandle node, ArkUI_Float32 (*windowPosition)[2], ArkUI_Bool useVp);
5724     ArkUI_Float32* (*getMeasuredSize)(ArkUINodeHandle node);
5725     ArkUI_Float32* (*getLayoutPosition)(ArkUINodeHandle node);
5726     ArkUI_CharPtr (*getInspectorId)(ArkUINodeHandle node);
5727     ArkUI_CharPtr (*getNodeType)(ArkUINodeHandle node);
5728     ArkUI_Bool (*isVisible)(ArkUINodeHandle node);
5729     ArkUI_Bool (*isAttached)(ArkUINodeHandle node);
5730     ArkUI_CharPtr (*getInspectorInfo)(ArkUINodeHandle node);
5731     ArkUINodeHandle (*getFrameNodeById)(ArkUI_Int32 nodeId);
5732     ArkUINodeHandle (*getFrameNodeByUniqueId)(ArkUI_Int32 uniqueId);
5733     ArkUINodeHandle (*getFrameNodeByKey)(ArkUI_CharPtr key);
5734     ArkUINodeHandle (*getAttachedFrameNodeById)(ArkUI_CharPtr key);
5735     void (*propertyUpdate)(ArkUINodeHandle node);
5736     ArkUINodeHandle (*getLast)(ArkUINodeHandle node, ArkUI_Bool isExpanded);
5737     ArkUINodeHandle (*getFirstUINode)(ArkUINodeHandle node);
5738     void (*getLayoutSize)(ArkUINodeHandle node, ArkUI_Int32* size);
5739     ArkUI_Float32* (*getLayoutPositionWithoutMargin)(ArkUINodeHandle node);
5740     ArkUI_Int32 (*setSystemColorModeChangeEvent)(ArkUINodeHandle node, void* userData, void* onColorModeChange);
5741     void (*resetSystemColorModeChangeEvent)(ArkUINodeHandle node);
5742     ArkUI_Int32 (*setSystemFontStyleChangeEvent)(ArkUINodeHandle node, void* userData, void* onFontStyleChange);
5743     void (*resetSystemFontStyleChangeEvent)(ArkUINodeHandle node);
5744     ArkUI_Uint32 (*getCustomPropertyCapiByKey)(
5745         ArkUINodeHandle node, ArkUI_CharPtr key, char** value, ArkUI_Uint32* size);
5746     void (*setCustomPropertyModiferByKey)(ArkUINodeHandle node, void* callback, void* getCallback);
5747     void (*addCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key, ArkUI_CharPtr value);
5748     void (*removeCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key);
5749     void (*freeCustomPropertyCharPtr)(char* value, ArkUI_Uint32 size);
5750     ArkUINodeHandle (*getCurrentPageRootNode)(ArkUINodeHandle node);
5751     ArkUI_Int32 (*getNodeTag)(ArkUINodeHandle node);
5752     void (*getActiveChildrenInfo)(ArkUINodeHandle handle, ArkUINodeHandle** items, ArkUI_Int32* size);
5753     void (*getCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key, char** value);
5754     void (*addExtraCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key, void* extraData);
5755     void* (*getExtraCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key);
5756     void (*removeExtraCustomProperty)(ArkUINodeHandle node, ArkUI_CharPtr key);
5757     void (*getCustomPropertyByKey)(ArkUINodeHandle node, ArkUI_CharPtr key, char** value, ArkUI_Uint32* size);
5758     void (*addNodeDestroyCallback)(ArkUINodeHandle node, ArkUI_CharPtr key, void (*onDestroy)(ArkUINodeHandle node));
5759     void (*removeNodeDestroyCallback)(ArkUINodeHandle node, ArkUI_CharPtr key);
5760     ArkUI_Int32 (*setDrawCompleteEvent)(ArkUINodeHandle node, void* userData, void* onDraw);
5761     ArkUI_Int32 (*resetDrawCompleteEvent)(ArkUINodeHandle node);
5762     ArkUI_Int32 (*setLayoutEvent)(ArkUINodeHandle node, void* userData, void* onDraw);
5763     ArkUI_Int32 (*resetLayoutEvent)(ArkUINodeHandle node);
5764     ArkUI_Int32 (*requestFocus)(ArkUINodeHandle node);
5765     void (*clearFocus)(ArkUI_Int32 instanceId);
5766     void (*focusActivate)(ArkUI_Int32 instanceId, bool isActive, bool isAutoInactive);
5767     void (*setAutoFocusTransfer)(ArkUI_Int32 instanceId, bool isAutoFocusTransfer);
5768     ArkUI_Int32 (*getWindowInfoByNode)(ArkUINodeHandle node, char** name);
5769     ArkUI_Int32 (*moveNodeTo)(ArkUINodeHandle node, ArkUINodeHandle target_parent, ArkUI_Int32 index);
5770     ArkUI_Int32 (*setCrossLanguageOptions)(ArkUINodeHandle node, bool attributeSetting);
5771     ArkUI_Bool (*getCrossLanguageOptions)(ArkUINodeHandle node);
5772     ArkUI_Bool (*checkIfCanCrossLanguageAttributeSetting)(ArkUINodeHandle node);
5773     void (*setKeyProcessingMode)(ArkUI_Int32 instanceId, ArkUI_Int32 mode);
5774 };
5775 
5776 struct ArkUINodeContentEvent {
5777     ArkUI_Int32 type;
5778     void* userData;
5779     ArkUINodeContentHandle nodeContent;
5780 };
5781 
5782 struct ArkUINodeContentModifier {
5783     ArkUI_Int32 (*addChild)(ArkUINodeContentHandle content, ArkUINodeHandle child);
5784     ArkUI_Int32 (*insertChild)(ArkUINodeContentHandle content, ArkUINodeHandle child, ArkUI_Int32 position);
5785     ArkUI_Int32 (*removeChild)(ArkUINodeContentHandle content, ArkUINodeHandle child);
5786     ArkUI_Int32 (*registerEvent)(
5787         ArkUINodeContentHandle content, void* userData, void (*receiver)(ArkUINodeContentEvent* event));
5788     ArkUI_Int32 (*setUserData)(ArkUINodeContentHandle content, void* userData);
5789     void* (*getUserData)(ArkUINodeContentHandle content);
5790 };
5791 
5792 struct ArkUIAnimation {
5793     ArkUI_Int32 (*startAnimation)(const ArkUIAPIAnimationSpec* spec, ArkUI_Int32 callbackId);
5794     void (*openImplicitAnimation)(
5795         ArkUIVMContext vmContext, ArkUI_Int32 curve, ArkUI_Float32* options, ArkUI_Int32 callbackId);
5796     void (*closeImplicitAnimation)();
5797     void (*animateTo)(ArkUIContext* context, ArkUIAnimateOption option, void* event, void* userData);
5798     void (*keyframeAnimateTo)(ArkUIContext* context, ArkUIKeyframeAnimateOption* option);
5799     ArkUIAnimatorHandle (*createAnimator)(ArkUIContext* context, ArkUIAnimatorOption* option);
5800     void (*disposeAnimator)(ArkUIAnimatorHandle animator);
5801     ArkUI_Int32 (*animatorReset)(ArkUIAnimatorHandle animator, ArkUIAnimatorOption* option);
5802     ArkUI_Int32 (*animatorPlay)(ArkUIAnimatorHandle animator);
5803     ArkUI_Int32 (*animatorFinish)(ArkUIAnimatorHandle animator);
5804     ArkUI_Int32 (*animatorPause)(ArkUIAnimatorHandle animator);
5805     ArkUI_Int32 (*animatorCancel)(ArkUIAnimatorHandle animator);
5806     ArkUI_Int32 (*animatorReverse)(ArkUIAnimatorHandle animator);
5807     ArkUICurveHandle (*initCurve)(ArkUI_Int32 curve);
5808     ArkUICurveHandle (*stepsCurve)(ArkUI_Int32 count, ArkUI_Bool end);
5809     ArkUICurveHandle (*cubicBezierCurve)(ArkUI_Float32 x1, ArkUI_Float32 y1, ArkUI_Float32 x2, ArkUI_Float32 y2);
5810     ArkUICurveHandle (*springCurve)(
5811         ArkUI_Float32 velocity, ArkUI_Float32 mass, ArkUI_Float32 stiffness, ArkUI_Float32 damping);
5812     ArkUICurveHandle (*springMotion)(
5813         ArkUI_Float32 response, ArkUI_Float32 dampingFraction, ArkUI_Float32 overlapDuration);
5814     ArkUICurveHandle (*responsiveSpringMotion)(
5815         ArkUI_Float32 response, ArkUI_Float32 dampingFraction, ArkUI_Float32 overlapDuration);
5816     ArkUICurveHandle (*interpolatingSpring)(
5817         ArkUI_Float32 velocity, ArkUI_Float32 mass, ArkUI_Float32 stiffness, ArkUI_Float32 damping);
5818     ArkUICurveHandle (*customCurve)(
5819         ArkUI_Float32 (*interpolate)(ArkUI_Float32 fraction, void* userdata), void* userdata);
5820     void (*disposeCurve)(ArkUICurveHandle curve);
5821 };
5822 struct ArkUINavigation {
5823     void (*popPageToIndex)(ArkUI_Int32 index);
5824     void (*setNavDestinationBackPressed)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Int32 indexerId);
5825     ArkUI_Int32 (*getNavigationId)(
5826         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5827     ArkUI_Int32 (*getNavDestinationName)(
5828         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5829     ArkUI_Int32 (*getStackLength)(ArkUINodeHandle node);
5830     ArkUI_Int32 (*getNavDesNameByIndex)(
5831         ArkUINodeHandle node, ArkUI_Int32 index, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5832     ArkUI_Int32 (*getNavDestinationId)(
5833         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5834     ArkUI_Int32 (*getNavDestinationState)(ArkUINodeHandle node);
5835     ArkUI_Int32 (*getNavDestinationIndex)(ArkUINodeHandle node);
5836     void* (*getNavDestinationParam)(ArkUINodeHandle node);
5837     ArkUI_Int32 (*getRouterPageIndex)(ArkUINodeHandle node);
5838     ArkUI_Int32 (*getRouterPageName)(
5839         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5840     ArkUI_Int32 (*getRouterPagePath)(
5841         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5842     ArkUI_Int32 (*getRouterPageState)(ArkUINodeHandle node);
5843     ArkUI_Int32 (*getRouterPageId)(
5844         ArkUINodeHandle node, char* buffer, ArkUI_Int32 bufferSize, ArkUI_Int32* writeLen);
5845 };
5846 
5847 struct ArkUIGraphicsCanvas {
5848     void (*finalize)(ArkUICanvasHandle canvas);
5849 
5850     void (*drawPoint)(ArkUICanvasHandle canvas, ArkUI_Float32 x, ArkUI_Float32 y, ArkUIPaintHandle paint);
5851     void (*drawPoints)(
5852         ArkUICanvasHandle canvas, ArkUI_Int32 mode, ArkUI_Float32* coords, ArkUI_Int32 count, ArkUIPaintHandle paint);
5853     void (*drawLine)(ArkUICanvasHandle canvas, ArkUI_Float32 x0, ArkUI_Float32 y0, ArkUI_Float32 x1, ArkUI_Float32 y1,
5854         ArkUIPaintHandle paint);
5855     void (*drawArc)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
5856         ArkUI_Float32 bottom, ArkUI_Float32 startAngle, ArkUI_Float32 sweepAngle, ArkUI_Bool includeCenter,
5857         ArkUIPaintHandle paint);
5858     void (*drawRect)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
5859         ArkUI_Float32 bottom, ArkUIPaintHandle paint);
5860     void (*drawOval)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
5861         ArkUI_Float32 bottom, ArkUIPaintHandle paint);
5862     void (*drawCircle)(
5863         ArkUICanvasHandle canvas, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 radius, ArkUIPaintHandle paintPtr);
5864     void (*drawRRect)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
5865         ArkUI_Float32 bottom, ArkUI_Float32* jradii, ArkUI_Int32 jradiiSize, ArkUIPaintHandle paintPtr);
5866     void (*drawDRRect)(ArkUICanvasHandle canvas, ArkUI_Float32 ol, ArkUI_Float32 ot, ArkUI_Float32 oright,
5867         ArkUI_Float32 ob, ArkUI_Float32* ojradii, ArkUI_Int32 ojradiiSize, ArkUI_Float32 il, ArkUI_Float32 it,
5868         ArkUI_Float32 ir, ArkUI_Float32 ib, ArkUI_Float32* ijradii, ArkUI_Int32 ijradiiSize, ArkUIPaintHandle paint);
5869     void (*drawString)(ArkUICanvasHandle canvas, ArkUI_CharPtr string, ArkUI_Float32 x, ArkUI_Float32 y,
5870         ArkUIFontHandle font, ArkUIPaintHandle paint);
5871 };
5872 
5873 struct ArkUIGraphicsPaint {
5874     ArkUIPaintHandle (*make)();
5875     void (*finalize)(ArkUIPaintHandle handle);
5876 
5877     void (*setColor)(ArkUIPaintHandle paint, ArkUI_Int32 color);
5878     ArkUI_Int32 (*getColor)(ArkUIPaintHandle paint);
5879     void (*setAlpha)(ArkUIPaintHandle paint, ArkUI_Float32 alpha);
5880     ArkUI_Float32 (*getAlpha)(ArkUIPaintHandle paint);
5881 };
5882 
5883 struct ArkUIGraphicsFont {
5884     ArkUIFontHandle (*makeDefault)();
5885     void (*finalize)(ArkUIPaintHandle handle);
5886 };
5887 
5888 struct ArkUIGraphicsAPI {
5889     ArkUI_Int32 version;
5890     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
5891 
5892     /**
5893      * Graphics.
5894      */
5895     const ArkUIGraphicsCanvas* (*getCanvasAPI)();
5896     const ArkUIGraphicsPaint* (*getPaintAPI)();
5897     const ArkUIGraphicsFont* (*getFontAPI)();
5898 };
5899 
5900 struct ArkUIRelativeContainerModifier {
5901     void (*setGuideLine)(ArkUINodeHandle node, ArkUIGuidelineStyle* values, ArkUI_Int32 size);
5902     void (*setBarrier)(ArkUINodeHandle node, ArkUIBarrierStyle* values, ArkUI_Int32 size);
5903     void (*getGuideLine)(ArkUINodeHandle node, ArkUIGuidelineStyle* values, ArkUI_Int32* size);
5904     void (*getBarrier)(ArkUINodeHandle node, ArkUIBarrierStyle* values, ArkUI_Int32* size);
5905     void (*resetGuideline)(ArkUINodeHandle node);
5906     void (*resetBarrier)(ArkUINodeHandle node);
5907 };
5908 
5909 struct ArkUIContainerSpanModifier {
5910     void (*setContainerSpanTextBackgroundStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
5911         const ArkUI_Int32* units, ArkUI_Int32 length);
5912     void (*resetContainerSpanTextBackgroundStyle)(ArkUINodeHandle node);
5913 };
5914 
5915 typedef void (*CustomDrawFunc)(ArkUINodeHandle node, ArkUIDrawingContext context);
5916 struct ArkUICustomNodeExtModifier {
5917     ArkUI_Bool (*parseColorString)(ArkUI_CharPtr colorStr, ArkUI_Uint32* colorValue);
5918     ArkUI_Bool (*parseLengthString)(ArkUI_CharPtr lengthStr, ArkUI_Int32* unit,
5919         ArkUI_Float32* floatData, ArkUI_CommonCharPtr strData);
5920     ArkUI_Float64 (*getDpi)();
5921     ArkUI_Int32 (*getLayoutDirection)(ArkUINodeHandle node);
5922     void (*setCustomMeasure)(ArkUINodeHandle node,
5923         void (*setCustomMeasureCallback)(ArkUINodeHandle node, ArkUIConstraintSizeOptions option));
5924     void (*setCustomLayout)(ArkUINodeHandle node,
5925         void (*setCustomLayoutCallback)(ArkUINodeHandle node, ArkUIRect rect));
5926     void (*setCustomContentDraw)(ArkUINodeHandle node, CustomDrawFunc drawFunc);
5927     void (*setCustomForegroundDraw)(ArkUINodeHandle node, CustomDrawFunc drawFunc);
5928     void (*setCustomOverlayDraw)(ArkUINodeHandle node, CustomDrawFunc drawFunc);
5929     void (*setOnConfigUpdate)(ArkUINodeHandle node,
5930         void (*onConfigUpdate)(ArkUINodeHandle node, ArkUIConfigType type));
5931     void (*setOnModifyDone)(ArkUINodeHandle node, void (*onModifyDone)(ArkUINodeHandle node));
5932     void (*setOnDirtyLayoutWrapperSwap)(ArkUINodeHandle node,
5933         void (*onDirtySwap)(ArkUINodeHandle node, ArkUIDirtySwapConfig config));
5934     void (*setIsAtomic)(ArkUINodeHandle node, const ArkUI_Bool isAtomic);
5935 };
5936 
5937 struct ArkUIThemeModifier {
5938     ArkUINodeHandle (*createWithThemeNode)(ArkUI_Int32 id);
5939     ArkUINodeHandle (*getWithThemeNode)(ArkUI_Int32 id);
5940     ArkUINodeHandle (*createTheme)(ArkUI_Int32 themeId, const ArkUI_Uint32* colors, ArkUI_Int32 colorMode);
5941     void (*createThemeScope)(ArkUINodeHandle node, ArkUINodeHandle theme);
5942     void (*setDefaultTheme)(const ArkUI_Uint32* colors, ArkUI_Bool isDark);
5943     void (*removeFromCache)(ArkUI_Int32 themeId);
5944     void (*setOnThemeScopeDestroy)(ArkUINodeHandle node, void* callback);
5945 };
5946 
5947 /**
5948  * An API to control an implementation. When making changes modifying binary
5949  * layout, i.e. adding new events - increase ARKUI_NODE_API_VERSION above for binary
5950  * layout checks.
5951  */
5952 struct ArkUINodeModifiers {
5953     ArkUI_Int32 version;
5954     const ArkUICommonModifier* (*getCommonModifier)();
5955     const ArkUICheckboxGroupModifier* (*getCheckboxGroupModifier)();
5956     const ArkUICounterModifier* (*getCounterModifier)();
5957     const ArkUIRowModifier* (*getRowModifier)();
5958     const ArkUIRowSplitModifier* (*getRowSplitModifier)();
5959     const ArkUITextModifier* (*getTextModifier)();
5960     const ArkUIButtonModifier* (*getButtonModifier)();
5961     const ArkUIToggleModifier* (*getToggleModifier)();
5962     const ArkUIImageSpanModifier* (*getImageSpanModifier)();
5963     const ArkUIBlankModifier* (*getBlankModifier)();
5964     const ArkUISearchModifier* (*getSearchModifier)();
5965     const ArkUISelectModifier* (*getSelectModifier)();
5966     const ArkUIRadioModifier* (*getRadioModifier)();
5967     const ArkUICheckboxModifier* (*getCheckboxModifier)();
5968     const ArkUITimepickerModifier* (*getTimepickerModifier)();
5969     const ArkUITextPickerModifier* (*getTextPickerModifier)();
5970     const ArkUIRatingModifier* (*getRatingModifier)();
5971     const ArkUISliderModifier* (*getSliderModifier)();
5972     const ArkUIDividerModifier* (*getDividerModifier)();
5973     const ArkUIStackModifier* (*getStackModifier)();
5974     const ArkUIFolderStackModifier* (*getFolderStackModifier)();
5975     const ArkUINavDestinationModifier* (*getNavDestinationModifier)();
5976     const ArkUIGridModifier* (*getGridModifier)();
5977     const ArkUIGridColModifier* (*getGridColModifier)();
5978     const ArkUIGridRowModifier* (*getGridRowModifier)();
5979     const ArkUIPanelModifier* (*getPanelModifier)();
5980     const ArkUITextAreaModifier* (*getTextAreaModifier)();
5981     const ArkUINavigationModifier* (*getNavigationModifier)();
5982     const ArkUIColumnModifier* (*getColumnModifier)();
5983     const ArkUIRichEditorModifier* (*getRichEditorModifier)();
5984     const ArkUIImageModifier* (*getImageModifier)();
5985     const ArkUIVideoModifier* (*getVideoModifier)();
5986     const ArkUIVideoControllerModifier* (*getVideoControllerModifier)();
5987     const ArkUINavigatorModifier* (*getNavigatorModifier)();
5988     const ArkUINavRouterModifier* (*getNavRouterModifier)();
5989     const ArkUINodeContainerModifier* (*getNodeContainerModifier)();
5990     const ArkUIPatternLockModifier* (*getPatternLockModifier)();
5991     const ArkUIColumnSplitModifier* (*getColumnSplitModifier)();
5992     const ArkUILineModifier* (*getLineModifier)();
5993     const ArkUIPathModifier* (*getPathModifier)();
5994     const ArkUIPolygonModifier* (*getPolygonModifier)();
5995     const ArkUIPolylineModifier* (*getPolylineModifier)();
5996     const ArkUISpanModifier* (*getSpanModifier)();
5997     const ArkUIImageAnimatorModifier* (*getImageAnimatorModifier)();
5998     const ArkUISideBarContainerModifier* (*getSideBarContainerModifier)();
5999     const ArkUICalendarPickerModifier* (*getCalendarPickerModifier)();
6000     const ArkUITextInputModifier* (*getTextInputModifier)();
6001     const ArkUITabsModifier* (*getTabsModifier)();
6002     const ArkUIStepperItemModifier* (*getStepperItemModifier)();
6003     const ArkUIHyperlinkModifier* (*getHyperlinkModifier)();
6004     const ArkUIMarqueeModifier* (*getMarqueeModifier)();
6005     const ArkUIMenuItemModifier* (*getMenuItemModifier)();
6006     const ArkUIMenuModifier* (*getMenuModifier)();
6007     const ArkUIDatePickerModifier* (*getDatePickerModifier)();
6008     const ArkUIWaterFlowModifier* (*getWaterFlowModifier)();
6009     const ArkUIAlphabetIndexerModifier* (*getAlphabetIndexerModifier)();
6010     const ArkUIDataPanelModifier* (*getDataPanelModifier)();
6011     const ArkUIGaugeModifier* (*getGaugeModifier)();
6012     const ArkUIScrollModifier* (*getScrollModifier)();
6013     const ArkUIScrollableModifier* (*getScrollableModifier)();
6014     const ArkUIGridItemModifier* (*getGridItemModifier)();
6015     const ArkUIProgressModifier* (*getProgressModifier)();
6016     const ArkUICommonShapeModifier* (*getCommonShapeModifier)();
6017     const ArkUIShapeModifier* (*getShapeModifier)();
6018     const ArkUIRectModifier* (*getRectModifier)();
6019     const ArkUISwiperModifier* (*getSwiperModifier)();
6020     const ArkUIListItemModifier* (*getListItemModifier)();
6021     const ArkUIListModifier* (*getListModifier)();
6022     const ArkUIListItemGroupModifier* (*getListItemGroupModifier)();
6023     const ArkUIQRCodeModifier* (*getQRCodeModifier)();
6024     const ArkUILoadingProgressModifier* (*getLoadingProgressModifier)();
6025     const ArkUITextClockModifier* (*getTextClockModifier)();
6026     const ArkUITextTimerModifier* (*getTextTimerModifier)();
6027     const ArkUIRenderNodeModifier* (*getRenderNodeModifier)();
6028     const ArkUIFrameNodeModifier* (*getFrameNodeModifier)();
6029     const ArkUIPluginModifier* (*getPluginModifier)();
6030     const ArkUIXComponentModifier* (*getXComponentModifier)();
6031     const ArkUIStateModifier* (*getUIStateModifier)();
6032     const ArkUIFormComponentModifier* (*getFormComponentModifier)();
6033     const ArkUIFlexModifier* (*getFlexModifier)();
6034     const ArkUIScrollBarModifier* (*getScrollBarModifier)();
6035     const ArkUIScrollerModifier* (*getScrollerModifier)();
6036     const ArkUITabContentModifier* (*getTabContentModifier)();
6037     const ArkUITabsControllerModifier* (*getTabsControllerModifier)();
6038     const ArkUISwiperControllerModifier* (*getSwiperControllerModifier)();
6039     const ArkUIGestureModifier* (*getGestureModifier)();
6040     const ArkUIBadgeModifier* (*getBadgeModifier)();
6041     const ArkUIWebModifier* (*getWebModifier)();
6042     const ArkUIRefreshModifier* (*getRefreshModifier)();
6043     const ArkUIMenuItemGroupModifier* (*getMenuItemGroupModifier)();
6044     const ArkUISearchControllerModifier* (*getSearchControllerModifier)();
6045     const ArkUISideBarModifier* (*getSideBarModifier)();
6046     const ArkUIPatternLockControllerModifier* (*getPatternLockControllerModifier)();
6047     const ArkUITextTimerControllerModifier* (*getTextTimerControllerModifier)();
6048     const ArkUITextClockControllerModifier* (*getTextClockControllerModifier)();
6049     const ArkUIRichEditorControllerModifier* (*getRichEditorControllerModifier)();
6050     const ArkUITextAreaControllerModifier* (*getTextAreaControllerModifier)();
6051     const ArkUIRelativeContainerModifier* (*getRelativeContainerModifier)();
6052     const ArkUIParticleModifier* (*getParticleModifier)();
6053     const ArkUINodeContentModifier* (*getNodeContentModifier)();
6054     const ArkUISymbolGlyphModifier* (*getSymbolGlyphModifier)();
6055     const ArkUISymbolSpanModifier* (*getSymbolSpanModifier)();
6056     const ArkUIComponent3DModifier* (*getComponent3DModifier)();
6057     const ArkUIContainerSpanModifier* (*getContainerSpanModifier)();
6058     const ArkUICustomNodeExtModifier* (*getCustomNodeExtModifier)();
6059     const ArkUIThemeModifier* (*getThemeModifier)();
6060     const ArkUILinearIndicatorModifier* (*getLinearIndicatorModifier)();
6061     const ArkUIIndicatorComponentModifier* (*getIndicatorComponentModifier)();
6062     const ArkUILazyGridLayoutModifier* (*getLazyGridLayoutModifier)();
6063 };
6064 
6065 // same as inner defines in property.h
6066 typedef enum {
6067     ARKUI_DIRTY_FLAG_MEASURE = 0b1,
6068     ARKUI_DIRTY_FLAG_LAYOUT = 0b10,
6069     /** mark the node need to do attribute diff to drive update. */
6070     ARKUI_DIRTY_FLAG_ATTRIBUTE_DIFF = 0b100,
6071     ARKUI_DIRTY_FLAG_MEASURE_SELF = 0b1000,
6072     ARKUI_DIRTY_FLAG_MEASURE_SELF_AND_PARENT = 0b10000,
6073     ARKUI_DIRTY_FLAG_MEASURE_BY_CHILD_REQUEST = 0b100000,
6074     ARKUI_DIRTY_FLAG_RENDER = 0b1000000,
6075     ARKUI_DIRTY_FLAG_MEASURE_SELF_AND_CHILD = 0b1000000000,
6076 } ArkUIDirtyFlag;
6077 
6078 typedef void (*EventReceiver)(ArkUINodeEvent* event);
6079 
6080 struct ArkUIBasicAPI {
6081     /// Tree operations.
6082     ArkUINodeHandle (*createNode)(ArkUINodeType type, ArkUI_Int32 id, ArkUI_Int32 flags);
6083     ArkUINodeHandle (*createNodeWithParams)(
6084         ArkUINodeType type, ArkUI_Int32 id, ArkUI_Int32 flags, const ArkUI_Params& params);
6085     ArkUINodeHandle (*getNodeByViewStack)();
6086     void (*disposeNode)(ArkUINodeHandle node);
6087     // Returned pointer is valid only till node is alive.
6088     ArkUI_CharPtr (*getName)(ArkUINodeHandle node);
6089     void (*dump)(ArkUINodeHandle node);
6090 
6091     ArkUI_Int32 (*addChild)(ArkUINodeHandle parent, ArkUINodeHandle child);
6092     void (*removeChild)(ArkUINodeHandle parent, ArkUINodeHandle child);
6093     ArkUI_Int32 (*insertChildAfter)(ArkUINodeHandle parent, ArkUINodeHandle child, ArkUINodeHandle sibling);
6094     ArkUI_Int32 (*insertChildBefore)(ArkUINodeHandle parent, ArkUINodeHandle child, ArkUINodeHandle sibling);
6095     ArkUI_Int32 (*insertChildAt)(ArkUINodeHandle parent, ArkUINodeHandle child, ArkUI_Int32 position);
6096 
6097     // Returned pointer is valid only till node is alive.
6098     ArkUI_CharPtr (*getAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute);
6099     void (*setAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute, ArkUI_CharPtr value);
6100     void (*resetAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute);
6101 
6102     /**
6103      * notify the node to send node event back
6104      */
6105     void (*registerNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUIEventSubKind kind, ArkUI_Int64 extraParam);
6106     void (*unRegisterNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUIEventSubKind kind);
6107     /* registerNodeAsyncEventReceiver() must be redesigned */
6108     void (*registerNodeAsyncEventReceiver)(EventReceiver eventReceiver);
6109     void (*unRegisterNodeAsyncEventReceiver)();
6110     ArkUI_Int32 (*checkAsyncEvent)(ArkUINodeEvent* event);
6111 
6112     // Commit attributes updates for node.
6113     void (*applyModifierFinish)(ArkUINodeHandle nodePtr);
6114     // the flag can combine different flag like ARKUI_DIRTY_FLAG_MEASURE | ARKUI_DIRTY_FLAG_RENDER
6115     void (*markDirty)(ArkUINodeHandle nodePtr, ArkUI_Uint32 dirtyFlag);
6116     ArkUI_Bool (*isBuilderNode)(ArkUINodeHandle node);
6117 
6118     ArkUI_Float64 (*convertLengthMetricsUnit)(ArkUI_Float64 value, ArkUI_Int32 originUnit, ArkUI_Int32 targetUnit);
6119 
6120     ArkUI_Int32 (*getContextByNode)(ArkUINodeHandle node);
6121 
6122     ArkUI_Int32 (*postFrameCallback)(ArkUI_Int32 instanceId, void* userData,
6123         void (*callback)(uint64_t nanoTimestamp, uint32_t frameCount, void* userData));
6124 };
6125 
6126 struct ArkUIDialogAPI {
6127     ArkUIDialogHandle (*create)();
6128     void (*dispose)(ArkUIDialogHandle handle);
6129     ArkUI_Int32 (*setContent)(ArkUIDialogHandle handle, ArkUINodeHandle contentNode);
6130     ArkUI_Int32 (*removeContent)(ArkUIDialogHandle handle);
6131     ArkUI_Int32 (*setContentAlignment)(
6132         ArkUIDialogHandle handle, ArkUI_Int32 alignment, ArkUI_Float32 offsetX, ArkUI_Float32 offsetY);
6133     ArkUI_Int32 (*resetContentAlignment)(ArkUIDialogHandle handle);
6134     ArkUI_Int32 (*setModalMode)(ArkUIDialogHandle handle, ArkUI_Bool isModal);
6135     ArkUI_Int32 (*setAutoCancel)(ArkUIDialogHandle handle, ArkUI_Bool autoCancel);
6136     ArkUI_Int32 (*setMask)(ArkUIDialogHandle handle, ArkUI_Uint32 maskColor, ArkUIRect* rect);
6137     ArkUI_Int32 (*setBackgroundColor)(ArkUIDialogHandle handle, ArkUI_Uint32 backgroundColor);
6138     ArkUI_Int32 (*setCornerRadius)(ArkUIDialogHandle handle, ArkUI_Float32 topLeft, ArkUI_Float32 topRight,
6139         ArkUI_Float32 bottomLeft, ArkUI_Float32 bottomRight);
6140     ArkUI_Int32 (*setGridColumnCount)(ArkUIDialogHandle handle, ArkUI_Int32 gridCount);
6141     ArkUI_Int32 (*enableCustomStyle)(ArkUIDialogHandle handle, ArkUI_Bool enableCustomStyle);
6142     ArkUI_Int32 (*enableCustomAnimation)(ArkUIDialogHandle handle, ArkUI_Bool enableCustomAnimation);
6143     // show dialog
6144     ArkUI_Int32 (*show)(ArkUIDialogHandle handle, ArkUI_Bool showInSubWindow);
6145     ArkUI_Int32 (*close)(ArkUIDialogHandle handle);
6146     ArkUI_Int32 (*registerOnWillDismiss)(ArkUIDialogHandle handle, bool (*eventHandler)(ArkUI_Int32));
6147     ArkUI_Int32 (*registerOnWillDismissWithUserData)(
6148         ArkUIDialogHandle handler, void* userData, void (*callback)(ArkUI_DialogDismissEvent* event));
6149     ArkUI_Int32 (*setKeyboardAvoidDistance)(ArkUIDialogHandle handle, float distance, ArkUI_Int32 unit);
6150     ArkUI_Int32 (*setLevelMode)(ArkUIDialogHandle handle, ArkUI_Int32 mode);
6151     ArkUI_Int32 (*setLevelUniqueId)(ArkUIDialogHandle handle, ArkUI_Int32 uniqueId);
6152     ArkUI_Int32 (*setImmersiveMode)(ArkUIDialogHandle handle, ArkUI_Int32 mode);
6153     ArkUI_Int32 (*setLevelOrder)(ArkUIDialogHandle handle, ArkUI_Float64 levelOrder);
6154     ArkUI_Int32 (*registerOnWillAppear)(ArkUIDialogHandle handle, void* userData, void (*callback)(void* userData));
6155     ArkUI_Int32 (*registerOnDidAppear)(ArkUIDialogHandle handle, void* userData, void (*callback)(void* userData));
6156     ArkUI_Int32 (*registerOnWillDisappear)(ArkUIDialogHandle handle, void* userData, void (*callback)(void* userData));
6157     ArkUI_Int32 (*registerOnDidDisappear)(ArkUIDialogHandle handle, void* userData, void (*callback)(void* userData));
6158     ArkUI_Int32 (*setBorderWidth)(ArkUIDialogHandle handle, ArkUI_Float32 top, ArkUI_Float32 right,
6159         ArkUI_Float32 bottom, ArkUI_Float32 left, ArkUI_Int32 unit);
6160     ArkUI_Int32 (*setBorderColor)(
6161         ArkUIDialogHandle handle, ArkUI_Uint32 top, ArkUI_Uint32 right, ArkUI_Uint32 bottom, ArkUI_Uint32 left);
6162     ArkUI_Int32 (*setBorderStyle)(
6163         ArkUIDialogHandle handle, ArkUI_Int32 top, ArkUI_Int32 right, ArkUI_Int32 bottom, ArkUI_Int32 left);
6164     ArkUI_Int32 (*setWidth)(ArkUIDialogHandle handle, float width, ArkUI_Int32 unit);
6165     ArkUI_Int32 (*setHeight)(ArkUIDialogHandle handle, float height, ArkUI_Int32 unit);
6166     ArkUI_Int32 (*setShadow)(ArkUIDialogHandle handle, ArkUI_Int32 shadow);
6167     ArkUI_Int32 (*setCustomShadow)(ArkUIDialogHandle node, const ArkUIInt32orFloat32* shadows, ArkUI_Int32 length);
6168     ArkUI_Int32 (*setBackgroundBlurStyle)(ArkUIDialogHandle handle, ArkUI_Int32 blurStyle);
6169     ArkUI_Int32 (*setKeyboardAvoidMode)(ArkUIDialogHandle handle, ArkUI_Int32 keyboardAvoidMode);
6170     ArkUI_Int32 (*enableHoverMode)(ArkUIDialogHandle handle, ArkUI_Bool enableHoverMode);
6171     ArkUI_Int32 (*setHoverModeArea)(ArkUIDialogHandle handle, ArkUI_Int32 hoverModeAreaType);
6172     ArkUI_Int32 (*setFocusable)(ArkUIDialogHandle handle, ArkUI_Bool focusable);
6173     ArkUI_Int32 (*openCustomDialog)(ArkUIDialogHandle handle, void (*callback)(ArkUI_Int32 dialogId));
6174     ArkUI_Int32 (*updateCustomDialog)(ArkUIDialogHandle handle, void (*callback)(ArkUI_Int32 dialogId));
6175     ArkUI_Int32 (*closeCustomDialog)(ArkUI_Int32 dialogId);
6176     ArkUI_Int32 (*setSubwindowMode)(ArkUIDialogHandle handle, ArkUI_Bool showInSubWindow);
6177 };
6178 
6179 struct ArkUIBasicNodeAPI {
6180     ArkUI_Int32 version;
6181     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
6182     const ArkUIBasicAPI* (*getBasicModifier)();
6183 };
6184 
6185 struct ArkUIExtendedNodeAPI {
6186     ArkUI_Int32 version;
6187 
6188     const ArkUIUtilsModifier* (*getUtilsModifier)();
6189     const ArkUICanvasRenderingContext2DModifier* (*getCanvasRenderingContext2DModifier)();
6190 
6191     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
6192 
6193     // for ndk side, the custom method is not set in create.
6194     void (*setCustomMethodFlag)(ArkUINodeHandle node, ArkUI_Int32 flag);
6195     ArkUI_Int32 (*getCustomMethodFlag)(ArkUINodeHandle node);
6196 
6197     void (*registerCustomNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 kind, void* extraParam);
6198     void (*registerCustomSpanAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 kind, void* extraParam);
6199     ArkUI_Int32 (*unregisterCustomNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 kind);
6200     void (*registerCustomNodeAsyncEventReceiver)(void (*eventReceiver)(ArkUICustomNodeEvent* event));
6201 
6202     void (*setCustomCallback)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Int32 callbackId);
6203     ArkUI_Int32 (*measureLayoutAndDraw)(ArkUIVMContext vmContext, ArkUINodeHandle node);
6204     ArkUI_Int32 (*measureNode)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Float32* data);
6205     ArkUI_Int32 (*layoutNode)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Float32  (*data)[2]);
6206     ArkUI_Int32 (*drawNode)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Float32* data);
6207 
6208     void (*setAttachNodePtr)(ArkUINodeHandle node, void* value);
6209     void* (*getAttachNodePtr)(ArkUINodeHandle node);
6210 
6211     // maybe better to use int in px unit.
6212     void (*setMeasureWidth)(ArkUINodeHandle node, ArkUI_Int32 value);
6213     ArkUI_Int32 (*getMeasureWidth)(ArkUINodeHandle node);
6214     void (*setMeasureHeight)(ArkUINodeHandle node, ArkUI_Int32 value);
6215     ArkUI_Int32 (*getMeasureHeight)(ArkUINodeHandle node);
6216     void (*setX)(ArkUINodeHandle node, ArkUI_Int32 value);
6217     void (*setY)(ArkUINodeHandle node, ArkUI_Int32 value);
6218     ArkUI_Int32 (*getX)(ArkUINodeHandle node);
6219     ArkUI_Int32 (*getY)(ArkUINodeHandle node);
6220     void (*getLayoutConstraint)(ArkUINodeHandle node, ArkUI_Int32* value);
6221     void (*setAlignment)(ArkUINodeHandle node, ArkUI_Int32 value);
6222     ArkUI_Int32 (*getAlignment)(ArkUINodeHandle node);
6223     ArkUI_Int32 (*indexerChecker)(ArkUIVMContext context, ArkUINodeHandle node);
6224     void (*setRangeUpdater)(ArkUINodeHandle node, ArkUI_Int32 updaterId);
6225     void (*setLazyItemIndexer)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Int32 indexerId);
6226     /// Vsync support.
6227     ArkUIPipelineContext (*getPipelineContext)(ArkUINodeHandle node);
6228     void (*setVsyncCallback)(ArkUIVMContext vmContext, ArkUIPipelineContext pipelineContext, ArkUI_Int32 callbackId);
6229     void (*unblockVsyncWait)(ArkUIVMContext vmContext, ArkUIPipelineContext pipelineContext);
6230     /// Events.
6231     /**
6232      * Add an event to the event queue, so that
6233      * it will be picked up later by checkEvent().
6234      */
6235     void (*sendEvent)(ArkUINodeEvent* event);
6236 
6237     /// Continuations on native side.
6238     void (*callContinuation)(ArkUI_Int32 continuationId, ArkUI_Int32 argCount, ArkUIEventCallbackArg* args);
6239     void (*setChildTotalCount)(ArkUINodeHandle node, ArkUI_Int32 totalCount);
6240 
6241     /// Error reporting.
6242     void (*showCrash)(ArkUI_CharPtr message);
6243 
6244     ArkUINodeHandle (*getTopNodeFromViewStack)();
6245     ArkUINodeHandle (*createCustomNode)(ArkUI_CharPtr tag);
6246     ArkUINodeHandle (*getOrCreateCustomNode)(ArkUI_CharPtr tag);
6247     ArkUIRSNodeHandle (*getRSNodeByNode)(ArkUINodeHandle node);
6248     ArkUI_Bool (*isRightToLeft)();
6249     void (*createNewScope)();
6250     void (*registerOEMVisualEffect)(ArkUIOEMVisualEffectFuncHandle func);
6251     void (*setOnNodeDestroyCallback)(ArkUINodeHandle node, void (*onDestroy)(ArkUINodeHandle node));
6252 };
6253 
6254 struct ArkUIStyledStringAPI {
6255     ArkUI_StyledString_Descriptor* (*createArkUIStyledStringDescriptor)();
6256     void (*destroyArkUIStyledStringDescriptor)(ArkUI_StyledString_Descriptor* str);
6257     ArkUI_Int32 (*unmarshallStyledStringDescriptor)(
6258         uint8_t* buffer, size_t bufferSize, ArkUI_StyledString_Descriptor* str);
6259     ArkUI_Int32 (*marshallStyledStringDescriptor)(
6260         uint8_t* buffer, size_t bufferSize, ArkUI_StyledString_Descriptor* str, size_t* resultSize);
6261     ArkUI_CharPtr (*convertToHtml)(ArkUI_StyledString_Descriptor* str);
6262 };
6263 
6264 typedef enum {
6265     ON_ATTACH_TO_NODE = 1,
6266     ON_DETACH_FROM_NODE = 2,
6267     ON_GET_NODE_ID = 3,
6268     ON_ADD_NODE_TO_ADAPTER = 4,
6269     ON_REMOVE_NODE_FROM_ADAPTER = 5,
6270     ON_UPDATE_NODE = 6,
6271 } ArkUINodeAdapterEventType;
6272 
6273 typedef struct {
6274     ArkUI_Uint32 index;
6275     ArkUI_Int32 id;
6276     ArkUI_Int64 extraParam;
6277     ArkUI_Bool idSet;
6278     ArkUINodeAdapterEventType type;
6279     ArkUINodeHandle handle;
6280     ArkUI_Bool nodeSet;
6281 } ArkUINodeAdapterEvent;
6282 
6283 typedef struct {
6284     ArkUINodeAdapterHandle (*create)();
6285     void (*dispose)(ArkUINodeAdapterHandle handle);
6286     ArkUI_Int32 (*setTotalNodeCount)(ArkUINodeAdapterHandle handle, ArkUI_Uint32 size);
6287     ArkUI_Uint32 (*getTotalNodeCount)(ArkUINodeAdapterHandle handle);
6288     ArkUI_Int32 (*registerEventReceiver)(
6289         ArkUINodeAdapterHandle handle, void* userData, void (*receiver)(ArkUINodeAdapterEvent* event));
6290     void (*unregisterEventReceiver)(ArkUINodeAdapterHandle handle);
6291 
6292     ArkUI_Int32 (*notifyItemReloaded)(ArkUINodeAdapterHandle handle);
6293     ArkUI_Int32 (*notifyItemChanged)(ArkUINodeAdapterHandle handle, ArkUI_Uint32 startPosition, ArkUI_Uint32 itemCount);
6294     ArkUI_Int32 (*notifyItemRemoved)(ArkUINodeAdapterHandle handle, ArkUI_Uint32 startPosition, ArkUI_Uint32 itemCount);
6295     ArkUI_Int32 (*notifyItemInserted)(
6296         ArkUINodeAdapterHandle handle, ArkUI_Uint32 startPosition, ArkUI_Uint32 itemCount);
6297     ArkUI_Int32 (*notifyItemMoved)(ArkUINodeAdapterHandle handle, ArkUI_Uint32 from, ArkUI_Uint32 to);
6298     ArkUI_Int32 (*getAllItem)(ArkUINodeAdapterHandle handle, ArkUINodeHandle** items, ArkUI_Uint32* size);
6299 
6300     void (*attachHostNode)(ArkUINodeAdapterHandle handle, ArkUINodeHandle host);
6301     void (*detachHostNode)(ArkUINodeHandle host);
6302     ArkUINodeAdapterHandle (*getNodeAdapter)(ArkUINodeHandle host);
6303 } ArkUINodeAdapterAPI;
6304 
6305 typedef struct {
6306     ArkUI_Int32 (*startDrag)(ArkUIDragAction* dragAction);
6307     void (*registerStatusListener)(ArkUIDragAction* dragAction, void* userData, DragStatusCallback listener);
6308     void (*unregisterStatusListener)(ArkUIDragAction* dragAction);
6309     ArkUIDragAction* (*createDragActionWithNode)(ArkUINodeHandle node);
6310     ArkUIDragAction* (*createDragActionWithContext)(ArkUIContext* context);
6311     void (*setDragPreview)(ArkUINodeHandle node, void* dragPreview);
6312     void (*setDragEventStrictReportingEnabledWithNode)(bool enabled);
6313     void (*setDragEventStrictReportingEnabledWithContext)(ArkUI_Int32 instanceId, bool enabled);
6314     ArkUI_Int32 (*requestDragEndPending)();
6315     ArkUI_Int32 (*notifyDragResult)(ArkUI_Int32 requestId, ArkUI_Int32 result);
6316     ArkUI_Int32 (*notifyDragEndPendingDone)(ArkUI_Int32 requestId);
6317 } ArkUIDragAdapterAPI;
6318 
6319 struct ArkUISnapshotOptions {
6320     ArkUI_Float32 scale = 1.0f;
6321 };
6322 
6323 typedef struct {
6324     ArkUISnapshotOptions* (*createSnapshotOptions)();
6325     void (*destroySnapshotOptions)(ArkUISnapshotOptions* snapshotOptions);
6326     ArkUI_Int32 (*snapshotOptionsSetScale)(ArkUISnapshotOptions* snapshotOptions, ArkUI_Float32 scale);
6327     ArkUI_Int32 (*getSyncSnapshot)(ArkUINodeHandle node, ArkUISnapshotOptions* snapshotOptions, void* mediaPixel);
6328 } ArkUISnapshotAPI;
6329 
6330 /**
6331  * An API to control an implementation. When making changes modifying binary
6332  * layout, i.e. adding new events - increase ARKUI_NODE_API_VERSION above for binary
6333  * layout checks.
6334  */
6335 struct ArkUIFullNodeAPI {
6336     ArkUI_Int32 version;
6337     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
6338     const ArkUIBasicAPI* (*getBasicAPI)();
6339     const ArkUINodeModifiers* (*getNodeModifiers)();
6340     const ArkUIAnimation* (*getAnimation)();
6341     const ArkUINavigation* (*getNavigation)();
6342     const ArkUIGraphicsAPI* (*getGraphicsAPI)();
6343     const ArkUIDialogAPI* (*getDialogAPI)();
6344     const ArkUIExtendedNodeAPI* (*getExtendedAPI)();
6345     const ArkUINodeAdapterAPI* (*getNodeAdapterAPI)();
6346     const ArkUIDragAdapterAPI* (*getDragAdapterAPI)();
6347     const ArkUIStyledStringAPI* (*getStyledStringAPI)();
6348     const ArkUISnapshotAPI* (*getSnapshotAPI)();
6349 };
6350 
6351 struct ArkUIAnyAPI {
6352     ArkUI_Int32 version;
6353 };
6354 
6355 __attribute__((visibility("default"))) const ArkUIFullNodeAPI* GetArkUIFullNodeAPI();
6356 #ifdef __cplusplus
6357 };
6358 #endif
6359 
6360 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_INTERFACES_ARKOALA_API_H
6361