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