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