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