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