• 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 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #define ARKUI_FULL_API_VERSION 66
24 // When changing ARKUI_BASIC_API_VERSION, ARKUI_FULL_API_VERSION must be
25 // increased as well.
26 #define ARKUI_NODE_API_VERSION 66
27 
28 #define ARKUI_BASIC_API_VERSION 5
29 #define ARKUI_EXTENDED_API_VERSION 2
30 #define ARKUI_NODE_GRAPHICS_API_VERSION 5
31 #define ARKUI_NODE_MODIFIERS_API_VERSION 5
32 
33 enum ArkUIAPIVariantKind {
34     BASIC = 1,
35     FULL = 2,
36     GRAPHICS = 3,
37     EXTENDED = 4,
38     COUNT = EXTENDED + 1,
39 };
40 
41 typedef int ArkUI_Bool;
42 typedef int ArkUI_Int32;
43 typedef unsigned int ArkUI_Uint32;
44 typedef long long ArkUI_Int64;
45 typedef float ArkUI_Float32;
46 typedef double ArkUI_Float64;
47 typedef const char* ArkUI_CharPtr;
48 
49 // Several opaque struct declarations.
50 struct _ArkUIVMContext;
51 struct _ArkUIVMObject;
52 struct _ArkUINode;
53 struct _ArkUICanvas;
54 struct _ArkUIPaint;
55 struct _ArkUIFont;
56 struct _ArkUIXComponentController;
57 
58 typedef _ArkUINode* ArkUINodeHandle;
59 typedef _ArkUIVMContext* ArkUIVMContext;
60 typedef _ArkUIVMObject* ArkUIVMObject;
61 typedef _ArkUICanvas* ArkUICanvasHandle;
62 typedef _ArkUIPaint* ArkUIPaintHandle;
63 typedef _ArkUIFont* ArkUIFontHandle;
64 typedef _ArkUIXComponentController* ArkUIXComponentControllerHandle;
65 
66 /**
67  * ToolType
68  */
69 enum TouchEventToolType {
70     /**
71      * UNKNOWN
72      */
73     TOOL_TYPE_UNKNOWN = 0,
74 
75     /**
76      * Finger
77      */
78     TOOL_TYPE_FINGER = 1,
79 
80     /**
81      * Pen
82      *
83      */
84     TOOL_TYPE_PEN = 2,
85 };
86 
87 /**
88  * SourceType
89  *
90  */
91 enum ArkUISourceType {
92     SOURCE_TYPE_UNKNOWN = 0,
93     /**
94      * Touchscreen
95      */
96     SOURCE_TYPE_TOUCH_SCREEN = 1,
97 
98     /**
99      * Stylus
100      */
101     SOURCE_TYPE_PEN = 2,
102 
103     /**
104      * TouchPad
105      */
106     SOURCE_TYPE_TOUCH_PAD = 3
107 };
108 
109 struct ArkUITouchPoint {
110     /**
111      * Pointer identifier
112      */
113     ArkUI_Int32 id;
114 
115     /**
116      * Time stamp when touch is pressed
117      */
118     ArkUI_Int64 pressedTime;
119 
120     /**
121      * X coordinate of the touch position on the screen
122      *
123      */
124     ArkUI_Int32 screenX;
125 
126     /**
127      * Y coordinate of the touch position on the screen
128      *
129      */
130     ArkUI_Int32 screenY;
131 
132     /**
133      * X coordinate of the touch position in the window
134      *
135      */
136     ArkUI_Int32 windowX;
137 
138     /**
139      * Y coordinate of the touch position in the window
140      *
141      */
142     ArkUI_Int32 windowY;
143 
144     /**
145      * X coordinate of the touch position in the node
146      *
147      */
148     ArkUI_Int32 nodeX;
149 
150     /**
151      * Y coordinate of the touch position in the node
152      *
153      */
154     ArkUI_Int32 nodeY;
155 
156     /**
157      * Pressure value. The value range is [0.0, 1.0]. The value 0.0 indicates that the pressure is not supported.
158      *
159      */
160     ArkUI_Float32 pressure;
161 
162     /**
163      * Width of the contact area when touch is pressed
164      *
165      */
166     ArkUI_Int32 contactAreaWidth;
167 
168     /**
169      * Height of the contact area when touch is pressed
170      *
171      */
172     ArkUI_Int32 contactAreaHeight;
173 
174     /**
175      * Angle relative to the YZ plane. The value range is [-90, 90]. A positive value indicates a rightward tilt.
176      *
177      */
178     ArkUI_Float32 tiltX;
179 
180     /**
181      * Angle relative to the XZ plane. The value range is [-90, 90]. A positive value indicates a downward tilt.
182      */
183     ArkUI_Float32 tiltY;
184 
185     /**
186      * Center point X of the tool area
187      */
188     ArkUI_Int32 toolX;
189 
190     /**
191      * Center point Y of the tool area
192      *
193      */
194     ArkUI_Int32 toolY;
195 
196     /**
197      * Width of the tool area
198      *
199      */
200     ArkUI_Int32 toolWidth;
201 
202     /**
203      * Height of the tool area
204      *
205      */
206     ArkUI_Int32 toolHeight;
207 
208     /**
209      * X coordinate of the input device
210      *
211      */
212     ArkUI_Int32 rawX;
213 
214     /**
215      * Y coordinate of the input device
216      *
217      */
218     ArkUI_Int32 rawY;
219 
220     /**
221      * Tool type
222      *
223      */
224     TouchEventToolType toolType;
225 };
226 
227 enum ArkUITouchEventAction {
228     ACTION_DOWN = 0,
229     ACTION_UP,
230     ACTION_MOVE,
231     ACTION_CANCEL,
232 };
233 
234 struct ArkUIHistoricalTouchPoint {
235     /**
236      * Touch action
237      */
238     ArkUITouchEventAction action;
239     /** Time stamp of the historical event. */
240     ArkUI_Int64 timeStamp;
241     /** touch point info of the historical event. */
242     ArkUITouchPoint actionTouch;
243     ArkUISourceType sourceType;
244 };
245 
246 struct ArkUITouchEvent {
247     /**
248      * Touch action
249      *
250      */
251     ArkUITouchEventAction action;
252 
253     /** Time stamp of the current event. */
254     ArkUI_Int64 timeStamp;
255 
256     /**
257      * curent action touch point info.
258      */
259     ArkUITouchPoint actionTouch;
260 
261     /**
262      * @brief Returns information about all screen touch points when this event occurs.
263      *
264      */
265     ArkUI_Int32 (*getTouches)(ArkUITouchPoint** points);
266 
267     /**
268      * @brief Returns the historical point information in this event.
269      * These are the movements that occurred between this event and the previous event.
270      *
271      */
272     ArkUI_Int32 (*getHistoricalPoints)(ArkUIHistoricalTouchPoint** historicalPoints);
273 
274     ArkUISourceType sourceType;
275 
276     /**
277      * @brief Prevents events from bubbling further to the parent node for processing.
278      *
279      */
280     ArkUI_Bool stopPropagation;
281 
282     /**
283      * @brief Blocks the current node's default event handling behavior, allowing events
284      * to bubble up further.
285      *
286      */
287     ArkUI_Bool preventDefault;
288 };
289 
290 struct ArkUIStringAndFloat {
291     ArkUI_Float32 value;
292     ArkUI_CharPtr valueStr;
293 };
294 
295 struct ArkUIResourceColorType {
296     ArkUI_Uint32 number;
297     ArkUI_CharPtr string;
298 };
299 
300 struct ArkUIIconsStruct {
301     ArkUI_CharPtr ShowIconInfo;
302     ArkUI_CharPtr HiddenIconInfo;
303     ArkUI_CharPtr SwitchingIconInfo;
304 };
305 
306 struct ArkUIIconOptionsStruct {
307     ArkUI_Float32 value;
308     ArkUI_Int32 unit;
309     ArkUI_Int32 color;
310     ArkUI_CharPtr src;
311 };
312 
313 struct ArkUIFontStruct {
314     ArkUI_Float32 fontSizeNumber;
315     ArkUI_Int32 fontSizeUnit;
316     ArkUI_Int32 fontWeight;
317     ArkUI_Int32 fontStyle;
318     ArkUI_CharPtr* fontFamilies;
319     ArkUI_Uint32 familyLength;
320 };
321 
322 struct ArkUISearchButtonOptionsStruct {
323     ArkUI_CharPtr value;
324     ArkUI_Float32 sizeValue;
325     ArkUI_Int32 sizeUnit;
326     ArkUI_Int32 fontColor;
327 };
328 
329 struct ArkUISizeType {
330     ArkUI_Float32 value;
331     ArkUI_Int32 unit;
332     ArkUI_CharPtr string;
333 };
334 
335 struct ArkUITextShadowStruct {
336     ArkUI_Float32 radius;
337     ArkUI_Uint32 type;
338     ArkUI_Uint32 color;
339     ArkUI_Float32 offsetX;
340     ArkUI_Float32 offsetY;
341     ArkUI_Uint32 fill;
342 };
343 
344 struct ArkUIImagePropertiesStruct {
345     ArkUI_CharPtr src;
346     ArkUI_Float32 number[4];
347     ArkUI_Int32 unit[4];
348     char* calc[4];
349     ArkUI_Int32 duration;
350 };
351 
352 struct ArkUILengthType {
353     ArkUI_CharPtr string;
354     ArkUI_Float32 number;
355     ArkUI_Int32 unit;
356 };
357 
358 struct ArkUIResourceLength {
359     ArkUI_Float32 value;
360     ArkUI_Int32 unit;
361     ArkUI_CharPtr string;
362 };
363 struct ArkUIPasswordIconType {
364     ArkUI_CharPtr showResult;
365     ArkUI_CharPtr showBundleName;
366     ArkUI_CharPtr showModuleName;
367     ArkUI_CharPtr hideResult;
368     ArkUI_CharPtr hideBundleName;
369     ArkUI_CharPtr hideModuleName;
370 };
371 
372 struct ArkUIPlaceholderFontType {
373     const struct ArkUILengthType* size;
374     ArkUI_CharPtr weight;
375     ArkUI_CharPtr* fontFamilies;
376     ArkUI_Uint32 length;
377     ArkUI_Int32 style;
378 };
379 
380 struct ArkUIProgressStyle {
381     ArkUI_Float32 strokeWidthValue;
382     ArkUI_Int32 strokeWidthUnit;
383     ArkUI_Float32 borderWidthValue;
384     ArkUI_Int32 borderWidthUnit;
385     ArkUI_Int32 scaleCount;
386     ArkUI_Int32 status;
387     ArkUI_Float32 scaleWidthValue;
388     ArkUI_Int32 scaleWidthUnit;
389     ArkUI_Float32 strokeRadiusValue;
390     ArkUI_Int32 strokeRadiusUnit;
391     ArkUI_Bool enableSmoothEffect;
392     ArkUI_Float32 borderColor;
393     ArkUI_CharPtr content;
394     ArkUI_Float32 fontColor;
395     ArkUI_Bool enableScanEffect;
396     ArkUI_Bool shadow;
397     ArkUI_Bool showDefaultPercentage;
398     ArkUIFontStruct fontInfo;
399 };
400 
401 struct ArkUIGradientType {
402     const ArkUI_Uint32* color;
403     const ArkUILengthType* offset;
404     const ArkUI_Float32* weight;
405     const ArkUI_Uint32* gradientLength;
406     ArkUI_Uint32 length;
407     ArkUI_Uint32 type;
408 };
409 
410 struct ArkUIDimensionType {
411     ArkUI_Float32 value;
412     ArkUI_Int32 units;
413 };
414 
415 struct ArkUIChainAnimationOptionsType {
416     ArkUI_Float32 minSpace;
417     ArkUI_Float32 maxSpace;
418     ArkUI_Float32 conductivity;
419     ArkUI_Float32 intensity;
420     ArkUI_Float32 stiffness;
421     ArkUI_Float32 damping;
422     ArkUI_Int32 edgeEffect;
423     ArkUI_Int32 minSpaceUnits;
424     ArkUI_Int32 maxSpaceUnits;
425 };
426 
427 enum ArkUINodeType {
428     ARKUI_TEXT = 1,
429     ARKUI_SPAN,
430     ARKUI_IMAGE_SPAN,
431     ARKUI_IMAGE,
432     ARKUI_TOGGLE,
433     ARKUI_LOADING_PROGRESS,
434     ARKUI_TEXT_INPUT,
435     ARKUI_STACK,
436     ARKUI_SCROLL,
437     ARKUI_LIST,
438     ARKUI_SWIPER,
439     ARKUI_TEXTAREA,
440     ARKUI_BUTTON,
441     ARKUI_PROGRESS,
442     ARKUI_CHECKBOX,
443     ARKUI_COLUMN,
444     ARKUI_ROW,
445     ARKUI_FLEX,
446     ARKUI_LIST_ITEM,
447     ARKUI_TABS,
448     ARKUI_NAVIGATOR,
449     ARKUI_WEB,
450     ARKUI_SLIDER,
451     ARKUI_CANVAS,
452     ARKUI_RADIO,
453     ARKUI_GRID,
454     ARKUI_XCOMPONENT,
455     ARKUI_SIDEBAR,
456     ARKUI_REFRESH,
457     ARKUI_ROOT,
458     ARKUI_COMPONENT_ROOT,
459     ARKUI_CUSTOM,
460     ARKUI_CUSTOM_CONTAINER,
461     ARKUI_LIST_ITEM_GROUP,
462 };
463 
464 enum ArkUIEventCategory {
465     INVALID,
466     SINGLE_POINTER_INPUT,
467     MULTI_POINTER_INPUT,
468     CALLBACK,
469     COMPONENT_ASYNC_EVENT,
470     TEXT_INPUT,
471     GESTURE_ASYNC_EVENT,
472     STRING_EVENT
473 };
474 
475 #define ARKUI_MAX_EVENT_NUM 1000
476 
477 enum ArkUIAsyncEventKind {
478 // common events
479     ON_APPEAR = 0,
480     ON_DISAPPEAR = 1,
481     ON_TOUCH = 2,
482     ON_CLICK = 3,
483     ON_HOVER = 4,
484     ON_BLUR = 5,
485     ON_KEY_EVENT = 6,
486     ON_MOUSE = 7,
487     ON_AREA_CHANGE = 8,
488     ON_VISIBLE_AREA_CHANGE = 9,
489     ON_GESTURE = 10,
490     ON_FOCUS = 11,
491 
492     // components events
493     ON_LIST_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_LIST,
494     ON_LIST_SCROLL_INDEX,
495     ON_LIST_SCROLL_START,
496     ON_LIST_SCROLL_STOP,
497 
498     ON_TOGGLE_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TOGGLE,
499 
500     ON_TEXT_INPUT_EDIT_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXT_INPUT,
501     ON_TEXT_INPUT_SUBMIT,
502     ON_TEXT_INPUT_CHANGE,
503 
504     ON_TEXTAREA_EDIT_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TEXTAREA,
505     ON_TEXTAREA_SUBMIT,
506     ON_TEXTAREA_CHANGE,
507 
508     ON_SWIPER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SWIPER,
509     ON_SWIPER_ANIMATION_START,
510     ON_SWIPER_ANIMATION_END,
511     ON_SWIPER_GESTURE_SWIPE,
512 
513     ON_IMAGE_COMPLETE = ARKUI_MAX_EVENT_NUM * ARKUI_IMAGE,
514     ON_IMAGE_ERROR,
515 
516     ON_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_SCROLL,
517     ON_SCROLL_FRAME_BEGIN,
518     ON_SCROLL_START,
519     ON_SCROLL_STOP,
520     ON_SCROLL_EDGE,
521 
522     ON_TABS_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_TABS,
523     ON_NAVIGATOR_CLICK = ARKUI_MAX_EVENT_NUM * ARKUI_NAVIGATOR,
524     ON_WEB_INTERCEPT = ARKUI_MAX_EVENT_NUM * ARKUI_WEB,
525     ON_SLIDER_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SLIDER,
526     ON_CANVAS_READY = ARKUI_MAX_EVENT_NUM * ARKUI_CANVAS,
527 
528     ON_RADIO_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_RADIO,
529 
530     ON_GRID_SCROLL = ARKUI_MAX_EVENT_NUM * ARKUI_GRID,
531     ON_GRID_START,
532     ON_GRID_STOP,
533 
534     ON_SIDEBAR_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_SIDEBAR,
535 
536     ON_XCOMPONENT_LOAD = ARKUI_MAX_EVENT_NUM * ARKUI_XCOMPONENT,
537     ON_XCOMPONENT_DESTROY,
538 
539     ON_REFRESH_STATE_CHANGE = ARKUI_MAX_EVENT_NUM * ARKUI_REFRESH,
540     ON_REFRESH_REFRESHING
541 };
542 
543 enum ArkUIAPIGestureAsyncEventSubKind {
544     ON_ACTION = 0,
545     ON_ACTION_START = 1,
546     ON_ACTION_UPDATE = 2,
547     ON_ACTION_END = 3,
548     ON_ACTION_CANCEL = 4
549 };
550 
551 union ArkUIAPIValue {
552     ArkUI_Int32 i32;
553     ArkUI_Int64 i64;
554     ArkUI_Float32 f32;
555     ArkUI_Float32 f64;
556 };
557 
558 enum ArkUIAPIValueKind {
559     VALUE_KIND_INT32 = 0,
560     VALUE_KIND_FLOAT32 = 1,
561     VALUE_KIND_INT64 = 2,
562     VALUE_KIND_FLOAT64 = 3,
563 };
564 
565 enum ArkUIAPIEventCallbackType {
566     VOID = 0,
567     INT_32 = 1,
568     FLOAT_32 = 2,
569     INT_32_ARRAY = 3,
570     FLOAT_32_ARRAY = 4
571 };
572 
573 enum ArkUIAPINodeFlags {
574     NONE = 0,
575     CUSTOM_MEASURE = 1 << 0,
576     CUSTOM_LAYOUT = 1 << 1,
577     CUSTOM_DRAW = 1 << 2,
578 };
579 
580 enum ArkUIAPICustomOp {
581     MEASURE = 1,
582     LAYOUT = 2,
583     DRAW = 3
584 };
585 
586 enum ArkUIVMKind {
587     VM_JS = 1,
588     VM_STS = 2,
589 };
590 
591 // Current implementation assumes that each argument is 4 bytes,
592 // fix decodeEvent() in TS if it will change.
593 union ArkUIEventCallbackArg {
594     ArkUI_Int32 i32;
595     ArkUI_Uint32 u32;
596     ArkUI_Float32 f32;
597 };
598 
599 struct ArkUIAPIEventSinglePointer {
600     ArkUI_Int32 x;
601     ArkUI_Int32 y;
602     ArkUI_Int32 state; // 0 - down, 1 - up, 2 - move
603 };
604 
605 #define ARKUI_MULTIPOINTER_ARGS_COUNT 10
606 
607 struct ArkUIAPIEventMultiPointer {
608     ArkUI_Int32 count;
609     ArkUI_Int32 xs[ARKUI_MULTIPOINTER_ARGS_COUNT];
610     ArkUI_Int32 ys[ARKUI_MULTIPOINTER_ARGS_COUNT];
611     ArkUI_Int32 state[ARKUI_MULTIPOINTER_ARGS_COUNT];
612 };
613 
614 struct ArkUIAPIEventTextInput {
615     ArkUI_Int32 nativeStringLow;
616     ArkUI_Int32 nativeStringHigh;
617 };
618 
619 #define ARKUI_CALLBACK_ARGS_COUNT 12
620 
621 struct ArkUIAPIEventCallback {
622     ArkUI_Int32 id;
623     ArkUI_Int32 numArgs;
624     ArkUI_Int32 continuationId;
625     ArkUIEventCallbackArg args[ARKUI_CALLBACK_ARGS_COUNT];
626 };
627 
628 #define ARKUI_ASYNC_EVENT_ARGS_COUNT 12
629 
630 struct ArkUINodeAsyncEvent {
631     ArkUIEventCallbackArg data[ARKUI_ASYNC_EVENT_ARGS_COUNT];
632 };
633 
634 struct ArkUIStringAsyncEvent {
635     ArkUI_CharPtr pStr;
636 };
637 
638 struct ArkUIAPIEventGestureAsyncEvent {
639     ArkUI_Int32 subKind;
640     ArkUI_Int32 repeat;
641     ArkUI_Int32 x;
642     ArkUI_Int32 y;
643     ArkUI_Int32 angle;
644     ArkUI_Int32 scale;
645     ArkUI_Int32 pinchCenterX;
646     ArkUI_Int32 pinchCenterY;
647     ArkUI_Int32 speed;
648     ArkUI_Int32 timestamp;
649     ArkUI_Int32 source;
650     ArkUI_Int32 pressure;
651     ArkUI_Int32 tiltX;
652     ArkUI_Int32 tiltY;
653     ArkUI_Int32 sourceTool;
654     ArkUI_Int32 velocityX;
655     ArkUI_Int32 velocityY;
656     ArkUI_Int32 velocity;
657 };
658 
659 struct ArkUINodeEvent {
660     ArkUI_Int32 kind; // Actually ArkUIAsyncEventKind, but use int for fixed binary layout.
661     ArkUI_Int32 eventId;
662     ArkUI_Int32 nodeId;
663     void* extraParam;
664     union {
665         ArkUIAPIEventSinglePointer singlePointer;
666         ArkUIAPIEventMultiPointer multiPointer;
667         ArkUIAPIEventCallback callback;
668         ArkUINodeAsyncEvent componentAsyncEvent;
669         ArkUIAPIEventTextInput textInputEvent;
670         ArkUIAPIEventGestureAsyncEvent gestureAsyncEvent;
671         ArkUIStringAsyncEvent stringAsyncEvent;
672     };
673 };
674 
675 struct ArkUIAPIAnimationSpec {
676     ArkUI_Int32 duration;
677     ArkUI_Int32 delay;
678     ArkUI_Int32 valueKind; // of ArkUIAPIValueKind
679     ArkUIAPIValue initial;
680     ArkUIAPIValue target;
681 };
682 
683 struct ArkUIAPICallbackMethod {
684     ArkUI_Int32 (*CallInt)(
685         ArkUIVMContext vmContext, ArkUI_Int32 methodId, ArkUI_Int32 numArgs, ArkUIEventCallbackArg* args);
686 };
687 
688 struct ArkUIBorderOptions {
689     ArkUI_Float32* widthValues;
690     ArkUI_Int32* widthUnits;
691     ArkUI_Int32* colors;
692     ArkUI_Float32* radiusValues;
693     ArkUI_Int32* radiusUnits;
694     ArkUI_Int32* styles;
695 };
696 
697 
698 struct ArkUIAnimationOptionType {
699     ArkUI_Int32 duration;
700     ArkUI_CharPtr curve;
701     ArkUI_Int32 delay;
702     ArkUI_Int32 iteration;
703     ArkUI_Int32 palyMode;
704     ArkUI_Float32 tempo;
705 };
706 
707 struct ArkUICommonModifier {
708     void (*setBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
709     void (*resetBackgroundColor)(ArkUINodeHandle node);
710     void (*setWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
711     void (*resetWidth)(ArkUINodeHandle node);
712     void (*setHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
713     void (*resetHeight)(ArkUINodeHandle node);
714     void (*setBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units,
715         ArkUI_Int32 length);
716     void (*resetBorderRadius)(ArkUINodeHandle node);
717     void (*setBorderWidth)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units,
718         ArkUI_Int32 length);
719     void (*resetBorderWidth)(ArkUINodeHandle node);
720     void (*setTransform)(ArkUINodeHandle node, const ArkUI_Float32* matrix, ArkUI_Int32 length);
721     void (*resetTransform)(ArkUINodeHandle node);
722     void (*setBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 leftColorInt, ArkUI_Uint32 rightColorInt,
723         ArkUI_Uint32 topColorInt, ArkUI_Uint32 bottomColorInt);
724     void (*resetBorderColor)(ArkUINodeHandle node);
725     void (*setPosition)(ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue,
726         ArkUI_Int32 yUnit);
727     void (*resetPosition)(ArkUINodeHandle node);
728     void (*setBorderStyle)(ArkUINodeHandle node, const ArkUI_Int32* styles, ArkUI_Int32 length);
729     void (*resetBorderStyle)(ArkUINodeHandle node);
730     void (*setBackShadow)(ArkUINodeHandle node, const ArkUI_Float32* shadows, ArkUI_Int32 length);
731     void (*resetBackShadow)(ArkUINodeHandle node);
732     void (*setHitTestBehavior)(ArkUINodeHandle node, ArkUI_Uint32 value);
733     void (*resetHitTestBehavior)(ArkUINodeHandle node);
734     void (*setZIndex)(ArkUINodeHandle node, ArkUI_Int32 value);
735     void (*resetZIndex)(ArkUINodeHandle node);
736     void (*setOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
737     void (*resetOpacity)(ArkUINodeHandle node);
738     void (*setAlign)(ArkUINodeHandle node, ArkUI_Int32 align);
739     void (*resetAlign)(ArkUINodeHandle node);
740     void (*setBackdropBlur)(ArkUINodeHandle node, ArkUI_Float32 value);
741     void (*resetBackdropBlur)(ArkUINodeHandle node);
742     void (*setHueRotate)(ArkUINodeHandle node, ArkUI_Float32 deg);
743     void (*resetHueRotate)(ArkUINodeHandle node);
744     void (*setInvert)(ArkUINodeHandle node, ArkUI_Float32 invert);
745     void (*resetInvert)(ArkUINodeHandle node);
746     void (*setSepia)(ArkUINodeHandle node, ArkUI_Float32 sepia);
747     void (*resetSepia)(ArkUINodeHandle node);
748     void (*setSaturate)(ArkUINodeHandle node, ArkUI_Float32 saturate);
749     void (*resetSaturate)(ArkUINodeHandle node);
750     void (*setColorBlend)(ArkUINodeHandle node, ArkUI_Uint32 color);
751     void (*resetColorBlend)(ArkUINodeHandle node);
752     void (*setGrayscale)(ArkUINodeHandle node, ArkUI_Float32 grayScale);
753     void (*resetGrayscale)(ArkUINodeHandle node);
754     void (*setContrast)(ArkUINodeHandle node, ArkUI_Float32 contrast);
755     void (*resetContrast)(ArkUINodeHandle node);
756     void (*setBrightness)(ArkUINodeHandle node, ArkUI_Float32 brightness);
757     void (*resetBrightness)(ArkUINodeHandle node);
758     void (*setBlur)(ArkUINodeHandle node, ArkUI_Float32 value);
759     void (*resetBlur)(ArkUINodeHandle node);
760     void (*setLinearGradient)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
761         const ArkUI_Float32* colors, ArkUI_Int32 colorsLength);
762     void (*resetLinearGradient)(ArkUINodeHandle node);
763     void (*setSweepGradient)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
764         const ArkUI_Float32* colors, ArkUI_Int32 colorsLength);
765     void (*resetSweepGradient)(ArkUINodeHandle node);
766     void (*setRadialGradient)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
767         const ArkUI_Float32* colors, ArkUI_Int32 colorsLength);
768     void (*resetRadialGradient)(ArkUINodeHandle node);
769     void (*setOverlay)(
770         ArkUINodeHandle node, ArkUI_CharPtr text, const ArkUI_Float32* options, ArkUI_Int32 optionsLength);
771     void (*resetOverlay)(ArkUINodeHandle node);
772     void (*setBorderImage)(
773         ArkUINodeHandle node, ArkUI_CharPtr src, const ArkUIStringAndFloat* options, ArkUI_Int32 optionsLength);
774     void (*resetBorderImage)(ArkUINodeHandle node);
775     void (*setBorderImageGradient)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
776         const ArkUI_Float32* colors, ArkUI_Int32 colorsLength);
777     void (*setForegroundBlurStyle)(ArkUINodeHandle node, ArkUI_Int32 blurStyle, ArkUI_Int32 colorMode,
778         ArkUI_Int32 adaptiveColor, ArkUI_Float32 scale);
779     void (*resetForegroundBlurStyle)(ArkUINodeHandle node);
780     void (*setLinearGradientBlur)(ArkUINodeHandle node, ArkUI_Float32 blurRadius, const ArkUI_Float32* stops,
781         ArkUI_Uint32 stopsLength, ArkUI_Int32 directionValue);
782     void (*resetLinearGradientBlur)(ArkUINodeHandle node);
783     void (*setBackgroundBlurStyle)(ArkUINodeHandle node, ArkUI_Int32 blurStyle, ArkUI_Int32 colorMode,
784         ArkUI_Int32 adaptiveColor, ArkUI_Float32 scale);
785     void (*resetBackgroundBlurStyle)(ArkUINodeHandle node);
786     void (*setBorder)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize,
787         const ArkUI_Uint32* colorAndStyle, ArkUI_Int32 colorAndStyleSize);
788     void (*resetBorder)(ArkUINodeHandle node);
789     void (*setBackgroundImagePosition)(
790         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* types, ArkUI_Bool isAlign,
791         ArkUI_Int32 size);
792     void (*resetBackgroundImagePosition)(ArkUINodeHandle node);
793     void (*setBackgroundImageSize)(ArkUINodeHandle node, ArkUI_Float32 valueWidth, ArkUI_Float32 valueHeight,
794         ArkUI_Int32 typeWidth, ArkUI_Int32 typeHeight);
795     void (*resetBackgroundImageSize)(ArkUINodeHandle node);
796     void (*setBackgroundImage)(
797         ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundle, ArkUI_CharPtr module, ArkUI_Int32 repeatIndex);
798     void (*resetBackgroundImage)(ArkUINodeHandle node);
799     void (*setTranslate)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units,
800     ArkUI_Int32 length);
801         void (*resetTranslate)(ArkUINodeHandle node);
802     void (*setScale)(
803         ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength, const ArkUI_Int32* units,
804         ArkUI_Int32 unitLength);
805     void (*resetScale)(ArkUINodeHandle node);
806     void (*setRotate)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valLength,
807         const ArkUI_Int32* units, ArkUI_Int32 unitLength);
808     void (*resetRotate)(ArkUINodeHandle node);
809     void (*setGeometryTransition)(ArkUINodeHandle node, ArkUI_CharPtr id);
810     void (*resetGeometryTransition)(ArkUINodeHandle node);
811     void (*setPixelStretchEffect)(
812         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
813     void (*resetPixelStretchEffect)(ArkUINodeHandle node);
814     void (*setLightUpEffect)(ArkUINodeHandle node, ArkUI_Float32 radio);
815     void (*resetLightUpEffect)(ArkUINodeHandle node);
816     void (*setSphericalEffect)(ArkUINodeHandle node, ArkUI_Float32 radio);
817     void (*resetSphericalEffect)(ArkUINodeHandle node);
818     void (*setRenderGroup)(ArkUINodeHandle node, ArkUI_Bool isRenderGroup);
819     void (*resetRenderGroup)(ArkUINodeHandle node);
820     void (*setRenderFit)(ArkUINodeHandle node, ArkUI_Int32 renderFit);
821     void (*resetRenderFit)(ArkUINodeHandle node);
822     void (*setUseEffect)(ArkUINodeHandle node, ArkUI_Bool useEffect);
823     void (*resetUseEffect)(ArkUINodeHandle node);
824     void (*setForegroundColor)(ArkUINodeHandle node, ArkUI_Bool isColor, ArkUI_Uint32 color);
825     void (*resetForegroundColor)(ArkUINodeHandle node);
826     void (*setMotionPath)(
827         ArkUINodeHandle node, ArkUI_CharPtr path, ArkUI_Float32 from, ArkUI_Float32 to, ArkUI_Bool rotatable);
828     void (*resetMotionPath)(ArkUINodeHandle node);
829     void (*setGroupDefaultFocus)(ArkUINodeHandle node, ArkUI_Bool groupDefaultFocus);
830     void (*resetGroupDefaultFocus)(ArkUINodeHandle node);
831     void (*setFocusOnTouch)(ArkUINodeHandle node, ArkUI_Bool focusOnTouch);
832     void (*resetFocusOnTouch)(ArkUINodeHandle node);
833     void (*setFocusable)(ArkUINodeHandle node, ArkUI_Bool focusable);
834     void (*resetFocusable)(ArkUINodeHandle node);
835     void (*setTouchable)(ArkUINodeHandle node, ArkUI_Bool touchable);
836     void (*resetTouchable)(ArkUINodeHandle node);
837     void (*setDefaultFocus)(ArkUINodeHandle node, ArkUI_Bool defaultFocus);
838     void (*resetDefaultFocus)(ArkUINodeHandle node);
839     void (*setDisplayPriority)(ArkUINodeHandle node, ArkUI_Float32 value);
840     void (*resetDisplayPriority)(ArkUINodeHandle node);
841     void (*setOffset)(ArkUINodeHandle node, const ArkUI_Float32* number, const ArkUI_Int32* unit);
842     void (*resetOffset)(ArkUINodeHandle node);
843     void (*setPadding)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
844         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
845     void (*resetPadding)(ArkUINodeHandle node);
846     void (*setMargin)(ArkUINodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
847         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
848     void (*resetMargin)(ArkUINodeHandle node);
849     void (*setMarkAnchor)(
850         ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue, ArkUI_Int32 yUnit);
851     void (*resetMarkAnchor)(ArkUINodeHandle node);
852     void (*setVisibility)(ArkUINodeHandle node, ArkUI_Int32 value);
853     void (*resetVisibility)(ArkUINodeHandle node);
854     void (*setAccessibilityText)(ArkUINodeHandle node, ArkUI_CharPtr value);
855     void (*resetAccessibilityText)(ArkUINodeHandle node);
856     void (*setAllowDrop)(ArkUINodeHandle node, ArkUI_CharPtr* value, ArkUI_Int32 length);
857     void (*resetAllowDrop)(ArkUINodeHandle node);
858     void (*setAccessibilityLevel)(ArkUINodeHandle node, ArkUI_CharPtr value);
859     void (*resetAccessibilityLevel)(ArkUINodeHandle node);
860     void (*setDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
861     void (*resetDirection)(ArkUINodeHandle node);
862     void (*setLayoutWeight)(ArkUINodeHandle node, ArkUI_Int32 layoutWeight);
863     void (*resetLayoutWeight)(ArkUINodeHandle node);
864     void (*setMinWidth)(ArkUINodeHandle node, const struct ArkUISizeType* minWidth);
865     void (*resetMinWidth)(ArkUINodeHandle node);
866     void (*setMaxWidth)(ArkUINodeHandle node, const struct ArkUISizeType* maxWidth);
867     void (*resetMaxWidth)(ArkUINodeHandle node);
868     void (*setMinHeight)(ArkUINodeHandle node, const struct ArkUISizeType* minHeight);
869     void (*resetMinHeight)(ArkUINodeHandle node);
870     void (*setMaxHeight)(ArkUINodeHandle node, const struct ArkUISizeType* maxHeight);
871     void (*resetMaxHeight)(ArkUINodeHandle node);
872     void (*setSize)(ArkUINodeHandle node, const ArkUI_Float32* number, const ArkUI_Int32* unit, ArkUI_CharPtr* calc);
873     void (*resetSize)(ArkUINodeHandle node);
874     void (*clearWidthOrHeight)(ArkUINodeHandle node, ArkUI_Bool isWidth);
875     void (*setAlignSelf)(ArkUINodeHandle node, ArkUI_Int32 value);
876     void (*resetAlignSelf)(ArkUINodeHandle node);
877     void (*setAspectRatio)(ArkUINodeHandle node, ArkUI_Float32 value);
878     void (*resetAspectRatio)(ArkUINodeHandle node);
879     void (*setFlexGrow)(ArkUINodeHandle node, ArkUI_Float32 value);
880     void (*resetFlexGrow)(ArkUINodeHandle node);
881     void (*setFlexShrink)(ArkUINodeHandle node, ArkUI_Float32 value);
882     void (*resetFlexShrink)(ArkUINodeHandle node);
883     void (*setGridOffset)(ArkUINodeHandle node, ArkUI_Int32 offset);
884     void (*resetGridOffset)(ArkUINodeHandle node);
885     void (*setGridSpan)(ArkUINodeHandle node, ArkUI_Int32 value);
886     void (*resetGridSpan)(ArkUINodeHandle node);
887     void (*setExpandSafeArea)(ArkUINodeHandle node, ArkUI_CharPtr typeStr, ArkUI_CharPtr edgesStr);
888     void (*resetExpandSafeArea)(ArkUINodeHandle node);
889     void (*setFlexBasis)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* flexBasisValue);
890     void (*resetFlexBasis)(ArkUINodeHandle node);
891     void (*setAlignRules)(ArkUINodeHandle node, char** anchors, const ArkUI_Int32* direction, ArkUI_Int32 length);
892     void (*resetAlignRules)(ArkUINodeHandle node);
893     void (*setAccessibilityDescription)(ArkUINodeHandle node, ArkUI_CharPtr value);
894     void (*resetAccessibilityDescription)(ArkUINodeHandle node);
895     void (*setId)(ArkUINodeHandle node, ArkUI_CharPtr id);
896     void (*resetId)(ArkUINodeHandle node);
897     void (*setKey)(ArkUINodeHandle node, ArkUI_CharPtr key);
898     void (*resetKey)(ArkUINodeHandle node);
899     void (*setRestoreId)(ArkUINodeHandle node, ArkUI_Uint32 id);
900     void (*resetRestoreId)(ArkUINodeHandle node);
901     void (*setTabIndex)(ArkUINodeHandle node, ArkUI_Int32 index);
902     void (*resetTabIndex)(ArkUINodeHandle node);
903     void (*setObscured)(ArkUINodeHandle node, const ArkUI_Int32* reasons, ArkUI_Int32 length);
904     void (*resetObscured)(ArkUINodeHandle node);
905     void (*setResponseRegion)(
906         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
907     void (*resetResponseRegion)(ArkUINodeHandle node);
908     void (*setMouseResponseRegion)(
909         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
910     void (*resetMouseResponseRegion)(ArkUINodeHandle node);
911     void (*setEnabled)(ArkUINodeHandle node, ArkUI_Bool value);
912     void (*resetEnabled)(ArkUINodeHandle node);
913     void (*setDraggable)(ArkUINodeHandle node, ArkUI_Bool value);
914     void (*resetDraggable)(ArkUINodeHandle node);
915     void (*setAccessibilityGroup)(ArkUINodeHandle node, ArkUI_Bool value);
916     void (*resetAccessibilityGroup)(ArkUINodeHandle node);
917     void (*setHoverEffect)(ArkUINodeHandle node, ArkUI_Int32 hoverEffectValue);
918     void (*resetHoverEffect)(ArkUINodeHandle node);
919     void (*setClickEffect)(ArkUINodeHandle node, ArkUI_Int32 level, ArkUI_Float32 scaleValue);
920     void (*resetClickEffect)(ArkUINodeHandle node);
921     void (*setKeyBoardShortCut)(
922         ArkUINodeHandle node, ArkUI_CharPtr value, const ArkUI_Int32* keysIntArray, ArkUI_Int32 length);
923     void (*resetKeyBoardShortCut)(ArkUINodeHandle node);
924 
925     void (*setClip)(ArkUINodeHandle node, ArkUI_Int32 isClip);
926     void (*setClipShape)(ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32* attribute, ArkUI_Int32 length);
927     void (*setClipPath)(ArkUINodeHandle node, ArkUI_CharPtr type, const ArkUI_Float32* attribute,
928         ArkUI_CharPtr commands);
929     void (*setTransitionCenter)(ArkUINodeHandle node, ArkUI_Float32 centerX, ArkUI_Int32 centerXUnit,
930         ArkUI_Float32 centerY, ArkUI_Int32 centerYUnit, ArkUI_Float32 centerZValue, ArkUI_Int32 centerZUnit);
931     void (*setOpacityTransition)(
932         ArkUINodeHandle node, ArkUI_Float32 value, const ArkUIAnimationOptionType* opacityOption);
933     void (*setRotateTransition)(ArkUINodeHandle node, ArkUI_Float32* arrayValue, ArkUI_Int32 length,
934         ArkUI_Float32 perspective, ArkUI_Float32 angle, const ArkUIAnimationOptionType* opacityOption);
935     void (*setScaleTransition)(ArkUINodeHandle node, ArkUI_Float32* arrayValue, ArkUI_Int32 length,
936         const ArkUIAnimationOptionType* opacityOption);
937     void (*setTranslateTransition)(ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit, ArkUI_Float32 yValue,
938         ArkUI_Int32 yUnit, ArkUI_Float32 zValue, ArkUI_Int32 zUnit, const ArkUIAnimationOptionType* opacityOption);
939 };
940 
941 struct ArkUICommonShapeModifier {
942     void (*setStrokeDashArray)(ArkUINodeHandle node, ArkUI_Float32* dashArray, ArkUI_Int32* dimUnits, ArkUI_Int32 size);
943     void (*resetStrokeDashArray)(ArkUINodeHandle node);
944     void (*setStrokeMiterLimit)(ArkUINodeHandle node, const ArkUI_Float32 miterLimit);
945     void (*resetStrokeMiterLimit)(ArkUINodeHandle node);
946     void (*setFillOpacity)(ArkUINodeHandle node, const ArkUI_Float32 fillOpacity);
947     void (*resetFillOpacity)(ArkUINodeHandle node);
948     void (*setStrokeOpacity)(ArkUINodeHandle node, const ArkUI_Float32 strokeOpacity);
949     void (*resetStrokeOpacity)(ArkUINodeHandle node);
950     void (*setStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
951     void (*resetStrokeWidth)(ArkUINodeHandle node);
952     void (*setAntiAlias)(ArkUINodeHandle node, const ArkUI_Bool antiAlias);
953     void (*resetAntiAlias)(ArkUINodeHandle node);
954     void (*setStroke)(ArkUINodeHandle node, const ArkUI_Uint32 stroke);
955     void (*resetStroke)(ArkUINodeHandle node);
956     void (*setFill)(ArkUINodeHandle node, const ArkUI_Uint32 fill);
957     void (*resetFill)(ArkUINodeHandle node);
958     void (*setStrokeDashOffset)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
959     void (*resetStrokeDashOffset)(ArkUINodeHandle node);
960     void (*setStrokeLineCap)(ArkUINodeHandle node, ArkUI_Int32 strokeLineCap);
961     void (*resetStrokeLineCap)(ArkUINodeHandle node);
962     void (*setStrokeLineJoin)(ArkUINodeHandle node, ArkUI_Int32 lineJoinStyle);
963     void (*resetStrokeLineJoin)(ArkUINodeHandle node);
964 };
965 
966 struct ArkUILineModifier {
967     void (*setStartPoint)(
968         ArkUINodeHandle node, ArkUI_Float32* pointValues, ArkUI_Int32* pointUnits, ArkUI_CharPtr pointStr[]);
969     void (*resetStartPoint)(ArkUINodeHandle node);
970     void (*setEndPoint)(
971         ArkUINodeHandle node, ArkUI_Float32* pointValues, ArkUI_Int32* pointUnits, ArkUI_CharPtr pointStr[]);
972     void (*resetEndPoint)(ArkUINodeHandle node);
973 };
974 
975 struct ArkUIPathModifier {
976     void (*setPathCommands)(ArkUINodeHandle node, ArkUI_CharPtr commands);
977     void (*resetPathCommands)(ArkUINodeHandle node);
978 };
979 
980 struct ArkUIPolygonModifier {
981     void (*setPolygonPoints)(
982         ArkUINodeHandle node, const ArkUI_Float32* pointX, const ArkUI_Float32* pointY, ArkUI_Int32 length);
983     void (*resetPolygonPoints)(ArkUINodeHandle node);
984 };
985 
986 struct ArkUIPolylineModifier {
987     void (*setPoints)(
988         ArkUINodeHandle node, const ArkUI_Float32* pointX, const ArkUI_Float32* pointY, ArkUI_Int32 length);
989     void (*resetPoints)(ArkUINodeHandle node);
990 };
991 
992 struct ArkUIRectModifier {
993     void (*setRectRadiusWidth)(ArkUINodeHandle node, ArkUI_Float32 radiusWidthValue, ArkUI_Int32 radiusWidthUnit);
994     void (*resetRectRadiusWidth)(ArkUINodeHandle node);
995     void (*setRectRadiusHeight)(ArkUINodeHandle node, ArkUI_Float32 radiusHeightValue, ArkUI_Int32 radiusHeightUnit);
996     void (*resetRectRadiusHeight)(ArkUINodeHandle node);
997     void (*setRectRadiusWithArray)(ArkUINodeHandle node, ArkUI_Float32* radiusValues, ArkUI_Int32* radiusUnits,
998         ArkUI_Uint32* radiusValidPairs, ArkUI_Uint32 radiusValidPairsSize);
999     void (*setRectRadiusWithValue)(ArkUINodeHandle node, ArkUI_Float32 radiusValue, ArkUI_Int32 radiusUnit);
1000     void (*resetRectRadius)(ArkUINodeHandle node);
1001 };
1002 
1003 struct ArkUIShapeModifier {
1004     void (*setShapeViewPort)(ArkUINodeHandle node, ArkUI_Float32* dimValues, ArkUI_Int32* dimUnits);
1005     void (*resetShapeViewPort)(ArkUINodeHandle node);
1006     void (*setShapeMesh)(ArkUINodeHandle node, const ArkUI_Float32* mesh, ArkUI_Uint32 arrayItemCount,
1007         ArkUI_Int32 column, ArkUI_Int32 row);
1008     void (*resetShapeMesh)(ArkUINodeHandle node);
1009 };
1010 
1011 struct ArkUITextModifier {
1012     void (*setContent)(ArkUINodeHandle node, ArkUI_CharPtr value);
1013     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr weight);
1014     void (*resetFontWeight)(ArkUINodeHandle node);
1015     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
1016     void (*resetFontStyle)(ArkUINodeHandle node);
1017     void (*setTextAlign)(ArkUINodeHandle node, ArkUI_Uint32 testAlign);
1018     void (*resetTextAlign)(ArkUINodeHandle node);
1019     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1020     void (*resetFontColor)(ArkUINodeHandle node);
1021     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1022     void (*resetFontSize)(ArkUINodeHandle node);
1023     void (*setTextLineHeight)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
1024     void (*resetTextLineHeight)(ArkUINodeHandle node);
1025     void (*setTextOverflow)(ArkUINodeHandle node, ArkUI_Int32 value);
1026     void (*resetTextOverflow)(ArkUINodeHandle node);
1027     void (*setTextDecoration)(
1028         ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, ArkUI_Int32 style);
1029     void (*resetTextDecoration)(ArkUINodeHandle node);
1030     void (*setTextCase)(ArkUINodeHandle node, ArkUI_Int32 value);
1031     void (*resetTextCase)(ArkUINodeHandle node);
1032     void (*setTextMaxLines)(ArkUINodeHandle node, ArkUI_Uint32 maxLine);
1033     void (*resetTextMaxLines)(ArkUINodeHandle node);
1034     void (*setTextMinFontSize)(ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit);
1035     void (*resetTextMinFontSize)(ArkUINodeHandle node);
1036     void (*setTextDraggable)(ArkUINodeHandle node, ArkUI_Uint32 draggable);
1037     void (*resetTextDraggable)(ArkUINodeHandle node);
1038     void (*setTextMaxFontSize)(ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit);
1039     void (*resetTextMaxFontSize)(ArkUINodeHandle node);
1040     void (*setTextFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
1041     void (*resetTextFontFamily)(ArkUINodeHandle node);
1042     void (*setTextCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
1043     void (*resetTextCopyOption)(ArkUINodeHandle node);
1044     void (*setTextTextShadow)(ArkUINodeHandle node, struct ArkUITextShadowStruct* shadows, ArkUI_Uint32 length);
1045     void (*resetTextTextShadow)(ArkUINodeHandle node);
1046     void (*setTextHeightAdaptivePolicy)(ArkUINodeHandle node, ArkUI_Int32 value);
1047     void (*resetTextHeightAdaptivePolicy)(ArkUINodeHandle node);
1048     void (*setTextTextIndent)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* value);
1049     void (*resetTextTextIndent)(ArkUINodeHandle node);
1050     void (*setTextBaselineOffset)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* offset);
1051     void (*resetTextBaselineOffset)(ArkUINodeHandle node);
1052     void (*setTextLetterSpacing)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* letterSpacingStruct);
1053     void (*resetTextLetterSpacing)(ArkUINodeHandle node);
1054     void (*setTextFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* fontInfo);
1055     void (*resetTextFont)(ArkUINodeHandle node);
1056     void (*setWordBreak)(ArkUINodeHandle node, ArkUI_Uint32 wordBreak);
1057     void (*resetWordBreak)(ArkUINodeHandle node);
1058     void (*setEllipsisMode)(ArkUINodeHandle node, ArkUI_Uint32 ellipsisMode);
1059     void (*resetEllipsisMode)(ArkUINodeHandle node);
1060 };
1061 
1062 struct ArkUIButtonModifier {
1063     void (*setButtonLabel)(ArkUINodeHandle node, ArkUI_CharPtr label);
1064     void (*resetButtonLabel)(ArkUINodeHandle node);
1065     void (*setButtonType)(ArkUINodeHandle node, ArkUI_Int32 type);
1066     void (*resetButtonType)(ArkUINodeHandle node);
1067     void (*setButtonStateEffect)(ArkUINodeHandle node, ArkUI_Bool stateEffect);
1068     void (*resetButtonStateEffect)(ArkUINodeHandle node);
1069     void (*setButtonFontColor)(ArkUINodeHandle node, ArkUI_Uint32 fontColor);
1070     void (*resetButtonFontColor)(ArkUINodeHandle node);
1071     void (*setButtonFontSize)(ArkUINodeHandle node, ArkUI_Float32 fontSizeValue, ArkUI_Int32 fontSizeUnit);
1072     void (*resetButtonFontSize)(ArkUINodeHandle node);
1073     void (*setButtonFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
1074     void (*resetButtonFontWeight)(ArkUINodeHandle node);
1075     void (*setButtonFontStyle)(ArkUINodeHandle node, ArkUI_Int32 fontStyle);
1076     void (*resetButtonFontStyle)(ArkUINodeHandle node);
1077     void (*setButtonFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
1078     void (*resetButtonFontFamily)(ArkUINodeHandle node);
1079     void (*setButtonLabelStyle)(ArkUINodeHandle node, ArkUI_CharPtr* stringParameters, const ArkUI_Int32* valueArray,
1080         const ArkUI_Float32* dimensionArray, const ArkUI_Uint32* dataCountArray);
1081     void (*resetButtonLabelStyle)(ArkUINodeHandle node);
1082     void (*setButtonBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1083     void (*resetButtonBackgroundColor)(ArkUINodeHandle node);
1084     void (*setButtonBorderRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesSize);
1085     void (*resetButtonBorderRadius)(ArkUINodeHandle node);
1086 };
1087 
1088 struct ArkUIImageModifier {
1089     void (*setSrc)(ArkUINodeHandle node, ArkUI_CharPtr value);
1090     // Do we need resetSrc() ?
1091     void (*setCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
1092     void (*resetCopyOption)(ArkUINodeHandle node);
1093     void (*setAutoResize)(ArkUINodeHandle node, ArkUI_Bool autoResize);
1094     void (*resetAutoResize)(ArkUINodeHandle node);
1095     void (*setObjectRepeat)(ArkUINodeHandle node, ArkUI_Int32 imageRepeat);
1096     void (*resetObjectRepeat)(ArkUINodeHandle node);
1097     void (*setRenderMode)(ArkUINodeHandle node, ArkUI_Int32 imageRenderMode);
1098     void (*resetRenderMode)(ArkUINodeHandle node);
1099     void (*setSyncLoad)(ArkUINodeHandle node, ArkUI_Bool syncLoadValue);
1100     void (*resetSyncLoad)(ArkUINodeHandle node);
1101     void (*setObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFitNumber);
1102     void (*resetObjectFit)(ArkUINodeHandle node);
1103     void (*setFitOriginalSize)(ArkUINodeHandle node, ArkUI_Bool fitOriginalSizeValue);
1104     void (*resetFitOriginalSize)(ArkUINodeHandle node);
1105     void (*setSourceSize)(ArkUINodeHandle node, ArkUI_Float32 width, ArkUI_Float32 height);
1106     void (*resetSourceSize)(ArkUINodeHandle node);
1107     void (*setMatchTextDirection)(ArkUINodeHandle node, ArkUI_Uint32 value);
1108     void (*resetMatchTextDirection)(ArkUINodeHandle node);
1109     void (*setFillColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
1110     void (*resetFillColor)(ArkUINodeHandle node);
1111     void (*setAlt)(ArkUINodeHandle node, ArkUI_CharPtr src, ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
1112     void (*resetAlt)(ArkUINodeHandle node);
1113     void (*setImageInterpolation)(ArkUINodeHandle node, ArkUI_Int32 value);
1114     void (*resetImageInterpolation)(ArkUINodeHandle node);
1115     void (*setColorFilter)(ArkUINodeHandle node, const ArkUI_Float32* array, ArkUI_Int32 length);
1116     void (*resetColorFilter)(ArkUINodeHandle node);
1117     void (*setImageSyncLoad)(ArkUINodeHandle node, ArkUI_Bool syncLoadValue);
1118     void (*resetImageSyncLoad)(ArkUINodeHandle node);
1119     void (*setImageObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFitNumber);
1120     void (*resetImageObjectFit)(ArkUINodeHandle node);
1121     void (*setImageFitOriginalSize)(ArkUINodeHandle node, ArkUI_Bool fitOriginalSizeValue);
1122     void (*resetImageFitOriginalSize)(ArkUINodeHandle node);
1123     void (*setImageDraggable)(ArkUINodeHandle node, ArkUI_Bool value);
1124     void (*resetImageDraggable)(ArkUINodeHandle node);
1125     void (*setImageBorderRadius)(
1126         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 length);
1127     void (*resetImageBorderRadius)(ArkUINodeHandle node);
1128 };
1129 
1130 struct ArkUIColumnModifier {
1131     void (*setColumnJustifyContent)(ArkUINodeHandle node, ArkUI_Int32 flexAlign);
1132     void (*resetColumnJustifyContent)(ArkUINodeHandle node);
1133     void (*setColumnAlignItems)(ArkUINodeHandle node, ArkUI_Int32 value);
1134     void (*resetColumnAlignItems)(ArkUINodeHandle node);
1135 };
1136 
1137 struct ArkUIRowModifier {
1138     void (*setRowJustifyContent)(ArkUINodeHandle node, ArkUI_Int32 flexAlign);
1139     void (*resetRowJustifyContent)(ArkUINodeHandle node);
1140     void (*setRowAlignItems)(ArkUINodeHandle node, ArkUI_Int32 verticalAlign);
1141     void (*resetRowAlignItems)(ArkUINodeHandle node);
1142 };
1143 
1144 struct ArkUIDividerModifier {
1145     void (*setDividerStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1146     void (*resetDividerStrokeWidth)(ArkUINodeHandle node);
1147     void (*setDividerLineCap)(ArkUINodeHandle node, ArkUI_Int32 lineCap);
1148     void (*resetDividerLineCap)(ArkUINodeHandle node);
1149     void (*setDividerColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1150     void (*resetDividerColor)(ArkUINodeHandle node);
1151     void (*setDividerVertical)(ArkUINodeHandle node, ArkUI_Bool value);
1152     void (*resetDividerVertical)(ArkUINodeHandle node);
1153 };
1154 
1155 struct ArkUIFlexModifier {
1156     void (*setFlexOptions)(ArkUINodeHandle node, ArkUI_Int32* options, ArkUI_Int32 length);
1157 };
1158 
1159 struct ArkUIListModifier {
1160     void (*setListLanes)(ArkUINodeHandle node, ArkUI_Int32 lanesNum, const struct ArkUIDimensionType* minLength,
1161         const struct ArkUIDimensionType* maxLength, const struct ArkUIDimensionType* gutter);
1162     void (*resetListLanes)(ArkUINodeHandle node);
1163     void (*setEditMode)(ArkUINodeHandle node, ArkUI_Bool editMode);
1164     void (*resetEditMode)(ArkUINodeHandle node);
1165     void (*setMultiSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
1166     void (*resetMultiSelectable)(ArkUINodeHandle node);
1167     void (*setChainAnimation)(ArkUINodeHandle node, ArkUI_Bool chainAnimation);
1168     void (*resetChainAnimation)(ArkUINodeHandle node);
1169     void (*setCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
1170     void (*resetCachedCount)(ArkUINodeHandle node);
1171     void (*setEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool enableScrollInteraction);
1172     void (*resetEnableScrollInteraction)(ArkUINodeHandle node);
1173     void (*setSticky)(ArkUINodeHandle node, ArkUI_Int32 stickyStyle);
1174     void (*resetSticky)(ArkUINodeHandle node);
1175     void (*setListEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled);
1176     void (*resetListEdgeEffect)(ArkUINodeHandle node);
1177     void (*setListDirection)(ArkUINodeHandle node, ArkUI_Int32 axis);
1178     void (*resetListDirection)(ArkUINodeHandle node);
1179     void (*setListFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
1180     void (*resetListFriction)(ArkUINodeHandle node);
1181     void (*setListNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 forward, ArkUI_Int32 backward);
1182     void (*resetListNestedScroll)(ArkUINodeHandle node);
1183     void (*setListScrollBar)(ArkUINodeHandle node, ArkUI_Int32 barState);
1184     void (*resetListScrollBar)(ArkUINodeHandle node);
1185     void (*setListScrollBarWidth)(ArkUINodeHandle node, ArkUI_CharPtr value);
1186     void (*setListScrollBarColor)(ArkUINodeHandle node, ArkUI_CharPtr value);
1187     void (*setAlignListItem)(ArkUINodeHandle node, ArkUI_Int32 listItemAlign);
1188     void (*resetAlignListItem)(ArkUINodeHandle node);
1189     void (*setScrollSnapAlign)(ArkUINodeHandle node, ArkUI_Int32 scrollSnapAlign);
1190     void (*resetScrollSnapAlign)(ArkUINodeHandle node);
1191     void (*listSetDivider)(ArkUINodeHandle node, const ArkUI_Uint32 color, const ArkUI_Float32* values,
1192         const ArkUI_Int32* units, ArkUI_Int32 length);
1193     void (*listResetDivider)(ArkUINodeHandle node);
1194     void (*setChainAnimationOptions)(
1195         ArkUINodeHandle node, const struct ArkUIChainAnimationOptionsType* chainAnimationOptions);
1196     void (*resetChainAnimationOptions)(ArkUINodeHandle node);
1197     void (*setListSpace)(ArkUINodeHandle node, ArkUI_Float32 space);
1198 };
1199 
1200 struct ArkUIListItemGroupModifier {
1201     void (*listItemGroupSetDivider)(
1202         ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values,
1203         const ArkUI_Int32* units, ArkUI_Int32 length);
1204     void (*listItemGroupResetDivider)(ArkUINodeHandle node);
1205     void (*listItemGroupSetHeader)(ArkUINodeHandle node, ArkUINodeHandle header);
1206     void (*listItemGroupSetFooter)(ArkUINodeHandle node, ArkUINodeHandle footer);
1207 };
1208 
1209 struct ArkUISwiperModifier {
1210     void (*setSwiperNextMargin)(ArkUINodeHandle node, ArkUI_Float32 nextMarginValue, ArkUI_Int32 nextMarginUnit);
1211     void (*resetSwiperNextMargin)(ArkUINodeHandle node);
1212     void (*setSwiperPrevMargin)(ArkUINodeHandle node, ArkUI_Float32 prevMarginValue, ArkUI_Int32 prevMarginUnit);
1213     void (*resetSwiperPrevMargin)(ArkUINodeHandle node);
1214     void (*setSwiperDisplayCount)(ArkUINodeHandle node, ArkUI_CharPtr displayCountChar, ArkUI_CharPtr displayCountType);
1215     void (*resetSwiperDisplayCount)(ArkUINodeHandle node);
1216     void (*setSwiperDisplayArrow)(ArkUINodeHandle node, ArkUI_CharPtr displayArrowStr);
1217     void (*resetSwiperDisplayArrow)(ArkUINodeHandle node);
1218     void (*setSwiperCurve)(ArkUINodeHandle node, ArkUI_CharPtr curveChar);
1219     void (*resetSwiperCurve)(ArkUINodeHandle node);
1220     void (*setSwiperDisableSwipe)(ArkUINodeHandle node, ArkUI_Bool disableSwipe);
1221     void (*resetSwiperDisableSwipe)(ArkUINodeHandle node);
1222     void (*setSwiperEffectMode)(ArkUINodeHandle node, ArkUI_Int32 edgeEffect);
1223     void (*resetSwiperEffectMode)(ArkUINodeHandle node);
1224     void (*setSwiperCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
1225     void (*resetSwiperCachedCount)(ArkUINodeHandle node);
1226     void (*setSwiperDisplayMode)(ArkUINodeHandle node, ArkUI_Int32 displayMode);
1227     void (*resetSwiperDisplayMode)(ArkUINodeHandle node);
1228     void (*setSwiperItemSpace)(ArkUINodeHandle node, ArkUI_Float32 itemSpaceValue, ArkUI_Int32 itemSpaceUnit);
1229     void (*resetSwiperItemSpace)(ArkUINodeHandle node);
1230     void (*setSwiperVertical)(ArkUINodeHandle node, ArkUI_Bool isVertical);
1231     void (*resetSwiperVertical)(ArkUINodeHandle node);
1232     void (*setSwiperLoop)(ArkUINodeHandle node, ArkUI_Bool loop);
1233     void (*resetSwiperLoop)(ArkUINodeHandle node);
1234     void (*setSwiperInterval)(ArkUINodeHandle node, ArkUI_Int32 interval);
1235     void (*resetSwiperInterval)(ArkUINodeHandle node);
1236     void (*setSwiperAutoPlay)(ArkUINodeHandle node, ArkUI_Bool autoPlay);
1237     void (*resetSwiperAutoPlay)(ArkUINodeHandle node);
1238     void (*setSwiperIndex)(ArkUINodeHandle node, ArkUI_Int32 index);
1239     void (*resetSwiperIndex)(ArkUINodeHandle node);
1240     void (*setSwiperIndicator)(ArkUINodeHandle node, ArkUI_CharPtr indicatorStr);
1241     void (*resetSwiperIndicator)(ArkUINodeHandle node);
1242     void (*setSwiperDuration)(ArkUINodeHandle node, ArkUI_Int32 duration);
1243     void (*resetSwiperDuration)(ArkUINodeHandle node);
1244 };
1245 
1246 struct ArkUISwiperControllerModifier {
1247     ArkUINodeHandle (*getSwiperController)(ArkUINodeHandle node);
1248     void (*setShowNext)(ArkUINodeHandle node);
1249     void (*setShowPrevious)(ArkUINodeHandle node);
1250 };
1251 
1252 struct ArkUIStackModifier {
1253     void (*setAlignContent)(ArkUINodeHandle node, ArkUI_Int32 alignment);
1254     void (*resetAlignContent)(ArkUINodeHandle node);
1255 };
1256 
1257 struct ArkUINavigatorModifier {
1258     void (*setTarget)(ArkUINodeHandle node, ArkUI_CharPtr value);
1259     void (*resetTarget)(ArkUINodeHandle node);
1260     void (*setType)(ArkUINodeHandle node, ArkUI_Int32 value);
1261     void (*resetType)(ArkUINodeHandle node);
1262     void (*setActive)(ArkUINodeHandle node, ArkUI_Bool active);
1263     void (*resetActive)(ArkUINodeHandle node);
1264     void (*setParams)(ArkUINodeHandle node, ArkUI_CharPtr args);
1265     void (*resetParams)(ArkUINodeHandle node);
1266 };
1267 
1268 struct ArkUINodeContainerModifier {
1269     void (*Rebuild)(ArkUI_Int32 nodeId);
1270 };
1271 
1272 struct ArkUITimepickerModifier {
1273     void (*setTimepickerBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1274     void (*setTimepickerDisappearTextStyle)(
1275         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1276     void (*setTimepickerTextStyle)(
1277         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1278     void (*setTimepickerSelectedTextStyle)(
1279         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1280     void (*resetTimepickerDisappearTextStyle)(ArkUINodeHandle node);
1281     void (*resetTimepickerTextStyle)(ArkUINodeHandle node);
1282     void (*resetTimepickerSelectedTextStyle)(ArkUINodeHandle node);
1283     void (*resetTimepickerBackgroundColor)(ArkUINodeHandle node);
1284 };
1285 
1286 struct ArkUIVideoModifier {
1287     void (*setAutoPlay)(ArkUINodeHandle node, ArkUI_Uint32 autoPlay);
1288     void (*resetAutoPlay)(ArkUINodeHandle node);
1289     void (*setVideoObjectFit)(ArkUINodeHandle node, ArkUI_Int32 objectFit);
1290     void (*resetVideoObjectFit)(ArkUINodeHandle node);
1291     void (*setVideoControls)(ArkUINodeHandle node, ArkUI_Uint32 controlsValue);
1292     void (*resetVideoControls)(ArkUINodeHandle node);
1293     void (*setVideoLoop)(ArkUINodeHandle node, ArkUI_Uint32 value);
1294     void (*resetVideoLoop)(ArkUINodeHandle node);
1295     void (*setVideoMuted)(ArkUINodeHandle node, ArkUI_Uint32 value);
1296     void (*resetVideoMuted)(ArkUINodeHandle node);
1297 };
1298 
1299 struct ArkUIVideoControllerModifier {
1300     ArkUINodeHandle (*getVideoController)(ArkUINodeHandle node);
1301     void (*setVideoStart)(ArkUINodeHandle node);
1302     void (*setVideoStop)(ArkUINodeHandle node);
1303     void (*setVideoPause)(ArkUINodeHandle node);
1304 };
1305 
1306 struct ArkUIGridModifier {
1307     void (*setGridColumnsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr columnsTemplate);
1308     void (*resetGridColumnsTemplate)(ArkUINodeHandle node);
1309     void (*setGridRowsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr rowsTemplate);
1310     void (*resetGridRowsTemplate)(ArkUINodeHandle node);
1311     void (*setGridColumnsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* columnsGap);
1312     void (*resetGridColumnsGap)(ArkUINodeHandle node);
1313     void (*setGridRowsGap)(ArkUINodeHandle node, const struct ArkUIResourceLength* rowsGap);
1314     void (*resetGridRowsGap)(ArkUINodeHandle node);
1315     void (*setGridScrollBar)(ArkUINodeHandle node, ArkUI_Int32 scrollBar);
1316     void (*resetGridScrollBar)(ArkUINodeHandle node);
1317     void (*setGridScrollBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1318     void (*resetGridScrollBarWidth)(ArkUINodeHandle node);
1319     void (*setGridScrollBarColor)(ArkUINodeHandle node, ArkUI_Uint32 scrollBarColor);
1320     void (*resetGridScrollBarColor)(ArkUINodeHandle node);
1321     void (*setGridCachedCount)(ArkUINodeHandle node, ArkUI_Int32 cachedCount);
1322     void (*resetGridCachedCount)(ArkUINodeHandle node);
1323     void (*setGridEditMode)(ArkUINodeHandle node, ArkUI_Bool editMode);
1324     void (*resetGridEditMode)(ArkUINodeHandle node);
1325     void (*setGridMultiSelectable)(ArkUINodeHandle node, ArkUI_Bool multiSelectable);
1326     void (*resetGridMultiSelectable)(ArkUINodeHandle node);
1327     void (*setGridMaxCount)(ArkUINodeHandle node, ArkUI_Int32 maxCount);
1328     void (*resetGridMaxCount)(ArkUINodeHandle node);
1329     void (*setGridMinCount)(ArkUINodeHandle node, ArkUI_Int32 minCount);
1330     void (*resetGridMinCount)(ArkUINodeHandle node);
1331     void (*setGridCellLength)(ArkUINodeHandle node, ArkUI_Int32 cellLength);
1332     void (*resetGridCellLength)(ArkUINodeHandle node);
1333     void (*setGridLayoutDirection)(ArkUINodeHandle node, ArkUI_Int32 layoutDirection);
1334     void (*resetGridLayoutDirection)(ArkUINodeHandle node);
1335     void (*setGridSupportAnimation)(ArkUINodeHandle node, ArkUI_Bool supportAnimation);
1336     void (*resetGridSupportAnimation)(ArkUINodeHandle node);
1337 
1338     void (*setEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled);
1339     void (*resetEdgeEffect)(ArkUINodeHandle node);
1340     void (*setNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 forward, ArkUI_Int32 backward);
1341     void (*resetNestedScroll)(ArkUINodeHandle node);
1342     void (*setEnableScroll)(ArkUINodeHandle node, ArkUI_Bool scrollEnabled);
1343     void (*resetEnableScroll)(ArkUINodeHandle node);
1344     void (*setFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
1345     void (*resetFriction)(ArkUINodeHandle node);
1346 };
1347 
1348 struct ArkUIGridItemModifier {
1349     void (*setGridItemSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
1350     void (*resetGridItemSelectable)(ArkUINodeHandle node);
1351     void (*setGridItemSelected)(ArkUINodeHandle node, ArkUI_Bool selected);
1352     void (*resetGridItemSelected)(ArkUINodeHandle node);
1353     void (*setGridItemRowStart)(ArkUINodeHandle node, ArkUI_Int32 rowStart);
1354     void (*resetGridItemRowStart)(ArkUINodeHandle node);
1355     void (*setGridItemRowEnd)(ArkUINodeHandle node, ArkUI_Int32 rowEnd);
1356     void (*resetGridItemRowEnd)(ArkUINodeHandle node);
1357     void (*setGridItemColumnStart)(ArkUINodeHandle node, ArkUI_Int32 columnStart);
1358     void (*resetGridItemColumnStart)(ArkUINodeHandle node);
1359     void (*setGridItemColumnEnd)(ArkUINodeHandle node, ArkUI_Int32 columnEnd);
1360     void (*resetGridItemColumnEnd)(ArkUINodeHandle node);
1361 };
1362 
1363 struct ArkUIScrollModifier {
1364     void (*setScrollNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 scrollForward, ArkUI_Int32 scrollBackward);
1365     void (*resetScrollNestedScroll)(ArkUINodeHandle node);
1366     void (*setScrollEnableScroll)(ArkUINodeHandle node, ArkUI_Bool value);
1367     void (*resetScrollEnableScroll)(ArkUINodeHandle node);
1368     void (*setScrollFriction)(ArkUINodeHandle node, ArkUI_Float32 value);
1369     void (*resetScrollFriction)(ArkUINodeHandle node);
1370     void (*setScrollScrollSnap)(ArkUINodeHandle node, const ArkUI_Float32* paginationValue, ArkUI_Int32 paginationSize,
1371         const ArkUI_Int32* paginationParam, ArkUI_Int32 paramSize);
1372     void (*resetScrollScrollSnap)(ArkUINodeHandle node);
1373     void (*setScrollScrollBar)(ArkUINodeHandle node, ArkUI_Int32 value);
1374     void (*resetScrollScrollBar)(ArkUINodeHandle node);
1375     void (*setScrollScrollable)(ArkUINodeHandle node, ArkUI_Int32 scrollDirection);
1376     void (*resetScrollScrollable)(ArkUINodeHandle node);
1377     void (*setScrollScrollBarColor)(ArkUINodeHandle node, ArkUI_Uint32 scrollBarColor);
1378     void (*resetScrollScrollBarColor)(ArkUINodeHandle node);
1379     void (*setScrollScrollBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1380     void (*resetScrollScrollBarWidth)(ArkUINodeHandle node);
1381     void (*setScrollEdgeEffect)(ArkUINodeHandle node, ArkUI_Int32 edgeEffect, ArkUI_Bool alwaysEnabled);
1382     void (*resetScrollEdgeEffect)(ArkUINodeHandle node);
1383     void (*setEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool enableScrollInteraction);
1384     void (*resetEnableScrollInteraction)(ArkUINodeHandle node);
1385     void (*setScrollTo)(ArkUINodeHandle node, const ArkUI_Float32* values);
1386     void (*setScrollEdge)(ArkUINodeHandle node, ArkUI_Int32 value);
1387 };
1388 
1389 struct ArkUIListItemModifier {
1390     void (*setListItemSelected)(ArkUINodeHandle node, ArkUI_Bool selected);
1391     void (*resetListItemSelected)(ArkUINodeHandle node);
1392     void (*setSelectable)(ArkUINodeHandle node, ArkUI_Bool selectable);
1393     void (*resetSelectable)(ArkUINodeHandle node);
1394 };
1395 
1396 struct ArkUIScrollBarModifier {
1397     void (*setScrollBarDirection)(ArkUINodeHandle node, ArkUI_Int32 direction);
1398     void (*resetScrollBarDirection)(ArkUINodeHandle node);
1399     void (*setScrollBarState)(ArkUINodeHandle node, ArkUI_Int32 state);
1400     void (*resetScrollBarState)(ArkUINodeHandle node);
1401     void (*setScrollBarScroller)(ArkUINodeHandle node, ArkUINodeHandle controller);
1402 };
1403 
1404 struct ArkUIScrollerModifier {
1405     ArkUINodeHandle (*getScroller)(ArkUINodeHandle node, ArkUINodeHandle proxy);
1406     ArkUINodeHandle (*getScrollerProxy)(ArkUINodeHandle node);
1407     void (*setScrollToIndex)(ArkUINodeHandle node, ArkUI_Int32 value);
1408     void (*scrollBy)(ArkUINodeHandle node, ArkUI_Float32* values, ArkUI_Int32* units);
1409     void (*getCurrentOffset)(ArkUINodeHandle node, ArkUI_Float32* out);
1410 };
1411 
1412 struct ArkUITabsModifier {
1413     void (*setTabBarMode)(ArkUINodeHandle node, ArkUI_Int32 tabsBarMode);
1414     void (*setScrollableBarModeOptions)(
1415         ArkUINodeHandle node, const ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_Int32 layoutStyle);
1416     void (*setBarGridAlign)(ArkUINodeHandle node, const ArkUI_Float32* values, ArkUI_Int32 valuesLength,
1417         const ArkUI_Int32* units, ArkUI_Int32 unitsLength);
1418     void (*setDivider)(ArkUINodeHandle node, ArkUI_Uint32 color, const ArkUI_Float32* values, const ArkUI_Int32* units,
1419         ArkUI_Int32 length);
1420     void (*setFadingEdge)(ArkUINodeHandle node, ArkUI_Bool fadingEdge);
1421     void (*setBarBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1422     void (*setBarOverlap)(ArkUINodeHandle node, ArkUI_Bool overlap);
1423     void (*setIsVertical)(ArkUINodeHandle node, ArkUI_Bool isVertical);
1424     void (*setTabBarPosition)(ArkUINodeHandle node, ArkUI_Int32 barVal);
1425     void (*setScrollable)(ArkUINodeHandle node, ArkUI_Bool scrollable);
1426     void (*setTabBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1427     void (*setTabBarHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1428     void (*setBarAdaptiveHeight)(ArkUINodeHandle node, ArkUI_Bool value);
1429     void (*setAnimationDuration)(ArkUINodeHandle node, ArkUI_Float32 duration);
1430     void (*resetTabBarMode)(ArkUINodeHandle node);
1431     void (*resetScrollableBarModeOptions)(ArkUINodeHandle node);
1432     void (*resetBarGridAlign)(ArkUINodeHandle node);
1433     void (*resetDivider)(ArkUINodeHandle node);
1434     void (*resetFadingEdge)(ArkUINodeHandle node);
1435     void (*resetBarBackgroundColor)(ArkUINodeHandle node);
1436     void (*resetBarOverlap)(ArkUINodeHandle node);
1437     void (*resetIsVertical)(ArkUINodeHandle node);
1438     void (*resetTabBarPosition)(ArkUINodeHandle node);
1439     void (*resetScrollable)(ArkUINodeHandle node);
1440     void (*resetTabBarWidth)(ArkUINodeHandle node);
1441     void (*resetTabBarHeight)(ArkUINodeHandle node);
1442     void (*resetBarAdaptiveHeight)(ArkUINodeHandle node);
1443     void (*resetAnimationDuration)(ArkUINodeHandle node);
1444 };
1445 
1446 struct ArkUIStepperItemModifier {
1447     void (*setNextLabel)(ArkUINodeHandle node, ArkUI_CharPtr rightLabel);
1448     void (*resetNextLabel)(ArkUINodeHandle node);
1449 };
1450 
1451 struct ArkUITabContentModifier {
1452     void (*setTabContentBuilder)(ArkUINodeHandle node, ArkUI_Int32 methodId);
1453     void (*setTabContentLabel)(ArkUINodeHandle node, ArkUI_CharPtr label);
1454 };
1455 
1456 struct ArkUITabsControllerModifier {
1457     ArkUINodeHandle (*getTabsController)(ArkUINodeHandle node);
1458 };
1459 
1460 struct ArkUIGestureModifier {
1461     void (*tapGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 mask, ArkUI_Int32 priority,
1462         ArkUI_Int32 count, ArkUI_Int32 fingers);
1463     void (*longPressGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 mask, ArkUI_Int32 priority,
1464         ArkUI_Int32 fingers, ArkUI_Int32 repeat, ArkUI_Int32 duration, ArkUI_Int32* event);
1465     void (*panGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 mask, ArkUI_Int32 priority,
1466         ArkUI_Int32 fingers, ArkUI_Int32 direction, ArkUI_Int32 distance, ArkUI_Int32* event);
1467     void (*pinchGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 mask, ArkUI_Int32 priority,
1468         ArkUI_Int32 fingers, ArkUI_Int32 distance, ArkUI_Int32* event);
1469     void (*groupGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 mode, ArkUI_Int32* event);
1470     void (*notifyResetGestureAsyncEvent)(ArkUINodeHandle nodePtr, ArkUI_Int32 subKind);
1471 };
1472 
1473 struct ArkUISliderModifier {
1474     void (*setShowTips)(ArkUINodeHandle node, ArkUI_Bool isShow, ArkUI_CharPtr value);
1475     void (*resetShowTips)(ArkUINodeHandle node);
1476     void (*setSliderStepSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1477     void (*resetSliderStepSize)(ArkUINodeHandle node);
1478     void (*setBlockSize)(
1479         ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit,
1480         ArkUI_Float32 heightVal, ArkUI_Int32 heightUnit);
1481     void (*resetBlockSize)(ArkUINodeHandle node);
1482     void (*setTrackBorderRadius)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1483     void (*resetTrackBorderRadius)(ArkUINodeHandle node);
1484     void (*setStepColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1485     void (*resetStepColor)(ArkUINodeHandle node);
1486     void (*setBlockBorderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1487     void (*resetBlockBorderColor)(ArkUINodeHandle node);
1488     void (*setBlockBorderWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1489     void (*resetBlockBorderWidth)(ArkUINodeHandle node);
1490     void (*setBlockColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1491     void (*resetBlockColor)(ArkUINodeHandle node);
1492     void (*setTrackBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1493     void (*resetTrackBackgroundColor)(ArkUINodeHandle node);
1494     void (*setSelectColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1495     void (*resetSelectColor)(ArkUINodeHandle node);
1496     void (*setShowSteps)(ArkUINodeHandle node, ArkUI_Bool showSteps);
1497     void (*resetShowSteps)(ArkUINodeHandle node);
1498     void (*setThickness)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1499     void (*resetThickness)(ArkUINodeHandle node);
1500 };
1501 
1502 struct ArkUIProgressModifier {
1503     void (*setProgressValue)(ArkUINodeHandle node, ArkUI_Float32 value);
1504     void (*resetProgressValue)(ArkUINodeHandle node);
1505     void (*setProgressGradientColor)(
1506         ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Int32 length);
1507     void (*setProgressColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1508     void (*resetProgressColor)(ArkUINodeHandle node);
1509     void (*setProgressStyle)(ArkUINodeHandle node, ArkUIProgressStyle* value);
1510     void (*resetProgressStyle)(ArkUINodeHandle node);
1511     void (*setProgressBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1512     void (*resetProgressBackgroundColor)(ArkUINodeHandle node);
1513 };
1514 
1515 struct ArkUIPluginModifier {
1516     void (*setPluginWidth)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit);
1517     void (*setPluginHeight)(ArkUINodeHandle node, ArkUI_Float32 heightVal, ArkUI_Int32 heightUnit);
1518     void (*setPluginSize)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Float32 heightVal, ArkUI_Int32 widthUnit,
1519         ArkUI_Int32 heightUnit);
1520     void (*resetPluginWidth)(ArkUINodeHandle node);
1521     void (*resetPluginHeight)(ArkUINodeHandle node);
1522     void (*resetPluginSize)(ArkUINodeHandle node);
1523 };
1524 
1525 struct ArkUINavDestinationModifier {
1526     void (*setHideTitleBar)(ArkUINodeHandle node, ArkUI_Bool hideTitle);
1527     void (*resetHideTitleBar)(ArkUINodeHandle node);
1528 };
1529 
1530 struct ArkUITextAreaModifier {
1531     void (*setTextAreaStyle)(ArkUINodeHandle node, ArkUI_Int32 style);
1532     void (*resetTextAreaStyle)(ArkUINodeHandle node);
1533     void (*setTextAreaSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 contextMenuHidden);
1534     void (*resetTextAreaSelectionMenuHidden)(ArkUINodeHandle node);
1535     void (*setTextAreaMaxLines)(ArkUINodeHandle node, ArkUI_Uint32 maxLine);
1536     void (*resetTextAreaMaxLines)(ArkUINodeHandle node);
1537     void (*setTextAreaCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOptions);
1538     void (*resetTextAreaCopyOption)(ArkUINodeHandle node);
1539     void (*setTextAreaPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1540     void (*resetTextAreaPlaceholderColor)(ArkUINodeHandle node);
1541     void (*setTextAreaTextAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
1542     void (*resetTextAreaTextAlign)(ArkUINodeHandle node);
1543     void (*setTextAreaPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIResourceLength* size,
1544         ArkUI_CharPtr weight, ArkUI_CharPtr family, ArkUI_Int32 style);
1545     void (*resetTextAreaPlaceholderFont)(ArkUINodeHandle node);
1546     void (*setTextAreaBarState)(ArkUINodeHandle node, ArkUI_Uint32 barStateValue);
1547     void (*resetTextAreaBarState)(ArkUINodeHandle node);
1548     void (*setTextAreaEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 keyboardOnFocusValue);
1549     void (*resetTextAreaEnableKeyboardOnFocus)(ArkUINodeHandle node);
1550     void (*setTextAreaFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
1551     void (*resetTextAreaFontFamily)(ArkUINodeHandle node);
1552     void (*setTextAreaShowCounter)(ArkUINodeHandle node, ArkUI_Uint32 value);
1553     void (*resetTextAreaShowCounter)(ArkUINodeHandle node);
1554     void (*setTextAreaCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1555     void (*resetTextAreaCaretColor)(ArkUINodeHandle node);
1556     void (*setTextAreaMaxLength)(ArkUINodeHandle node, ArkUI_Int32 value);
1557     void (*resetTextAreaMaxLength)(ArkUINodeHandle node);
1558     void (*setTextAreaFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1559     void (*resetTextAreaFontColor)(ArkUINodeHandle node);
1560     void (*setTextAreaFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
1561     void (*resetTextAreaFontStyle)(ArkUINodeHandle node);
1562     void (*setTextAreaFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
1563     void (*resetTextAreaFontWeight)(ArkUINodeHandle node);
1564     void (*setTextAreaFontSize)(ArkUINodeHandle node, const struct ArkUIResourceLength* size);
1565     void (*resetTextAreaFontSize)(ArkUINodeHandle node);
1566     void (*setCounterType)(ArkUINodeHandle node, ArkUI_Int32 value);
1567     void (*setTextAreaPlaceholderString)(ArkUINodeHandle node, ArkUI_CharPtr value);
1568     void (*setTextAreaTextString)(ArkUINodeHandle node, ArkUI_CharPtr value);
1569     void (*stopTextAreaTextEditing)(ArkUINodeHandle node);
1570 };
1571 
1572 struct ArkUITextInputModifier {
1573     void (*setTextInputCaretColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1574     void (*resetTextInputCaretColor)(ArkUINodeHandle node);
1575     void (*setTextInputType)(ArkUINodeHandle node, ArkUI_Int32 value);
1576     void (*resetTextInputType)(ArkUINodeHandle node);
1577     void (*setTextInputMaxLines)(ArkUINodeHandle node, ArkUI_Int32 value);
1578     void (*resetTextInputMaxLines)(ArkUINodeHandle node);
1579     void (*setTextInputPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1580     void (*resetTextInputPlaceholderColor)(ArkUINodeHandle node);
1581     void (*setTextInputCaretPosition)(ArkUINodeHandle node, ArkUI_Int32 caretPosition);
1582     void (*resetTextInputCaretPosition)(ArkUINodeHandle node);
1583     void (*setTextInputCopyOption)(ArkUINodeHandle node, ArkUI_Int32 copyOption);
1584     void (*resetTextInputCopyOption)(ArkUINodeHandle node);
1585     void (*setTextInputShowPasswordIcon)(ArkUINodeHandle node, ArkUI_Uint32 showPasswordIcon);
1586     void (*resetTextInputShowPasswordIcon)(ArkUINodeHandle node);
1587     void (*setTextInputPasswordIcon)(ArkUINodeHandle node, const struct ArkUIPasswordIconType* passwordIcon);
1588     void (*resetTextInputPasswordIcon)(ArkUINodeHandle node);
1589     void (*setTextInputTextAlign)(ArkUINodeHandle node, ArkUI_Int32 textAlign);
1590     void (*resetTextInputTextAlign)(ArkUINodeHandle node);
1591     void (*setTextInputStyle)(ArkUINodeHandle node, ArkUI_Int32 style);
1592     void (*resetTextInputStyle)(ArkUINodeHandle node);
1593     void (*setTextInputSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 menuHiddenValue);
1594     void (*resetTextInputSelectionMenuHidden)(ArkUINodeHandle node);
1595     void (*setTextInputShowUnderline)(ArkUINodeHandle node, ArkUI_Uint32 showUnderLine);
1596     void (*resetTextInputShowUnderline)(ArkUINodeHandle node);
1597     void (*setTextInputCaretStyle)(ArkUINodeHandle node, const ArkUILengthType* value);
1598     void (*resetTextInputCaretStyle)(ArkUINodeHandle node);
1599     void (*setTextInputEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 value);
1600     void (*resetTextInputEnableKeyboardOnFocus)(ArkUINodeHandle node);
1601     void (*setTextInputBarState)(ArkUINodeHandle node, ArkUI_Int32 value);
1602     void (*resetTextInputBarState)(ArkUINodeHandle node);
1603     void (*setTextInputEnterKeyType)(ArkUINodeHandle node, ArkUI_Int32 value);
1604     void (*resetTextInputEnterKeyType)(ArkUINodeHandle node);
1605     void (*setTextInputFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
1606     void (*resetTextInputFontWeight)(ArkUINodeHandle node);
1607     void (*setTextInputFontSize)(ArkUINodeHandle node, const struct ArkUILengthType* value);
1608     void (*resetTextInputFontSize)(ArkUINodeHandle node);
1609     void (*setTextInputMaxLength)(ArkUINodeHandle node, ArkUI_Uint32 value);
1610     void (*resetTextInputMaxLength)(ArkUINodeHandle node);
1611     void (*setTextInputSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1612     void (*resetTextInputSelectedBackgroundColor)(ArkUINodeHandle node);
1613     void (*setTextInputShowError)(ArkUINodeHandle node, ArkUI_CharPtr error, ArkUI_Uint32 visible);
1614     void (*resetTextInputShowError)(ArkUINodeHandle node);
1615     void (*setTextInputPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIPlaceholderFontType* placeholderFont);
1616     void (*resetTextInputPlaceholderFont)(ArkUINodeHandle node);
1617     void (*setTextInputFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1618     void (*resetTextInputFontColor)(ArkUINodeHandle node);
1619     void (*setTextInputFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 value);
1620     void (*resetTextInputFontStyle)(ArkUINodeHandle node);
1621     void (*setTextInputFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
1622     void (*resetTextInputFontFamily)(ArkUINodeHandle node);
1623     void (*setTextInputPlaceholderString)(ArkUINodeHandle node, ArkUI_CharPtr value);
1624     void (*setTextInputTextString)(ArkUINodeHandle node, ArkUI_CharPtr value);
1625 };
1626 
1627 struct ArkUIWebModifier {
1628     ArkUINodeHandle (*getWebController)(ArkUINodeHandle node);
1629     ArkUINodeHandle (*getWebviewController)(ArkUINodeHandle node);
1630     void (*setWebOptions)(ArkUINodeHandle node, ArkUI_CharPtr value);
1631     void (*setWebSrcResources)(ArkUINodeHandle node, ArkUI_Int32 id, ArkUI_Int32 type, ArkUI_CharPtr name,
1632         ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
1633     void (*setWebMixedMode)(ArkUINodeHandle node, ArkUI_Int32 value);
1634 };
1635 
1636 struct ArkUIBlankModifier {
1637     void (*setColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
1638     void (*resetColor)(ArkUINodeHandle node);
1639 };
1640 
1641 struct ArkUICounterModifier {
1642     void (*setEnableInc)(ArkUINodeHandle node, ArkUI_Bool value);
1643     void (*resetEnableInc)(ArkUINodeHandle node);
1644     void (*setEnableDec)(ArkUINodeHandle node, ArkUI_Bool value);
1645     void (*resetEnableDec)(ArkUINodeHandle node);
1646 };
1647 
1648 struct ArkUICheckboxModifier {
1649     void (*setSelect)(ArkUINodeHandle node, ArkUI_Bool isSelected);
1650     void (*setSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1651     void (*setUnSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1652     void (*setCheckboxWidth)(ArkUINodeHandle node, ArkUI_Float32 widthVal, ArkUI_Int32 widthUnit);
1653     void (*setCheckboxHeight)(ArkUINodeHandle node, ArkUI_Float32 heightVal, ArkUI_Int32 heightUnit);
1654     void (*setMark)(ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_Float32 sizeValue, ArkUI_Float32 widthValue);
1655 
1656     void (*resetSelect)(ArkUINodeHandle node);
1657     void (*resetSelectedColor)(ArkUINodeHandle node);
1658     void (*resetUnSelectedColor)(ArkUINodeHandle node);
1659     void (*resetCheckboxWidth)(ArkUINodeHandle node);
1660     void (*resetCheckboxHeight)(ArkUINodeHandle node);
1661     void (*resetMark)(ArkUINodeHandle node);
1662 };
1663 
1664 struct ArkUICheckboxGroupModifier {
1665     void (*setCheckboxGroupSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1666     void (*resetCheckboxGroupSelectedColor)(ArkUINodeHandle node);
1667     void (*setCheckboxGroupUnSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1668     void (*resetCheckboxGroupUnSelectedColor)(ArkUINodeHandle node);
1669     void (*setCheckboxGroupSelectAll)(ArkUINodeHandle node, ArkUI_Bool isSelected);
1670     void (*resetCheckboxGroupSelectAll)(ArkUINodeHandle node);
1671     void (*setCheckboxGroupWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1672     void (*resetCheckboxGroupWidth)(ArkUINodeHandle node);
1673     void (*setCheckboxGroupHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1674     void (*resetCheckboxGroupHeight)(ArkUINodeHandle node);
1675     void (*setCheckboxGroupMark)(
1676         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_Float32 sizeValue, ArkUI_Float32 widthValue);
1677     void (*resetCheckboxGroupMark)(ArkUINodeHandle node);
1678 };
1679 
1680 struct ArkUIImageSpanModifier {
1681     void (*setImageSpanVerticalAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
1682     void (*resetImageSpanVerticalAlign)(ArkUINodeHandle node);
1683     void (*setImageSpanObjectFit)(ArkUINodeHandle node, ArkUI_Int32 value);
1684     void (*resetImageSpanObjectFit)(ArkUINodeHandle node);
1685 };
1686 
1687 struct ArkUIMenuModifier {
1688     void (*setMenuFontColor)(ArkUINodeHandle node, ArkUI_Uint32 colorVal);
1689     void (*resetMenuFontColor)(ArkUINodeHandle node);
1690     void (*setFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1691     void (*resetFont)(ArkUINodeHandle node);
1692     void (*setRadius)(ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units);
1693     void (*resetRadius)(ArkUINodeHandle node);
1694 };
1695 
1696 struct ArkUIWaterFlowModifier {
1697     void (*resetColumnsTemplate)(ArkUINodeHandle node);
1698     void (*setColumnsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr value);
1699     void (*resetRowsTemplate)(ArkUINodeHandle node);
1700     void (*setRowsTemplate)(ArkUINodeHandle node, ArkUI_CharPtr value);
1701     void (*resetWaterFlowEnableScrollInteraction)(ArkUINodeHandle node);
1702     void (*setWaterFlowEnableScrollInteraction)(ArkUINodeHandle node, ArkUI_Bool value);
1703     void (*setColumnsGap)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1704     void (*resetColumnsGap)(ArkUINodeHandle node);
1705     void (*setRowsGap)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1706     void (*resetRowsGap)(ArkUINodeHandle node);
1707     void (*setItemMinWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1708     void (*resetItemMinWidth)(ArkUINodeHandle node);
1709     void (*setItemMaxWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1710     void (*resetItemMaxWidth)(ArkUINodeHandle node);
1711     void (*setItemMinHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1712     void (*resetItemMinHeight)(ArkUINodeHandle node);
1713     void (*setItemMaxHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit, ArkUI_CharPtr calcValue);
1714     void (*resetItemMaxHeight)(ArkUINodeHandle node);
1715     void (*setLayoutDirection)(ArkUINodeHandle node, ArkUI_Int32 value);
1716     void (*resetLayoutDirection)(ArkUINodeHandle node);
1717     void (*setWaterFlowNestedScroll)(ArkUINodeHandle node, ArkUI_Int32 scrollForward, ArkUI_Int32 scrollBackward);
1718     void (*resetWaterFlowNestedScroll)(ArkUINodeHandle node);
1719     void (*setWaterFlowFriction)(ArkUINodeHandle node, ArkUI_Float32 friction);
1720     void (*resetWaterFlowFriction)(ArkUINodeHandle node);
1721 };
1722 
1723 struct ArkUIMenuItemModifier {
1724     void (*setMenuItemSelected)(ArkUINodeHandle node, ArkUI_Bool value);
1725     void (*resetMenuItemSelected)(ArkUINodeHandle node);
1726     void (*setLabelFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
1727     void (*resetLabelFontColor)(ArkUINodeHandle node);
1728     void (*setContentFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
1729     void (*resetContentFontColor)(ArkUINodeHandle node);
1730     void (*setLabelFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1731     void (*resetLabelFont)(ArkUINodeHandle node);
1732     void (*setContentFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
1733     void (*resetContentFont)(ArkUINodeHandle node);
1734 };
1735 
1736 struct ArkUIMenuItemGroupModifier {
1737     void (*setMenuItemGroupHeader)(ArkUINodeHandle node, ArkUI_CharPtr value);
1738     void (*setMenuItemGroupFooter)(ArkUINodeHandle node, ArkUI_CharPtr value);
1739 };
1740 
1741 struct ArkUIToggleModifier {
1742     void (*setToggleSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 selectedColor);
1743     void (*resetToggleSelectedColor)(ArkUINodeHandle node);
1744     void (*setToggleSwitchPointColor)(ArkUINodeHandle node, ArkUI_Uint32 switchPointColor);
1745     void (*resetToggleSwitchPointColor)(ArkUINodeHandle node);
1746 };
1747 
1748 struct ArkUINavigationModifier {
1749     void (*setHideToolBar)(ArkUINodeHandle node, ArkUI_Bool hide);
1750     void (*resetHideToolBar)(ArkUINodeHandle node);
1751     void (*setHideNavBar)(ArkUINodeHandle node, ArkUI_Bool hideNavBar);
1752     void (*resetHideNavBar)(ArkUINodeHandle node);
1753     void (*setTitleMode)(ArkUINodeHandle node, ArkUI_Int32 value);
1754     void (*resetTitleMode)(ArkUINodeHandle node);
1755     void (*setHideBackButton)(ArkUINodeHandle node, ArkUI_Bool hideBackButton);
1756     void (*resetHideBackButton)(ArkUINodeHandle node);
1757     void (*setSubtitle)(ArkUINodeHandle node, ArkUI_CharPtr subtitle);
1758     void (*resetSubtitle)(ArkUINodeHandle node);
1759     void (*resetUsrNavigationMode)(ArkUINodeHandle node);
1760     void (*setUsrNavigationMode)(ArkUINodeHandle node, ArkUI_Int32 value);
1761     void (*setNavHideTitleBar)(ArkUINodeHandle node, ArkUI_Bool hideTitle);
1762     void (*resetNavHideTitleBar)(ArkUINodeHandle node);
1763     void (*setNavBarPosition)(ArkUINodeHandle node, ArkUI_Int32 value);
1764     void (*resetNavBarPosition)(ArkUINodeHandle node);
1765     void (*setMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1766     void (*resetMinContentWidth)(ArkUINodeHandle node);
1767     void (*setMaxNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 maxValue, ArkUI_Int32 maxUnit);
1768     void (*resetMaxNavBarWidth)(ArkUINodeHandle node);
1769     void (*setMinNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 minValue, ArkUI_Int32 minUnit);
1770     void (*resetMinNavBarWidth)(ArkUINodeHandle node);
1771     void (*setNavBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1772     void (*resetNavBarWidth)(ArkUINodeHandle node);
1773 };
1774 
1775 struct ArkUINavRouterModifier {
1776     void (*setNavRouteMode)(ArkUINodeHandle node, ArkUI_Int32 mode);
1777     void (*resetNavRouteMode)(ArkUINodeHandle node);
1778 };
1779 
1780 struct ArkUIGaugeModifier {
1781     void (*setGaugeValue)(ArkUINodeHandle node, ArkUI_Float32 value);
1782     void (*resetGaugeValue)(ArkUINodeHandle node);
1783     void (*setGaugeStartAngle)(ArkUINodeHandle node, ArkUI_Float32 value);
1784     void (*resetGaugeStartAngle)(ArkUINodeHandle node);
1785     void (*setGaugeEndAngle)(ArkUINodeHandle node, ArkUI_Float32 value);
1786     void (*resetGaugeEndAngle)(ArkUINodeHandle node);
1787     void (*setGaugeStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1788     void (*resetGaugeStrokeWidth)(ArkUINodeHandle node);
1789     void (*setShadowOptions)(
1790         ArkUINodeHandle node, ArkUI_Float32 radius, ArkUI_Float32 offsetX, ArkUI_Float32 offsetY,
1791         ArkUI_Bool isShadowVisible);
1792     void (*resetShadowOptions)(ArkUINodeHandle node);
1793     void (*setIsShowIndicator)(ArkUINodeHandle node, ArkUI_Bool isShowIndicator);
1794     void (*setIndicatorIconPath)(
1795         ArkUINodeHandle node, ArkUI_CharPtr iconPath, ArkUI_CharPtr bundleName, ArkUI_CharPtr moduleName);
1796     void (*resetIndicatorIconPath)(ArkUINodeHandle node);
1797     void (*setIndicatorSpace)(
1798         ArkUINodeHandle node, ArkUI_CharPtr spaceStrValue, ArkUI_Float32 spaceValue, ArkUI_Int32 spaceUnit);
1799     void (*resetIndicatorSpace)(ArkUINodeHandle node);
1800     void (*setColors)(
1801         ArkUINodeHandle node, const ArkUI_Uint32* colors, const ArkUI_Float32* weight, ArkUI_Uint32 length);
1802     void (*resetColors)(ArkUINodeHandle node);
1803     void (*setGradientColors)(
1804         ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Uint32 weightLength);
1805     void (*resetGradientColors)(ArkUINodeHandle node);
1806 };
1807 
1808 
1809 struct ArkUIBadgeModifier {
1810     void (*setBadgeParameters)(ArkUINodeHandle node, ArkUI_Int32* intValue, ArkUI_Float32* floatValue);
1811     void (*setBadgeValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
1812     void (*setBadgeCount)(ArkUINodeHandle node, ArkUI_Int32 value);
1813     void (*setBadgeMaxCount)(ArkUINodeHandle node, ArkUI_Int32 value);
1814     void (*setBadgeFontWeight)(ArkUINodeHandle node, ArkUI_Int32 value);
1815 };
1816 
1817 struct ArkUIRefreshModifier {
1818     void (*setRefreshFriction)(ArkUINodeHandle node, ArkUI_Int32 value);
1819 };
1820 
1821 struct ArkUIHyperlinkModifier {
1822     void (*setHyperlinkColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1823     void (*resetHyperlinkColor)(ArkUINodeHandle node);
1824 };
1825 
1826 struct ArkUIAlphabetIndexerModifier {
1827     void (*setPopupItemFont)(ArkUINodeHandle node, ArkUI_Float32 size, ArkUI_Int32 unit, ArkUI_CharPtr weight);
1828     void (*resetPopupItemFont)(ArkUINodeHandle node);
1829     void (*setSelectedFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
1830     void (*resetSelectedFont)(ArkUINodeHandle node);
1831     void (*setPopupFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
1832     void (*resetPopupFont)(ArkUINodeHandle node);
1833     void (*setAlphabetIndexerFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
1834     void (*resetAlphabetIndexerFont)(ArkUINodeHandle node);
1835     void (*setPopupItemBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1836     void (*resetPopupItemBackgroundColor)(ArkUINodeHandle node);
1837     void (*setAlphabetIndexerColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1838     void (*resetAlphabetIndexerColor)(ArkUINodeHandle node);
1839     void (*setPopupColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1840     void (*resetPopupColor)(ArkUINodeHandle node);
1841     void (*setAlphabetIndexerSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1842     void (*resetAlphabetIndexerSelectedColor)(ArkUINodeHandle node);
1843     void (*setPopupBackground)(ArkUINodeHandle node, ArkUI_Uint32 color);
1844     void (*resetPopupBackground)(ArkUINodeHandle node);
1845     void (*setSelectedBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1846     void (*resetSelectedBackgroundColor)(ArkUINodeHandle node);
1847     void (*setPopupUnselectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1848     void (*resetPopupUnselectedColor)(ArkUINodeHandle node);
1849     void (*setAlignStyle)(ArkUINodeHandle node, ArkUI_Int32 value);
1850     void (*resetAlignStyle)(ArkUINodeHandle node);
1851     void (*setUsingPopup)(ArkUINodeHandle node, ArkUI_Bool value);
1852     void (*resetUsingPopup)(ArkUINodeHandle node);
1853     void (*setAlphabetIndexerSelected)(ArkUINodeHandle node, ArkUI_Int32 value);
1854     void (*resetAlphabetIndexerSelected)(ArkUINodeHandle node);
1855     void (*setPopupHorizontalSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1856     void (*resetPopupHorizontalSpace)(ArkUINodeHandle node);
1857     void (*setPopupSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1858     void (*resetPopupSelectedColor)(ArkUINodeHandle node);
1859     void (*setItemSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1860     void (*resetItemSize)(ArkUINodeHandle node);
1861     void (*setPopupPosition)(ArkUINodeHandle node, ArkUI_Float32 xValue, ArkUI_Int32 xUnit,
1862         ArkUI_Float32 yValue, ArkUI_Int32 yUnit);
1863     void (*resetPopupPosition)(ArkUINodeHandle node);
1864 };
1865 
1866 struct ArkUILoadingProgressModifier {
1867     void (*setColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1868     void (*resetColor)(ArkUINodeHandle node);
1869     void (*setEnableLoading)(ArkUINodeHandle node, ArkUI_Bool value);
1870     void (*resetEnableLoading)(ArkUINodeHandle node);
1871 };
1872 
1873 struct ArkUIImageAnimatorModifier {
1874     void (*setState)(ArkUINodeHandle node, ArkUI_Int32 state);
1875     void (*resetState)(ArkUINodeHandle node);
1876     void (*setDuration)(ArkUINodeHandle node, ArkUI_Int32 duration);
1877     void (*setFixedSize)(ArkUINodeHandle node, ArkUI_Uint32 fixedSize);
1878     void (*resetFixedSize)(ArkUINodeHandle node);
1879     void (*setFillMode)(ArkUINodeHandle node, ArkUI_Int32 fillMode);
1880     void (*resetFillMode)(ArkUINodeHandle node);
1881     void (*setReverse)(ArkUINodeHandle node, ArkUI_Uint32 value);
1882     void (*resetReverse)(ArkUINodeHandle node);
1883     void (*setImages)(ArkUINodeHandle node, struct ArkUIImagePropertiesStruct* images, ArkUI_Int32 length);
1884     void (*resetImages)(ArkUINodeHandle node);
1885     void (*setImageAnimatorIteration)(ArkUINodeHandle node, ArkUI_Int32 value);
1886     void (*resetImageAnimatorIteration)(ArkUINodeHandle node);
1887 };
1888 
1889 struct ArkUISideBarContainerModifier {
1890     void (*setSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1891     void (*resetSideBarWidth)(ArkUINodeHandle node);
1892     void (*setMinSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1893     void (*resetMinSideBarWidth)(ArkUINodeHandle node);
1894     void (*setControlButton)(ArkUINodeHandle node, ArkUI_Float32* values, ArkUI_Int32 valueLength,
1895         const struct ArkUIIconsStruct* sideBarWidth);
1896     void (*resetControlButton)(ArkUINodeHandle node);
1897     void (*setShowControlButton)(ArkUINodeHandle node, ArkUI_Bool isShow);
1898     void (*resetShowControlButton)(ArkUINodeHandle node);
1899     void (*setAutoHide)(ArkUINodeHandle node, ArkUI_Uint32 value);
1900     void (*resetAutoHide)(ArkUINodeHandle node);
1901     void (*setSideBarContainerMaxSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1902     void (*resetSideBarContainerMaxSideBarWidth)(ArkUINodeHandle node);
1903     void (*setSideBarContainerMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1904     void (*resetSideBarContainerMinContentWidth)(ArkUINodeHandle node);
1905     void (*setSideBarPosition)(ArkUINodeHandle node, ArkUI_Int32 sideBarPosition);
1906     void (*resetSideBarPosition)(ArkUINodeHandle node);
1907     void (*setShowSideBar)(ArkUINodeHandle node, ArkUI_Bool isShow);
1908     void (*resetShowSideBar)(ArkUINodeHandle node);
1909     void (*setSideBarContainerDivider)(
1910         ArkUINodeHandle node, ArkUI_Float32* values, ArkUI_Int32* units, ArkUI_Int32 length, ArkUI_Uint32 color);
1911     void (*resetSideBarContainerDivider)(ArkUINodeHandle node);
1912 };
1913 
1914 struct ArkUICalendarPickerModifier {
1915     void (*setTextStyle)(ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontSize, ArkUI_CharPtr fontWeight);
1916     void (*resetTextStyle)(ArkUINodeHandle node);
1917     void (*setEdgeAlign)(
1918         ArkUINodeHandle node, const ArkUI_Float32* values, const ArkUI_Int32* units, ArkUI_Int32 size,
1919         ArkUI_Int32 alignType);
1920     void (*resetEdgeAlign)(ArkUINodeHandle node);
1921 };
1922 
1923 struct ArkUIRatingModifier {
1924     void (*setStars)(ArkUINodeHandle node, ArkUI_Int32 value);
1925     void (*setRatingStepSize)(ArkUINodeHandle node, ArkUI_Float32 value);
1926     void (*setStarStyle)(
1927         ArkUINodeHandle node, ArkUI_CharPtr backgroundUri, ArkUI_CharPtr foregroundUri, ArkUI_CharPtr secondaryUri);
1928     void (*resetStars)(ArkUINodeHandle node);
1929     void (*resetRatingStepSize)(ArkUINodeHandle node);
1930     void (*resetStarStyle)(ArkUINodeHandle node);
1931 };
1932 
1933 struct ArkUIRowSplitModifier {
1934     void (*setRowSplitResizable)(ArkUINodeHandle node, ArkUI_Bool resizable);
1935     void (*resetRowSplitResizable)(ArkUINodeHandle node);
1936 };
1937 
1938 struct ArkUISearchModifier {
1939     void (*setSearchPlaceholderColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1940     void (*resetSearchPlaceholderColor)(ArkUINodeHandle node);
1941     void (*setSearchTextFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* value);
1942     void (*resetSearchTextFont)(ArkUINodeHandle node);
1943     void (*setSearchSelectionMenuHidden)(ArkUINodeHandle node, ArkUI_Uint32 selectionMenuHidden);
1944     void (*resetSearchSelectionMenuHidden)(ArkUINodeHandle node);
1945     void (*setSearchCaretStyle)(
1946         ArkUINodeHandle node, const ArkUI_Float32 number, ArkUI_Int32 unit, ArkUI_Uint32 caretColor);
1947     void (*resetSearchCaretStyle)(ArkUINodeHandle node);
1948     void (*setSearchTextAlign)(ArkUINodeHandle node, ArkUI_Int32 value);
1949     void (*resetSearchTextAlign)(ArkUINodeHandle node);
1950     void (*setSearchCancelButton)(ArkUINodeHandle node, ArkUI_Int32 style, const struct ArkUISizeType* size,
1951         ArkUI_Uint32 color, ArkUI_CharPtr src);
1952     void (*resetSearchCancelButton)(ArkUINodeHandle node);
1953     void (*setSearchEnableKeyboardOnFocus)(ArkUINodeHandle node, ArkUI_Uint32 value);
1954     void (*resetSearchEnableKeyboardOnFocus)(ArkUINodeHandle node);
1955     void (*setSearchPlaceholderFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* value);
1956     void (*resetSearchPlaceholderFont)(ArkUINodeHandle node);
1957     void (*setSearchSearchIcon)(ArkUINodeHandle node, const struct ArkUIIconOptionsStruct* value);
1958     void (*resetSearchSearchIcon)(ArkUINodeHandle node);
1959     void (*setSearchSearchButton)(ArkUINodeHandle node, const struct ArkUISearchButtonOptionsStruct* value);
1960     void (*resetSearchSearchButton)(ArkUINodeHandle node);
1961     void (*setSearchFontColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
1962     void (*resetSearchFontColor)(ArkUINodeHandle node);
1963     void (*setSearchCopyOption)(ArkUINodeHandle node, ArkUI_Uint32 value);
1964     void (*resetSearchCopyOption)(ArkUINodeHandle node);
1965 };
1966 
1967 struct ArkUISearchControllerModifier {
1968     ArkUINodeHandle (*getSearchController)(ArkUINodeHandle node);
1969     void (*setSearchCaretPosition)(ArkUINodeHandle node, ArkUI_Int32 value);
1970     void (*setSearchStopEditing)(ArkUINodeHandle node);
1971 };
1972 
1973 struct ArkUITextClockModifier {
1974     void (*setFormat)(ArkUINodeHandle node, ArkUI_CharPtr format);
1975     void (*resetFormat)(ArkUINodeHandle node);
1976     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1977     void (*resetFontColor)(ArkUINodeHandle node);
1978     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
1979     void (*resetFontSize)(ArkUINodeHandle node);
1980     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
1981     void (*resetFontStyle)(ArkUINodeHandle node);
1982     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr weight);
1983     void (*resetFontWeight)(ArkUINodeHandle node);
1984     void (*setFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
1985     void (*resetFontFamily)(ArkUINodeHandle node);
1986 };
1987 
1988 struct ArkUITextClockControllerModifier {
1989     ArkUINodeHandle (*getTextClockController)(ArkUINodeHandle node);
1990     void (*setTextClockStart)(ArkUINodeHandle node);
1991     void (*setTextClockStop)(ArkUINodeHandle node);
1992 };
1993 
1994 struct ArkUITextPickerModifier {
1995     void (*setTextPickerBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
1996     void (*setTextPickerCanLoop)(ArkUINodeHandle node, ArkUI_Bool value);
1997     void (*setTextPickerSelectedIndex)(ArkUINodeHandle node, ArkUI_Uint32* values, ArkUI_Int32 size);
1998     void (*setTextPickerTextStyle)(
1999         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
2000     void (*setTextPickerSelectedTextStyle)(
2001         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
2002     void (*setTextPickerDisappearTextStyle)(
2003         ArkUINodeHandle node, ArkUI_Uint32 color, ArkUI_CharPtr fontInfo, ArkUI_Int32 styleVal);
2004     void (*setTextPickerDefaultPickerItemHeight)(ArkUINodeHandle node, ArkUI_Float32 dVal, ArkUI_Int32 dUnit);
2005     void (*resetTextPickerCanLoop)(ArkUINodeHandle node);
2006     void (*resetTextPickerSelected)(ArkUINodeHandle node);
2007     void (*resetTextPickerTextStyle)(ArkUINodeHandle node);
2008     void (*resetTextPickerSelectedTextStyle)(ArkUINodeHandle node);
2009     void (*resetTextPickerDisappearTextStyle)(ArkUINodeHandle node);
2010     void (*resetTextPickerDefaultPickerItemHeight)(ArkUINodeHandle node);
2011     void (*resetTextPickerBackgroundColor)(ArkUINodeHandle node);
2012 };
2013 
2014 struct ArkUITextTimerModifier {
2015     void (*setFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2016     void (*resetFontColor)(ArkUINodeHandle node);
2017     void (*setFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2018     void (*resetFontSize)(ArkUINodeHandle node);
2019     void (*setFontStyle)(ArkUINodeHandle node, ArkUI_Uint32 fontStyle);
2020     void (*resetFontStyle)(ArkUINodeHandle node);
2021     void (*setFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr weight);
2022     void (*resetFontWeight)(ArkUINodeHandle node);
2023     void (*setFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
2024     void (*resetFontFamily)(ArkUINodeHandle node);
2025     void (*setTextTimerFormat)(ArkUINodeHandle node, ArkUI_CharPtr format);
2026     void (*resetTextTimerFormat)(ArkUINodeHandle node);
2027 };
2028 
2029 struct ArkUITextTimerControllerModifier {
2030     ArkUINodeHandle (*getTextTimerController)(ArkUINodeHandle node);
2031     void (*setTextTimerStart)(ArkUINodeHandle node);
2032     void (*setTextTimerPause)(ArkUINodeHandle node);
2033     void (*setTextTimerReset)(ArkUINodeHandle node);
2034 };
2035 
2036 struct ArkUIMarqueeModifier {
2037     void (*setMarqueeFontSize)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2038     void (*resetMarqueeFontSize)(ArkUINodeHandle node);
2039     void (*setMarqueeFontColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2040     void (*resetMarqueeFontColor)(ArkUINodeHandle node);
2041     void (*setMarqueeAllowScale)(ArkUINodeHandle node, ArkUI_Bool allowScale);
2042     void (*resetMarqueeAllowScale)(ArkUINodeHandle node);
2043     void (*setMarqueeFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr fontWeight);
2044     void (*resetMarqueeFontWeight)(ArkUINodeHandle node);
2045     void (*setMarqueeFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr fontFamily);
2046     void (*resetMarqueeFontFamily)(ArkUINodeHandle node);
2047 };
2048 
2049 struct ArkUIDatePickerModifier {
2050     void (*setSelectedTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
2051     void (*resetSelectedTextStyle)(ArkUINodeHandle node);
2052     void (*setDatePickerTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
2053     void (*resetDatePickerTextStyle)(ArkUINodeHandle node);
2054     void (*setDisappearTextStyle)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Uint32 color, ArkUI_Int32 style);
2055     void (*resetDisappearTextStyle)(ArkUINodeHandle node);
2056     void (*setLunar)(ArkUINodeHandle node, ArkUI_Bool isLunar);
2057     void (*resetLunar)(ArkUINodeHandle node);
2058 };
2059 
2060 struct ArkUISpanModifier {
2061     void (*setContent)(ArkUINodeHandle node, ArkUI_CharPtr value);
2062     void (*setSpanTextCase)(ArkUINodeHandle node, ArkUI_Int32 value);
2063     void (*resetSpanTextCase)(ArkUINodeHandle node);
2064     void (*setSpanFontWeight)(ArkUINodeHandle node, ArkUI_CharPtr value);
2065     void (*resetSpanFontWeight)(ArkUINodeHandle node);
2066     void (*setSpanLineHeight)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2067     void (*resetSpanLineHeight)(ArkUINodeHandle node);
2068     void (*setSpanFontStyle)(ArkUINodeHandle node, ArkUI_Int32 fontStyle);
2069     void (*resetSpanFontStyle)(ArkUINodeHandle node);
2070     void (*setSpanFontSize)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2071     void (*resetSpanFontSize)(ArkUINodeHandle node);
2072     void (*setSpanFontFamily)(ArkUINodeHandle node, ArkUI_CharPtr* fontFamilies, ArkUI_Uint32 length);
2073     void (*resetSpanFontFamily)(ArkUINodeHandle node);
2074     void (*setSpanDecoration)(
2075         ArkUINodeHandle node, ArkUI_Int32 decoration, ArkUI_Uint32 color, const ArkUI_Uint32 style);
2076     void (*resetSpanDecoration)(ArkUINodeHandle node);
2077     void (*setSpanFontColor)(ArkUINodeHandle node, ArkUI_Uint32 textColor);
2078     void (*resetSpanFontColor)(ArkUINodeHandle node);
2079     void (*setSpanLetterSpacing)(ArkUINodeHandle node, const struct ArkUIStringAndFloat* letterSpacingValue);
2080     void (*resetSpanLetterSpacing)(ArkUINodeHandle node);
2081     void (*setSpanFont)(ArkUINodeHandle node, const struct ArkUIFontStruct* fontInfo);
2082     void (*resetSpanFont)(ArkUINodeHandle node);
2083 };
2084 
2085 struct ArkUISelectModifier {
2086     void (*setSpace)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2087     void (*setValue)(ArkUINodeHandle node, ArkUI_CharPtr value);
2088     void (*setSelected)(ArkUINodeHandle node, ArkUI_Int32 idx);
2089     void (*setSelectFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
2090     void (*setSelectedOptionBgColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
2091     void (*setOptionBgColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
2092     void (*setOptionFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
2093     void (*setSelectedOptionFontColor)(ArkUINodeHandle node, const ArkUI_Uint32 colorVal);
2094     void (*setArrowPosition)(ArkUINodeHandle node, ArkUI_Int32 arrowPosition);
2095     void (*setMenuAlign)(ArkUINodeHandle node, ArkUI_Int32 alignType, const ArkUI_Float32* values,
2096         const ArkUI_Int32* units, ArkUI_Int32 size);
2097     void (*setFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
2098     void (*setOptionFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
2099     void (*setSelectedOptionFont)(ArkUINodeHandle node, ArkUI_CharPtr fontInfo, ArkUI_Int32 style);
2100     void (*resetSpace)(ArkUINodeHandle node);
2101     void (*resetValue)(ArkUINodeHandle node);
2102     void (*resetSelected)(ArkUINodeHandle node);
2103     void (*resetSelectFontColor)(ArkUINodeHandle node);
2104     void (*resetSelectedOptionBgColor)(ArkUINodeHandle node);
2105     void (*resetOptionBgColor)(ArkUINodeHandle node);
2106     void (*resetOptionFontColor)(ArkUINodeHandle node);
2107     void (*resetSelectedOptionFontColor)(ArkUINodeHandle node);
2108     void (*resetArrowPosition)(ArkUINodeHandle node);
2109     void (*resetMenuAlign)(ArkUINodeHandle node);
2110     void (*resetFont)(ArkUINodeHandle node);
2111     void (*resetOptionFont)(ArkUINodeHandle node);
2112     void (*resetSelectedOptionFont)(ArkUINodeHandle node);
2113 };
2114 
2115 /** Common for all API variants.*/
2116 struct ArkUIAny {
2117     ArkUI_Int32 version;
2118     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
2119 };
2120 
2121 struct ArkUIGridColModifier {
2122     void (*setSpan)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
2123     void (*resetSpan)(ArkUINodeHandle node);
2124     void (*setGridColOffset)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
2125     void (*resetGridColOffset)(ArkUINodeHandle node);
2126     void (*setOrder)(ArkUINodeHandle node, ArkUI_Int32* containerSizeArray, ArkUI_Int32 size);
2127     void (*resetOrder)(ArkUINodeHandle node);
2128 };
2129 
2130 struct ArkUIGridRowModifier {
2131     void (*setAlignItems)(ArkUINodeHandle node, ArkUI_Int32 alignItems);
2132     void (*resetAlignItems)(ArkUINodeHandle node);
2133 };
2134 
2135 struct ArkUIPanelModifier {
2136     void (*setPanelMode)(ArkUINodeHandle node, ArkUI_Int32 mode);
2137     void (*resetPanelMode)(ArkUINodeHandle node);
2138     void (*setPanelFullHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2139     void (*resetPanelFullHeight)(ArkUINodeHandle node);
2140     void (*setPanelHalfHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2141     void (*resetPanelHalfHeight)(ArkUINodeHandle node);
2142     void (*setPanelMiniHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2143     void (*resetPanelMiniHeight)(ArkUINodeHandle node);
2144     void (*setPanelBackgroundMask)(ArkUINodeHandle node, ArkUI_Uint32 color);
2145     void (*resetPanelBackgroundMask)(ArkUINodeHandle node);
2146     void (*setPanelType)(ArkUINodeHandle node, ArkUI_Int32 type);
2147     void (*resetPanelType)(ArkUINodeHandle node);
2148     void (*setPanelCustomHeight)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2149     void (*setPanelCustomHeightByString)(ArkUINodeHandle node, ArkUI_CharPtr value);
2150     void (*resetPanelCustomHeight)(ArkUINodeHandle node);
2151     void (*setShowCloseIcon)(ArkUINodeHandle node, ArkUI_Bool value);
2152     void (*resetShowCloseIcon)(ArkUINodeHandle node);
2153     void (*setDragBar)(ArkUINodeHandle node, ArkUI_Bool value);
2154     void (*resetDragBar)(ArkUINodeHandle node);
2155     void (*setShow)(ArkUINodeHandle node, ArkUI_Bool value);
2156     void (*resetShow)(ArkUINodeHandle node);
2157 };
2158 
2159 struct ArkUIRadioModifier {
2160     void (*setRadioChecked)(ArkUINodeHandle node, ArkUI_Bool isCheck);
2161     void (*resetRadioChecked)(ArkUINodeHandle node);
2162     void (*setRadioStyle)(ArkUINodeHandle node, ArkUI_Uint32 checkedBackgroundColor, ArkUI_Uint32 uncheckedBorderColor,
2163         ArkUI_Uint32 indicatorColor);
2164     void (*resetRadioStyle)(ArkUINodeHandle node);
2165 };
2166 
2167 struct ArkUIPatternLockControllerModifier {
2168     ArkUINodeHandle (*getPatternLockController)(ArkUINodeHandle node);
2169     void (*setPatternLockReset)(ArkUINodeHandle node);
2170 };
2171 
2172 struct ArkUIPatternLockModifier {
2173     void (*setPatternLockActiveColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
2174     void (*resetPatternLockActiveColor)(ArkUINodeHandle node);
2175     void (*setPatternLockCircleRadius)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2176     void (*resetPatternLockCircleRadius)(ArkUINodeHandle node);
2177     void (*setPatternLockSelectedColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
2178     void (*resetPatternLockSelectedColor)(ArkUINodeHandle node);
2179     void (*setPatternLockSideLength)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2180     void (*resetPatternLockSideLength)(ArkUINodeHandle node);
2181     void (*setPatternLockAutoReset)(ArkUINodeHandle node, ArkUI_Uint32 value);
2182     void (*resetPatternLockAutoReset)(ArkUINodeHandle node);
2183     void (*setPatternLockPathStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 number, ArkUI_Int32 unit);
2184     void (*resetPatternLockPathStrokeWidth)(ArkUINodeHandle node);
2185     void (*setPatternLockRegularColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2186     void (*resetPatternLockRegularColor)(ArkUINodeHandle node);
2187     void (*setPatternLockPathColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2188     void (*resetPatternLockPathColor)(ArkUINodeHandle node);
2189 };
2190 
2191 struct ArkUIColumnSplitModifier {
2192     void (*setColumnSplitDivider)(
2193         ArkUINodeHandle node, ArkUI_Float32 stVal, ArkUI_Int32 stUnit, ArkUI_Float32 endVal, ArkUI_Int32 endUnit);
2194     void (*resetColumnSplitDivider)(ArkUINodeHandle node);
2195     void (*setColumnSplitResizable)(ArkUINodeHandle node, ArkUI_Bool resizable);
2196     void (*resetColumnSplitResizable)(ArkUINodeHandle node);
2197 };
2198 
2199 struct ArkUIRichEditorModifier {
2200     void (*setRichEditorCopyOptions)(ArkUINodeHandle node, ArkUI_Int32 copyOptionsValue);
2201     void (*resetRichEditorCopyOptions)(ArkUINodeHandle node);
2202 };
2203 
2204 struct ArkUIRichEditorControllerModifier {
2205     ArkUINodeHandle (*getRichEditorController)(ArkUINodeHandle node);
2206 };
2207 
2208 struct ArkUIDataPanelModifier {
2209     void (*setCloseEffect)(ArkUINodeHandle node, ArkUI_Bool value);
2210     void (*resetCloseEffect)(ArkUINodeHandle node);
2211     void (*setDataPanelTrackBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 value);
2212     void (*resetDataPanelTrackBackgroundColor)(ArkUINodeHandle node);
2213     void (*setDataPanelStrokeWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2214     void (*resetDataPanelStrokeWidth)(ArkUINodeHandle node);
2215     void (*setValueColors)(ArkUINodeHandle node, const struct ArkUIGradientType* gradient);
2216     void (*resetValueColors)(ArkUINodeHandle node);
2217     void (*setTrackShadow)(ArkUINodeHandle node, const struct ArkUIGradientType* gradient, ArkUI_Float32 radius,
2218         ArkUI_Float32 offsetX, ArkUI_Float32 offsetY);
2219     void (*setNullTrackShadow)(ArkUINodeHandle node);
2220     void (*resetTrackShadow)(ArkUINodeHandle node);
2221 };
2222 
2223 struct ArkUIQRCodeModifier {
2224     void (*setQRColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2225     void (*resetQRColor)(ArkUINodeHandle node);
2226     void (*setQRBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2227     void (*resetQRBackgroundColor)(ArkUINodeHandle node);
2228     void (*setContentOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
2229     void (*resetContentOpacity)(ArkUINodeHandle node);
2230 };
2231 
2232 struct ArkUIFormComponentModifier {
2233     void (*setFormVisibility)(ArkUINodeHandle node, ArkUI_Int32 visible);
2234     void (*allowUpdate)(ArkUINodeHandle node, ArkUI_Bool value);
2235     void (*setDimension)(ArkUINodeHandle node, ArkUI_Int32 dimension);
2236     void (*setModuleName)(ArkUINodeHandle node, ArkUI_CharPtr value);
2237     void (*setFormSize)(ArkUINodeHandle node, ArkUI_Float32 widthValue, ArkUI_Int32 widthUnit,
2238         ArkUI_Float32 heightValue, ArkUI_Int32 heightUnit);
2239     void (*resetFormVisibility)(ArkUINodeHandle node);
2240     void (*disallowUpdate)(ArkUINodeHandle node);
2241     void (*resetDimension)(ArkUINodeHandle node);
2242     void (*resetModuleName)(ArkUINodeHandle node);
2243     void (*resetFormSize)(ArkUINodeHandle node);
2244 };
2245 
2246 struct ArkUITextAreaControllerModifier {
2247     ArkUINodeHandle (*getTextAreaController)(ArkUINodeHandle node);
2248 };
2249 
2250 struct ArkUICanvasRenderingContext2DModifier {
2251     ArkUINodeHandle (*getCanvasRenderingContext2D)(ArkUINodeHandle node);
2252     void (*setCanvasBeginPath)(ArkUINodeHandle node);
2253     void (*setCanvasFill)(ArkUINodeHandle node, ArkUI_CharPtr value);
2254     void (*setCanvasMoveTo)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y);
2255     void (*setCanvasArc)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 radius,
2256         ArkUI_Float32 startAngle, ArkUI_Float32 endAngle, ArkUI_Bool counterclockwise);
2257     void (*setCanvasAntiAlias)(ArkUINodeHandle node, ArkUI_Bool antialias);
2258     void (*setCanvasFillColor)(ArkUINodeHandle node, ArkUI_Int32 color);
2259     ArkUI_Int32 (*getCanvasFillColor)(ArkUINodeHandle node);
2260     void (*setCanvasGlobalAlpha)(ArkUINodeHandle node, ArkUI_Float32 value);
2261     ArkUI_Float32 (*getCanvasGlobalAlpha)(ArkUINodeHandle node);
2262     void (*setCanvasFillRect)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 w, ArkUI_Float32 h);
2263     void (*setCanvasFillText)(ArkUINodeHandle node, ArkUI_Float32 x, ArkUI_Float32 y,
2264         ArkUI_Float32 w, ArkUI_Float32 maxWidth);
2265 };
2266 
2267 struct ArkUIUtilsModifier {
2268     ArkUI_Float32 (*getDensity)(ArkUI_Int32 deviceId);
2269     ArkUI_Float32 (*getFontScale)(ArkUI_Int32 deviceId);
2270     ArkUI_Float32 (*getDesignWidthScale)(ArkUI_Int32 deviceId);
2271 };
2272 
2273 struct ArkUISideBarModifier {
2274     void (*setShowSideBar)(ArkUINodeHandle node, ArkUI_Bool value);
2275     void (*setControlButton)(ArkUINodeHandle node, ArkUI_Float32* position, ArkUI_Int32 positionArrayLength,
2276         ArkUI_CharPtr* showIcon, ArkUI_Int32 showArrayLength, ArkUI_CharPtr* hiddenIcon,
2277         ArkUI_Int32 hiddenArrayLength, ArkUI_CharPtr* switchingIcon, ArkUI_Int32 switchingArrayLength);
2278     void (*setShowControlButton)(ArkUINodeHandle node, ArkUI_Bool value);
2279     void (*setSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2280     void (*setMinSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2281     void (*setMaxSideBarWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2282     void (*setAutoHide)(ArkUINodeHandle node, ArkUI_Bool value);
2283     void (*setSideBarPosition)(ArkUINodeHandle node, ArkUI_Int32 unit);
2284     void (*setSideBarDivider)(ArkUINodeHandle node, ArkUI_Float32* strokeWidth, ArkUI_Int32 color,
2285         ArkUI_Float32* startMargin, ArkUI_Float32* endMargin);
2286     void (*setMinContentWidth)(ArkUINodeHandle node, ArkUI_Float32 value, ArkUI_Int32 unit);
2287 };
2288 
2289 struct ArkUIXComponentModifier {
2290     // loadXComponent() returns VM-specific handle produced by
2291     // ArkNativeEngine::LoadModuleByName(). vmKind parameters allows to
2292     // differentiate which VM shall be used to load. Embedder code must use kind
2293     // matching VM we're embedding into. errorCallbackId is invoked if operation
2294     // cannot be completed.
2295     ArkUIVMObject (*loadXComponent)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUIVMKind vmKind,
2296                                     ArkUI_CharPtr libraryName, ArkUI_Int32 errorCallbackId);
2297     void (*setXComponentOptions)(ArkUINodeHandle node, ArkUI_CharPtr id, ArkUI_CharPtr type, ArkUI_CharPtr libraryName);
2298     ArkUI_CharPtr (*getXComponentSurfaceId)(ArkUIXComponentControllerHandle controller);
2299     ArkUIXComponentControllerHandle (*getXComponentController)(ArkUINodeHandle node);
2300 
2301     void (*setXComponentBackgroundColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2302     void (*resetXComponentBackgroundColor)(ArkUINodeHandle node);
2303     void (*setXComponentOpacity)(ArkUINodeHandle node, ArkUI_Float32 opacity);
2304     void (*resetXComponentOpacity)(ArkUINodeHandle node);
2305     void (*setXComponentId)(ArkUINodeHandle node, ArkUI_CharPtr id);
2306     void (*setXComponentType)(ArkUINodeHandle node, ArkUI_Uint32 type);
2307     void (*setXComponentSurfaceSize)(ArkUINodeHandle node, ArkUI_Uint32 width, ArkUI_Uint32 height);
2308 };
2309 
2310 struct ArkUIStateModifier {
2311     ArkUI_Int64 (*getUIState)(ArkUINodeHandle node);
2312     void (*setSupportedUIState)(ArkUINodeHandle node, ArkUI_Int64 state);
2313 };
2314 
2315 struct ArkUIRenderNodeModifier {
2316     void (*appendChild)(ArkUINodeHandle node, ArkUINodeHandle child);
2317     void (*insertChildAfter)(ArkUINodeHandle node, ArkUINodeHandle child, ArkUINodeHandle sibling);
2318     void (*removeChild)(ArkUINodeHandle node, ArkUINodeHandle child);
2319     void (*clearChildren)(ArkUINodeHandle node);
2320     void (*setClipToFrame)(ArkUINodeHandle node, ArkUI_Bool useClip);
2321     void (*setRotation)(
2322         ArkUINodeHandle node, ArkUI_Float32 rotationX, ArkUI_Float32 rotationY, ArkUI_Float32 rotationZ);
2323     void (*setShadowColor)(ArkUINodeHandle node, ArkUI_Uint32 color);
2324     void (*setShadowOffset)(ArkUINodeHandle node, ArkUI_Float32 offsetX, ArkUI_Float32 offsetY);
2325     void (*setShadowAlpha)(ArkUINodeHandle node, ArkUI_Float32 alpha);
2326     void (*setShadowElevation)(ArkUINodeHandle node, ArkUI_Float32 elevation);
2327     void (*setShadowRadius)(ArkUINodeHandle node, ArkUI_Float32 radius);
2328     void (*invalidate)(ArkUINodeHandle node);
2329 };
2330 
2331 struct ArkUIAnimation {
2332     ArkUI_Int32 (*startAnimation)(const ArkUIAPIAnimationSpec* spec, ArkUI_Int32 callbackId);
2333     void (*openImplicitAnimation)(
2334         ArkUIVMContext vmContext, ArkUI_Int32 curve, ArkUI_Float32* options, ArkUI_Int32 callbackId);
2335     void (*closeImplicitAnimation)();
2336 };
2337 
2338 struct ArkUINavigation {
2339     void (*popPageToIndex)(ArkUI_Int32 index);
2340     void (*setNavDestinationBackPressed)(ArkUIVMContext vmContext, ArkUINodeHandle node, ArkUI_Int32 indexerId);
2341 };
2342 
2343 struct ArkUIGraphicsCanvas {
2344     void (*finalize)(ArkUICanvasHandle canvas);
2345 
2346     void (*drawPoint)(ArkUICanvasHandle canvas, ArkUI_Float32 x, ArkUI_Float32 y, ArkUIPaintHandle paint);
2347     void (*drawPoints)(ArkUICanvasHandle canvas, ArkUI_Int32 mode, ArkUI_Float32* coords, ArkUI_Int32 count,
2348         ArkUIPaintHandle paint);
2349     void (*drawLine)(ArkUICanvasHandle canvas, ArkUI_Float32 x0, ArkUI_Float32 y0, ArkUI_Float32 x1,
2350         ArkUI_Float32 y1, ArkUIPaintHandle paint);
2351     void (*drawArc)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
2352         ArkUI_Float32 bottom, ArkUI_Float32 startAngle, ArkUI_Float32 sweepAngle, ArkUI_Bool includeCenter,
2353         ArkUIPaintHandle paint);
2354     void (*drawRect)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
2355         ArkUI_Float32 bottom, ArkUIPaintHandle paint);
2356     void (*drawOval)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
2357         ArkUI_Float32 bottom, ArkUIPaintHandle paint);
2358     void (*drawCircle)(ArkUICanvasHandle canvas, ArkUI_Float32 x, ArkUI_Float32 y, ArkUI_Float32 radius,
2359         ArkUIPaintHandle paintPtr);
2360     void (*drawRRect)(ArkUICanvasHandle canvas, ArkUI_Float32 left, ArkUI_Float32 top, ArkUI_Float32 right,
2361         ArkUI_Float32 bottom, ArkUI_Float32* jradii, ArkUI_Int32 jradiiSize, ArkUIPaintHandle paintPtr);
2362     void (*drawDRRect)(ArkUICanvasHandle canvas, ArkUI_Float32 ol, ArkUI_Float32 ot, ArkUI_Float32 oright,
2363         ArkUI_Float32 ob, ArkUI_Float32* ojradii, ArkUI_Int32 ojradiiSize, ArkUI_Float32 il, ArkUI_Float32 it,
2364         ArkUI_Float32 ir, ArkUI_Float32 ib, ArkUI_Float32* ijradii, ArkUI_Int32 ijradiiSize,
2365         ArkUIPaintHandle paint);
2366     void (*drawString)(ArkUICanvasHandle canvas, ArkUI_CharPtr string, ArkUI_Float32 x, ArkUI_Float32 y,
2367         ArkUIFontHandle font, ArkUIPaintHandle paint);
2368 };
2369 
2370 struct ArkUIGraphicsPaint {
2371     ArkUIPaintHandle (*make)();
2372     void (*finalize)(ArkUIPaintHandle handle);
2373 
2374     void (*setColor)(ArkUIPaintHandle paint, ArkUI_Int32 color);
2375     ArkUI_Int32 (*getColor)(ArkUIPaintHandle paint);
2376     void (*setAlpha)(ArkUIPaintHandle paint, ArkUI_Float32 alpha);
2377     ArkUI_Float32 (*getAlpha)(ArkUIPaintHandle paint);
2378 };
2379 
2380 struct ArkUIGraphicsFont {
2381     ArkUIFontHandle (*makeDefault)();
2382     void (*finalize)(ArkUIPaintHandle handle);
2383 };
2384 
2385 struct ArkUIGraphicsAPI {
2386     ArkUI_Int32 version;
2387     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
2388 
2389     /**
2390      * Graphics.
2391      */
2392     const ArkUIGraphicsCanvas* (*getCanvasAPI)();
2393     const ArkUIGraphicsPaint* (*getPaintAPI)();
2394     const ArkUIGraphicsFont* (*getFontAPI)();
2395 };
2396 
2397 /**
2398  * An API to control an implementation. When making changes modifying binary
2399  * layout, i.e. adding new events - increase ARKUI_API_VERSION above for binary
2400  * layout checks.
2401  */
2402 struct ArkUINodeModifiers {
2403     ArkUI_Int32 version;
2404     const ArkUICommonModifier* (*getCommonModifier)();
2405     const ArkUICheckboxGroupModifier* (*getCheckboxGroupModifier)();
2406     const ArkUICounterModifier* (*getCounterModifier)();
2407     const ArkUIRowModifier* (*getRowModifier)();
2408     const ArkUIRowSplitModifier* (*getRowSplitModifier)();
2409     const ArkUITextModifier* (*getTextModifier)();
2410     const ArkUIButtonModifier* (*getButtonModifier)();
2411     const ArkUIToggleModifier* (*getToggleModifier)();
2412     const ArkUIImageSpanModifier* (*getImageSpanModifier)();
2413     const ArkUIBlankModifier* (*getBlankModifier)();
2414     const ArkUISearchModifier* (*getSearchModifier)();
2415     const ArkUISelectModifier* (*getSelectModifier)();
2416     const ArkUIRadioModifier* (*getRadioModifier)();
2417     const ArkUICheckboxModifier* (*getCheckboxModifier)();
2418     const ArkUITimepickerModifier* (*getTimepickerModifier)();
2419     const ArkUITextPickerModifier* (*getTextPickerModifier)();
2420     const ArkUIRatingModifier* (*getRatingModifier)();
2421     const ArkUISliderModifier* (*getSliderModifier)();
2422     const ArkUIDividerModifier* (*getDividerModifier)();
2423     const ArkUIStackModifier* (*getStackModifier)();
2424     const ArkUINavDestinationModifier* (*getNavDestinationModifier)();
2425     const ArkUIGridModifier* (*getGridModifier)();
2426     const ArkUIGridColModifier* (*getGridColModifier)();
2427     const ArkUIGridRowModifier* (*getGridRowModifier)();
2428     const ArkUIPanelModifier* (*getPanelModifier)();
2429     const ArkUITextAreaModifier* (*getTextAreaModifier)();
2430     const ArkUINavigationModifier* (*getNavigationModifier)();
2431     const ArkUIColumnModifier* (*getColumnModifier)();
2432     const ArkUIRichEditorModifier* (*getRichEditorModifier)();
2433     const ArkUIImageModifier* (*getImageModifier)();
2434     const ArkUIVideoModifier* (*getVideoModifier)();
2435     const ArkUIVideoControllerModifier* (*getVideoControllerModifier)();
2436     const ArkUINavigatorModifier* (*getNavigatorModifier)();
2437     const ArkUINavRouterModifier* (*getNavRouterModifier)();
2438     const ArkUINodeContainerModifier* (*getNodeContainerModifier)();
2439     const ArkUIPatternLockModifier* (*getPatternLockModifier)();
2440     const ArkUIColumnSplitModifier* (*getColumnSplitModifier)();
2441     const ArkUILineModifier* (*getLineModifier)();
2442     const ArkUIPathModifier* (*getPathModifier)();
2443     const ArkUIPolygonModifier* (*getPolygonModifier)();
2444     const ArkUIPolylineModifier* (*getPolylineModifier)();
2445     const ArkUISpanModifier* (*getSpanModifier)();
2446     const ArkUIImageAnimatorModifier* (*getImageAnimatorModifier)();
2447     const ArkUISideBarContainerModifier* (*getSideBarContainerModifier)();
2448     const ArkUICalendarPickerModifier* (*getCalendarPickerModifier)();
2449     const ArkUITextInputModifier* (*getTextInputModifier)();
2450     const ArkUITabsModifier* (*getTabsModifier)();
2451     const ArkUIStepperItemModifier* (*getStepperItemModifier)();
2452     const ArkUIHyperlinkModifier* (*getHyperlinkModifier)();
2453     const ArkUIMarqueeModifier* (*getMarqueeModifier)();
2454     const ArkUIMenuItemModifier* (*getMenuItemModifier)();
2455     const ArkUIMenuModifier* (*getMenuModifier)();
2456     const ArkUIDatePickerModifier* (*getDatePickerModifier)();
2457     const ArkUIWaterFlowModifier* (*getWaterFlowModifier)();
2458     const ArkUIAlphabetIndexerModifier* (*getAlphabetIndexerModifier)();
2459     const ArkUIDataPanelModifier* (*getDataPanelModifier)();
2460     const ArkUIGaugeModifier* (*getGaugeModifier)();
2461     const ArkUIScrollModifier* (*getScrollModifier)();
2462     const ArkUIGridItemModifier* (*getGridItemModifier)();
2463     const ArkUIProgressModifier* (*getProgressModifier)();
2464     const ArkUICommonShapeModifier* (*getCommonShapeModifier)();
2465     const ArkUIShapeModifier* (*getShapeModifier)();
2466     const ArkUIRectModifier* (*getRectModifier)();
2467     const ArkUISwiperModifier* (*getSwiperModifier)();
2468     const ArkUIListItemModifier* (*getListItemModifier)();
2469     const ArkUIListModifier* (*getListModifier)();
2470     const ArkUIListItemGroupModifier* (*getListItemGroupModifier)();
2471     const ArkUIQRCodeModifier* (*getQRCodeModifier)();
2472     const ArkUILoadingProgressModifier* (*getLoadingProgressModifier)();
2473     const ArkUITextClockModifier* (*getTextClockModifier)();
2474     const ArkUITextTimerModifier* (*getTextTimerModifier)();
2475     const ArkUIRenderNodeModifier* (*getRenderNodeModifier)();
2476     const ArkUIPluginModifier* (*getPluginModifier)();
2477     const ArkUIXComponentModifier* (*getXComponentModifier)();
2478     const ArkUIFormComponentModifier* (*getFormComponentModifier)();
2479     const ArkUIFlexModifier* (*getFlexModifier)();
2480     const ArkUIScrollBarModifier* (*getScrollBarModifier)();
2481     const ArkUIScrollerModifier* (*getScrollerModifier)();
2482     const ArkUITabContentModifier* (*getTabContentModifier)();
2483     const ArkUITabsControllerModifier* (*getTabsControllerModifier)();
2484     const ArkUIGestureModifier* (*getGestureModifier)();
2485     const ArkUIBadgeModifier* (*getBadgeModifier)();
2486     const ArkUIWebModifier* (*getWebModifier)();
2487     const ArkUIRefreshModifier* (*getRefreshModifier)();
2488     const ArkUIMenuItemGroupModifier* (*getMenuItemGroupModifier)();
2489     const ArkUISearchControllerModifier* (*getSearchControllerModifier)();
2490     const ArkUISideBarModifier* (*getSideBarModifier)();
2491     const ArkUIPatternLockControllerModifier* (*getPatternLockControllerModifier)();
2492     const ArkUITextTimerControllerModifier* (*getTextTimerControllerModifier)();
2493     const ArkUITextClockControllerModifier* (*getTextClockControllerModifier)();
2494     const ArkUIRichEditorControllerModifier* (*getRichEditorControllerModifier)();
2495     const ArkUITextAreaControllerModifier* (*getTextAreaControllerModifier)();
2496 };
2497 
2498 // same as inner defines in property.h
2499 typedef enum {
2500     ARKUI_DIRTY_FLAG_MEASURE = 0b1,
2501     ARKUI_DIRTY_FLAG_LAYOUT = 0b10,
2502     /** mark the node need to do attribute diff to drive update. */
2503     ARKUI_DIRTY_FLAG_ATTRIBUTE_DIFF = 0b100,
2504     ARKUI_DIRTY_FLAG_MEASURE_SELF = 0b1000,
2505     ARKUI_DIRTY_FLAG_MEASURE_SELF_AND_PARENT = 0b10000,
2506     ARKUI_DIRTY_FLAG_MEASURE_BY_CHILD_REQUEST = 0b100000,
2507     ARKUI_DIRTY_FLAG_RENDER = 0b1000000,
2508     ARKUI_DIRTY_FLAG_MEASURE_SELF_AND_CHILD = 0b1000000000,
2509 } ArkUIDirtyFlag;
2510 
2511 struct ArkUIBasicAPI {
2512     /// Tree operations.
2513     ArkUINodeHandle (*createNode)(ArkUINodeType type, ArkUI_Int32 id, ArkUI_Int32 flags);
2514     void (*disposeNode)(ArkUINodeHandle node);
2515     // Returned pointer is valid only till node is alive.
2516     ArkUI_CharPtr (*getName)(ArkUINodeHandle node);
2517     void (*dump)(ArkUINodeHandle node);
2518 
2519     void (*addChild)(ArkUINodeHandle parent, ArkUINodeHandle child);
2520     void (*removeChild)(ArkUINodeHandle parent, ArkUINodeHandle child);
2521     void (*insertChildAfter)(ArkUINodeHandle parent, ArkUINodeHandle child, ArkUINodeHandle sibling);
2522 
2523     // Returned pointer is valid only till node is alive.
2524     ArkUI_CharPtr (*getAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute);
2525     void (*setAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute, ArkUI_CharPtr value);
2526     void (*resetAttribute)(ArkUINodeHandle node, ArkUI_CharPtr attribute);
2527 
2528     /**
2529      * notify the node to send node event back
2530      */
2531     void (*registerNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUIAsyncEventKind kind, ArkUI_Int32 eventId,
2532                                    void* extraParam);
2533     void (*unRegisterNodeAsyncEvent)(ArkUINodeHandle nodePtr, ArkUIAsyncEventKind kind);
2534     /* registerNodeAsyncEventReceiver() must be redesigned */
2535     void (*registerNodeAsyncEventReceiver)(void (*eventReceiver)(ArkUINodeEvent* event));
2536     void (*unRegisterNodeAsyncEventReceiver)();
2537     ArkUI_Int32 (*checkAsyncEvent)(ArkUINodeEvent* event);
2538 
2539     // Commit attributes updates for node.
2540     void (*applyModifierFinish)(ArkUINodeHandle nodePtr);
2541     // the flag can combine different flag like ARKUI_DIRTY_FLAG_MEASURE | ARKUI_DIRTY_FLAG_RENDER
2542     void (*markDirty)(ArkUINodeHandle nodePtr, ArkUI_Uint32 dirtyFlag);
2543 };
2544 
2545 struct ArkUIBasicNodeAPI {
2546     ArkUI_Int32 version;
2547     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
2548     const ArkUIBasicAPI* (*getBasicModifier)();
2549 };
2550 
2551 struct ArkUIExtendedNodeAPI {
2552     ArkUI_Int32 version;
2553 
2554     const ArkUIUtilsModifier* (*getUtilsModifier)();
2555     const ArkUICanvasRenderingContext2DModifier* (*getCanvasRenderingContext2DModifier)();
2556 
2557     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
2558     void (*setCustomCallback)(ArkUINodeHandle node, ArkUI_Int32 callbackId);
2559     ArkUI_Int32 (*measureLayoutAndDraw)(ArkUIVMContext vmContext,
2560                                         ArkUINodeHandle node);
2561     ArkUI_Int32 (*measureNode)(ArkUIVMContext vmContext, ArkUINodeHandle node,
2562                                ArkUI_Float32 *data);
2563     ArkUI_Int32 (*layoutNode)(ArkUIVMContext vmContext, ArkUINodeHandle node,
2564                               ArkUI_Float32 *data);
2565     ArkUI_Int32 (*drawNode)(ArkUIVMContext vmContext, ArkUINodeHandle node,
2566                             ArkUI_Float32 *data);
2567     void (*setMeasureWidth)(ArkUINodeHandle node, ArkUI_Float32 value);
2568     ArkUI_Float32 (*getMeasureWidth)(ArkUINodeHandle node);
2569     void (*setMeasureHeight)(ArkUINodeHandle node, ArkUI_Float32 value);
2570     ArkUI_Float32 (*getMeasureHeight)(ArkUINodeHandle node);
2571     void (*setX)(ArkUINodeHandle node, ArkUI_Float32 value);
2572     void (*setY)(ArkUINodeHandle node, ArkUI_Float32 value);
2573     ArkUI_Int32 (*indexerChecker)(ArkUIVMContext context, ArkUINodeHandle node);
2574     void (*setRangeUpdater)(ArkUINodeHandle node, ArkUI_Int32 updaterId);
2575     void (*setLazyItemIndexer)(ArkUIVMContext vmContext, ArkUINodeHandle node,
2576                              ArkUI_Int32 indexerId);
2577     /// Vsync support.
2578     ArkUI_Int32 (*setVsyncCallback)(ArkUIVMContext vmContext,
2579                                     ArkUI_Int32 device,
2580                                     ArkUI_Int32 callbackId);
2581     void (*unblockVsyncWait)(ArkUIVMContext vmContext, ArkUI_Int32 device);
2582     /// Events.
2583     /**
2584     * Returns != 0 if an event was received,
2585     * fills in supplied buffer in such a case.
2586     * Must not block, blocking is performed by
2587     * ArkoalaHostApi.waitForVsync().
2588     */
2589     ArkUI_Int32 (*checkEvent)(ArkUINodeEvent *event);
2590     /**
2591     * Add an event to the event queue, so that
2592     * it will be picked up later by checkEvent().
2593     */
2594     void (*sendEvent)(ArkUINodeEvent *event);
2595 
2596     /// Continuations on native side.
2597     void (*callContinuation)(ArkUI_Int32 continuationId, ArkUI_Int32 argCount,
2598                              ArkUIEventCallbackArg *args);
2599     void (*setChildTotalCuunt)(ArkUINodeHandle node, ArkUI_Int32 totalCount);
2600 };
2601 
2602 /**
2603  * An API to control an implementation. When making changes modifying binary
2604  * layout, i.e. adding new events - increase ARKUI_NODE_API_VERSION above for binary
2605  * layout checks.
2606  */
2607 struct ArkUIFullNodeAPI {
2608     ArkUI_Int32 version;
2609     void (*setCallbackMethod)(ArkUIAPICallbackMethod* method);
2610     const ArkUIBasicAPI* (*getBasicAPI)();
2611     const ArkUINodeModifiers* (*getNodeModifiers)();
2612     const ArkUIAnimation* (*getAnimation)();
2613     const ArkUINavigation* (*getNavigation)();
2614     const ArkUIGraphicsAPI* (*getGraphicsAPI)();
2615 };
2616 
2617 struct ArkUIAnyAPI {
2618     ArkUI_Int32 version;
2619 };
2620 
2621 #ifdef __cplusplus
2622 };
2623 #endif
2624 
2625 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_INTERFACES_ARKOALA_API_H
2626