• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 FRAMEWORKS_INTERFACE_INNER_API_NATIVE_NODE_API_H
17 #define FRAMEWORKS_INTERFACE_INNER_API_NATIVE_NODE_API_H
18 
19 #include <cstdint>
20 
21 #include "interfaces/inner_api/ace/macros.h"
22 
23 #include "base/geometry/ng/rect_t.h"
24 #include "base/geometry/shape.h"
25 #include "base/memory/ace_type.h"
26 #include "core/components/common/layout/constants.h"
27 #include "core/components/common/properties/decoration.h"
28 #include "core/components_ng/pattern/navigation/navigation_declaration.h"
29 #include "core/components_ng/pattern/progress/progress_date.h"
30 #include "core/components_ng/pattern/render_node/render_node_properties.h"
31 #include "core/components_ng/pattern/tabs/tabs_model.h"
32 #include "core/event/mouse_event.h"
33 
34 typedef void *NodeHandle;
35 constexpr int32_t INVALID_FONT_STYLE = -1;
36 constexpr int32_t INVALID_COLOR_VALUE = -1;
37 
38 template<typename T>
GetTheme()39 static OHOS::Ace::RefPtr<T> GetTheme()
40 {
41     auto pipelineContext = OHOS::Ace::PipelineBase::GetCurrentContext();
42     CHECK_NULL_RETURN(pipelineContext, nullptr);
43     auto themeManager = pipelineContext->GetThemeManager();
44     CHECK_NULL_RETURN(themeManager, nullptr);
45     return themeManager->GetTheme<T>();
46 }
47 
48 struct ArkUIStringAndFloat {
49     double value;
50     const char *valueStr;
51 };
52 
53 struct ArkUIResourceColorType {
54     uint32_t number;
55     const char* string;
56 };
57 
58 struct ArkUIIconsStruct {
59     const char* ShowIconInfo;
60     const char* HiddenIconInfo;
61     const char* SwitchingIconInfo;
62 };
63 
64 struct ArkUIIconOptionsStruct {
65     double value;
66     int8_t unit;
67     int32_t color;
68     const char* src;
69 };
70 
71 struct ArkUISearchButtonOptionsStruct {
72     const char* value;
73     double sizeValue;
74     int8_t sizeUnit;
75     int32_t fontColor;
76 };
77 
78 struct ArkUISizeType {
79     double value;
80     int8_t unit;
81     const char* string;
82 };
83 
84 struct ArkUITextShadowStruct {
85     double radius;
86     uint32_t type;
87     uint32_t color;
88     double offsetX;
89     double offsetY;
90     uint32_t fill;
91 };
92 
93 struct ArkUIImagePropertiesStruct {
94     const char* src;
95     double number[4];
96     int8_t unit[4];
97     char* calc[4];
98     int32_t duration;
99 };
100 
101 struct ArkUILengthType {
102     const char* string;
103     double number;
104     int8_t unit;
105 };
106 
107 struct ArkUIFontStruct {
108     double fontSizeNumber;
109     int8_t fontSizeUnit;
110     uint8_t fontWeight;
111     uint8_t fontStyle;
112     const char** fontFamilies;
113     uint32_t familyLength;
114 };
115 
116 struct ArkUIResourceLength {
117     double value;
118     int32_t unit;
119     const char* string;
120 };
121 
122 struct ArkUIPasswordIconType {
123     const char* showResult;
124     const char* showBundleName;
125     const char* showModuleName;
126     const char* hideResult;
127     const char* hideBundleName;
128     const char* hideModuleName;
129 };
130 
131 struct ArkUIPlaceholderFontType {
132     const struct ArkUILengthType* size;
133     const char* weight;
134     const char** fontFamilies;
135     uint32_t length;
136     int32_t style;
137 };
138 
139 struct ArkUIProgressStyle {
140     double strokeWidthValue;
141     int8_t strokeWidthUnit;
142     double borderWidthValue;
143     int8_t borderWidthUnit;
144     int32_t scaleCount;
145     int8_t status;
146     double scaleWidthValue;
147     int8_t scaleWidthUnit;
148     double strokeRadiusValue;
149     int8_t strokeRadiusUnit;
150     bool enableSmoothEffect;
151     double borderColor;
152     const char* content;
153     double fontColor;
154     bool enableScanEffect;
155     bool shadow;
156     bool showDefaultPercentage;
157     ArkUIFontStruct fontInfo;
158 };
159 
160 struct ArkUIGradientType {
161     const uint32_t* color;
162     const ArkUILengthType* offset;
163     const float* weight;
164     const uint32_t* gradientLength;
165     uint32_t length;
166     uint32_t type;
167 };
168 
169 struct ArkUIDimensionType {
170     double value;
171     int32_t units;
172 };
173 
174 struct ArkUIChainAnimationOptionsType {
175     double minSpace;
176     double maxSpace;
177     double conductivity;
178     double intensity;
179     double stiffness;
180     double damping;
181     int32_t edgeEffect;
182     int32_t minSpaceUnits;
183     int32_t maxSpaceUnits;
184 };
185 
186 typedef void* NodeHandle;
187 struct ArkUICommonModifierAPI {
188     void (*SetBackgroundColor)(NodeHandle node, uint32_t color);
189     void (*ResetBackgroundColor)(NodeHandle node);
190     void (*SetWidth)(NodeHandle node, double value, int32_t unit, const char* calcVlaue);
191     void (*ResetWidth)(NodeHandle node);
192     void (*SetHeight)(NodeHandle node, double value, int32_t unit, const char* calcVlaue);
193     void (*ResetHeight)(NodeHandle node);
194     void (*SetBorderRadius)(NodeHandle node, const double *values, const int *units, int32_t length);
195     void (*ResetBorderRadius)(NodeHandle node);
196     void (*SetBorderWidth)(NodeHandle node, const double *values, const int *units, int32_t length);
197     void (*ResetBorderWidth)(NodeHandle node);
198     void (*SetTransform)(NodeHandle node, const float *matrix, int32_t length);
199     void (*ResetTransform)(NodeHandle node);
200     void (*SetBorderColor)(NodeHandle node, const uint32_t &leftColorInt, const uint32_t &rightColorInt,
201         const uint32_t &topColorInt, const uint32_t &bottomColorInt);
202     void (*ResetBorderColor)(NodeHandle node);
203     void (*SetPosition)(NodeHandle node, double xValue, int xUnit, double yValue, int yUnit);
204     void (*ResetPosition)(NodeHandle node);
205     void (*SetBorderStyle)(NodeHandle node, const int32_t *styles, int32_t length);
206     void (*ResetBorderStyle)(NodeHandle node);
207     void (*SetBackShadow)(NodeHandle node, const double *shadows, int32_t length);
208     void (*ResetBackShadow)(NodeHandle node);
209     void (*SetHitTestBehavior)(NodeHandle node, uint32_t value);
210     void (*ResetHitTestBehavior)(NodeHandle node);
211     void (*SetZIndex)(NodeHandle node, int32_t value);
212     void (*ResetZIndex)(NodeHandle node);
213     void (*SetOpacity)(NodeHandle node, double opacity);
214     void (*ResetOpacity)(NodeHandle node);
215     void (*SetAlign)(NodeHandle node, int32_t align);
216     void (*ResetAlign)(NodeHandle node);
217     void (*SetBackdropBlur)(NodeHandle node, double value);
218     void (*ResetBackdropBlur)(NodeHandle node);
219     void (*SetHueRotate)(NodeHandle node, float deg);
220     void (*ResetHueRotate)(NodeHandle node);
221     void (*SetInvert)(NodeHandle node, double invert);
222     void (*ResetInvert)(NodeHandle node);
223     void (*SetSepia)(NodeHandle node, double sepia);
224     void (*ResetSepia)(NodeHandle node);
225     void (*SetSaturate)(NodeHandle node, double saturate);
226     void (*ResetSaturate)(NodeHandle node);
227     void (*SetColorBlend)(NodeHandle node, uint32_t color);
228     void (*ResetColorBlend)(NodeHandle node);
229     void (*SetGrayscale)(NodeHandle node, double grayScale);
230     void (*ResetGrayscale)(NodeHandle node);
231     void (*SetContrast)(NodeHandle node, double contrast);
232     void (*ResetContrast)(NodeHandle node);
233     void (*SetBrightness)(NodeHandle node, double brightness);
234     void (*ResetBrightness)(NodeHandle node);
235     void (*SetBlur)(NodeHandle node, double value);
236     void (*ResetBlur)(NodeHandle node);
237     void (*SetLinearGradient)(NodeHandle node, const double *values, int32_t valuesLength, const double *colors,
238         int32_t colorsLength);
239     void (*ResetLinearGradient)(NodeHandle node);
240     void (*SetSweepGradient)(
241         NodeHandle node, const double* values, int32_t valuesLength, const double* colors, int32_t colorsLength);
242     void (*ResetSweepGradient)(NodeHandle node);
243     void (*SetRadialGradient)(
244         NodeHandle node, const double* values, int32_t valuesLength, const double* colors, int32_t colorsLength);
245     void (*ResetRadialGradient)(NodeHandle node);
246     void (*SetOverlay)(NodeHandle node, const char* text, const double* options, int32_t optionsLength);
247     void (*ResetOverlay)(NodeHandle node);
248     void (*SetBorderImage)(NodeHandle node, const char* src, const ArkUIStringAndFloat* options, int32_t optionsLength);
249     void (*ResetBorderImage)(NodeHandle node);
250     void (*SetBorderImageGradient)(
251         NodeHandle node, const double* values, int32_t valuesLength, const double* colors, int32_t colorsLength);
252     void (*SetForegroundBlurStyle)(
253         NodeHandle node, int32_t blurStyle, int32_t colorMode, int32_t adaptiveColor, double scale);
254     void (*ResetForegroundBlurStyle)(NodeHandle node);
255     void (*SetLinearGradientBlur)(NodeHandle node, double blurRadius, const double *stops, size_t stopsLength,
256         int32_t directionValue);
257     void (*ResetLinearGradientBlur)(NodeHandle node);
258     void (*SetBackgroundBlurStyle)(NodeHandle node, int32_t blurStyle, int32_t colorMode, int32_t adaptiveColor,
259         double scale);
260     void (*ResetBackgroundBlurStyle)(NodeHandle node);
261     void (*SetBorder)(NodeHandle node,
262         const double* values, int32_t valuesSize, const uint32_t* colorAndStyle, int32_t colorAndStyleSize);
263     void (*ResetBorder)(NodeHandle node);
264     void (*SetBackgroundImagePosition)(
265         NodeHandle node, const double* values, const int32_t* types, bool isAlign, int size);
266     void (*ResetBackgroundImagePosition)(NodeHandle node);
267     void (*SetBackgroundImageSize)(
268         NodeHandle node, double valueWidth, double valueHeight, int32_t typeWidth, int32_t typeHeight);
269     void (*ResetBackgroundImageSize)(NodeHandle node);
270     void (*SetBackgroundImage)(
271         NodeHandle node, const char* src, const char* bundle, const char* module, int32_t repeatIndex);
272     void (*ResetBackgroundImage)(NodeHandle node);
273     void (*SetTranslate)(NodeHandle node, const double* values, const int* units, int32_t length);
274     void (*ResetTranslate)(NodeHandle node);
275     void (*SetScale)(NodeHandle node, const double* values, int valLength, const int* units, int unitLength);
276     void (*ResetScale)(NodeHandle node);
277     void (*SetRotate)(NodeHandle node, const double* values, int32_t valLength, const int* units, int32_t unitLength);
278     void (*ResetRotate)(NodeHandle node);
279     void (*SetGeometryTransition)(NodeHandle node, const char* id);
280     void (*ResetGeometryTransition)(NodeHandle node);
281     void (*SetPixelStretchEffect)(NodeHandle node, const double* values, const int* units, int32_t length);
282     void (*ResetPixelStretchEffect)(NodeHandle node);
283     void (*SetLightUpEffect)(NodeHandle node, double radio);
284     void (*ResetLightUpEffect)(NodeHandle node);
285     void (*SetSphericalEffect)(NodeHandle node, double radio);
286     void (*ResetSphericalEffect)(NodeHandle node);
287     void (*SetRenderGroup)(NodeHandle node, bool isRenderGroup);
288     void (*ResetRenderGroup)(NodeHandle node);
289     void (*SetRenderFit)(NodeHandle node, int32_t renderFit);
290     void (*ResetRenderFit)(NodeHandle node);
291     void (*SetUseEffect)(NodeHandle node, bool useEffect);
292     void (*ResetUseEffect)(NodeHandle node);
293     void (*SetForegroundColor)(NodeHandle node, bool isColor, uint32_t color);
294     void (*ResetForegroundColor)(NodeHandle node);
295     void (*SetMotionPath)(NodeHandle node, const char *path, float from, float to, bool rotatable);
296     void (*ResetMotionPath)(NodeHandle node);
297     void (*SetGroupDefaultFocus)(NodeHandle node, bool groupDefaultFocus);
298     void (*ResetGroupDefaultFocus)(NodeHandle node);
299     void (*SetFocusOnTouch)(NodeHandle node, bool focusOnTouch);
300     void (*ResetFocusOnTouch)(NodeHandle node);
301     void (*SetFocusable)(NodeHandle node, bool focusable);
302     void (*ResetFocusable)(NodeHandle node);
303     void (*SetTouchable)(NodeHandle node, bool touchable);
304     void (*ResetTouchable)(NodeHandle node);
305     void (*SetDefaultFocus)(NodeHandle node, bool defaultFocus);
306     void (*ResetDefaultFocus)(NodeHandle node);
307     void (*SetDisplayPriority)(NodeHandle node, double value);
308     void (*ResetDisplayPriority)(NodeHandle node);
309     void (*SetOffset)(NodeHandle node, const double *number, const int8_t *unit);
310     void (*ResetOffset)(NodeHandle node);
311     void (*SetPadding)(NodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
312         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
313     void (*ResetPadding)(NodeHandle node);
314     void (*SetMargin)(NodeHandle node, const struct ArkUISizeType* top, const struct ArkUISizeType* right,
315         const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
316     void (*ResetMargin)(NodeHandle node);
317     void (*SetMarkAnchor)(NodeHandle node, double xValue, int32_t xUnit, double yValue, int32_t yUnit);
318     void (*ResetMarkAnchor)(NodeHandle node);
319     void (*SetVisibility)(NodeHandle node, int32_t value);
320     void (*ResetVisibility)(NodeHandle node);
321     void (*SetAccessibilityText)(NodeHandle node, const char* value);
322     void (*ResetAccessibilityText)(NodeHandle node);
323     void (*SetAllowDrop)(NodeHandle node, const char** value, int32_t length);
324     void (*ResetAllowDrop)(NodeHandle node);
325     void (*SetAccessibilityLevel)(NodeHandle node, const char* value);
326     void (*ResetAccessibilityLevel)(NodeHandle node);
327     void (*SetDirection)(NodeHandle node, int32_t direction);
328     void (*ResetDirection)(NodeHandle node);
329     void (*SetLayoutWeight)(NodeHandle node, int32_t layoutWeight);
330     void (*ResetLayoutWeight)(NodeHandle node);
331     void (*SetMinWidth)(NodeHandle node, const struct ArkUISizeType* minWidth);
332     void (*ResetMinWidth)(NodeHandle node);
333     void (*SetMaxWidth)(NodeHandle node, const struct ArkUISizeType* maxWidth);
334     void (*ResetMaxWidth)(NodeHandle node);
335     void (*SetMinHeight)(NodeHandle node, const struct ArkUISizeType* minHeight);
336     void (*ResetMinHeight)(NodeHandle node);
337     void (*SetMaxHeight)(NodeHandle node, const struct ArkUISizeType* maxHeight);
338     void (*ResetMaxHeight)(NodeHandle node);
339     void (*SetSize)(NodeHandle node, const double* number, const int8_t* unit, const char** calc);
340     void (*ResetSize)(NodeHandle node);
341     void (*ClearWidthOrHeight)(NodeHandle node, bool isWidth);
342     void (*SetAlignSelf)(NodeHandle node, int32_t value);
343     void (*ResetAlignSelf)(NodeHandle node);
344     void (*SetAspectRatio)(NodeHandle node, double value);
345     void (*ResetAspectRatio)(NodeHandle node);
346     void (*SetFlexGrow)(NodeHandle node, double value);
347     void (*ResetFlexGrow)(NodeHandle node);
348     void (*SetFlexShrink)(NodeHandle node, double value);
349     void (*ResetFlexShrink)(NodeHandle node);
350     void (*SetGridOffset)(NodeHandle node, int32_t offset);
351     void (*ResetGridOffset)(NodeHandle node);
352     void (*SetGridSpan)(NodeHandle node, int32_t value);
353     void (*ResetGridSpan)(NodeHandle node);
354     void (*SetExpandSafeArea)(NodeHandle node, const char* typeStr, const char* edgesStr);
355     void (*ResetExpandSafeArea)(NodeHandle node);
356     void (*SetFlexBasis)(NodeHandle node, const struct ArkUIStringAndFloat* flexBasisValue);
357     void (*ResetFlexBasis)(NodeHandle node);
358     void (*SetAlignRules)(NodeHandle node, char** anchors, int8_t* direction, int32_t length);
359     void (*ResetAlignRules)(NodeHandle node);
360     void (*SetAccessibilityDescription)(NodeHandle node, const char* value);
361     void (*ResetAccessibilityDescription)(NodeHandle node);
362     void (*SetId)(NodeHandle node, const char* id);
363     void (*ResetId)(NodeHandle node);
364     void (*SetKey)(NodeHandle node, const char* key);
365     void (*ResetKey)(NodeHandle node);
366     void (*SetRestoreId)(NodeHandle node, uint32_t id);
367     void (*ResetRestoreId)(NodeHandle node);
368     void (*SetTabIndex)(NodeHandle node, int32_t index);
369     void (*ResetTabIndex)(NodeHandle node);
370     void (*SetObscured)(NodeHandle node, const int32_t* reasons, int32_t length);
371     void (*ResetObscured)(NodeHandle node);
372     void (*SetResponseRegion)(NodeHandle node, const double* values, const int32_t* units, int32_t length);
373     void (*ResetResponseRegion)(NodeHandle node);
374     void (*SetBackgroundEffect)(NodeHandle node, const OHOS::Ace::EffectOption &effectOption);
375     void (*ResetBackgroundEffect)(NodeHandle node);
376     void (*SetBackgroundBrightness)(NodeHandle node, float rate, float lightUpDegree);
377     void (*ResetBackgroundBrightness)(NodeHandle node);
378     void (*SetDragPreviewOptions)(NodeHandle node, int32_t dragPreviewMode);
379     void (*ResetDragPreviewOptions)(NodeHandle node);
380     void (*SetMouseResponseRegion)(NodeHandle node, const double* values, const int32_t* units, int32_t length);
381     void (*ResetMouseResponseRegion)(NodeHandle node);
382     void (*SetEnabled)(NodeHandle node, bool value);
383     void (*ResetEnabled)(NodeHandle node);
384     void (*SetUseShadowBatching)(NodeHandle node, bool value);
385     void (*ResetUseShadowBatching)(NodeHandle node);
386     void (*SetBlendMode)(NodeHandle node, int32_t blendModeValue, int32_t blendApplyTypeValue);
387     void (*ResetBlendMode)(NodeHandle node);
388     void (*SetMonopolizeEvents)(NodeHandle node, bool value);
389     void (*ResetMonopolizeEvents)(NodeHandle node);
390     void (*SetDraggable)(NodeHandle node, bool value);
391     void (*ResetDraggable)(NodeHandle node);
392     void (*SetAccessibilityGroup)(NodeHandle node, bool value);
393     void (*ResetAccessibilityGroup)(NodeHandle node);
394     void (*SetHoverEffect)(NodeHandle node, int32_t hoverEffectValue);
395     void (*ResetHoverEffect)(NodeHandle node);
396     void (*SetOutlineColor)(NodeHandle node, const uint32_t* values, int32_t valuesSize);
397     void (*ResetOutlineColor)(NodeHandle node);
398     void (*SetOutlineRadius)(NodeHandle node, const double* values, int32_t valuesSize);
399     void (*ResetOutlineRadius)(NodeHandle node);
400     void (*SetOutlineWidth)(NodeHandle node, const double* values, int32_t valuesSize);
401     void (*ResetOutlineWidth)(NodeHandle node);
402     void (*SetOutlineStyle)(NodeHandle node, const uint32_t* values, int32_t valuesSize);
403     void (*ResetOutlineStyle)(NodeHandle node);
404     void (*SetOutline)(NodeHandle node, const double* values, int32_t valuesSize, const uint32_t* colorAndStyle,
405         int32_t colorAndStyleSize);
406     void (*ResetOutline)(NodeHandle node);
407     void (*SetClickEffect)(NodeHandle node, const int32_t level, float scaleValue);
408     void (*ResetClickEffect)(NodeHandle node);
409     void (*SetKeyBoardShortCut)(NodeHandle node, const char* value, const int32_t* keysIntArray, int32_t length);
410     void (*ResetKeyBoardShortCut)(NodeHandle node);
411 };
412 
413 struct ArkUITextModifierAPI {
414     void (*SetFontWeight)(NodeHandle node, const char* weight);
415     void (*ResetFontWeight)(NodeHandle node);
416     void (*SetFontStyle)(NodeHandle node, uint32_t fontStyle);
417     void (*ResetFontStyle)(NodeHandle node);
418     void (*SetTextAlign)(NodeHandle node, uint32_t testAlign);
419     void (*ResetTextAlign)(NodeHandle node);
420     void (*SetFontColor)(NodeHandle node, uint32_t color);
421     void (*ResetFontColor)(NodeHandle node);
422     void (*SetFontSize)(NodeHandle node, double value, int unit);
423     void (*ResetFontSize)(NodeHandle node);
424     void (*SetTextLineHeight)(NodeHandle node, const double number, const int8_t unit);
425     void (*ResetTextLineHeight)(NodeHandle node);
426     void (*SetTextTextOverflow)(NodeHandle node, int32_t value);
427     void (*ResetTextTextOverflow)(NodeHandle node);
428     void (*SetTextDecoration)(NodeHandle node, const int32_t decoration, const uint32_t color, const int32_t style);
429     void (*ResetTextDecoration)(NodeHandle node);
430     void (*SetTextTextCase)(NodeHandle node, int32_t value);
431     void (*ResetTextTextCase)(NodeHandle node);
432     void (*SetTextMaxLines)(NodeHandle node, uint32_t maxLine);
433     void (*ResetTextMaxLines)(NodeHandle node);
434     void (*SetTextMinFontSize)(NodeHandle node, const double number, const int8_t unit);
435     void (*ReSetTextMinFontSize)(NodeHandle node);
436     void (*SetTextDraggable)(NodeHandle node, uint32_t draggable);
437     void (*ResetTextDraggable)(NodeHandle node);
438     void (*SetTextMaxFontSize)(NodeHandle node, const double number, const int8_t unit);
439     void (*ResetTextMaxFontSize)(NodeHandle node);
440     void (*SetTextFontFamily)(NodeHandle node, const char** fontFamilies, uint32_t length);
441     void (*ResetTextFontFamily)(NodeHandle node);
442     void (*SetTextCopyOption)(NodeHandle node, const int32_t copyOption);
443     void (*ResetTextCopyOption)(NodeHandle node);
444     void (*SetTextTextShadow)(NodeHandle node, struct ArkUITextShadowStruct* shadows, uint32_t length);
445     void (*ResetTextTextShadow)(NodeHandle node);
446     void (*SetTextHeightAdaptivePolicy)(NodeHandle node, int32_t value);
447     void (*ResetTextHeightAdaptivePolicy)(NodeHandle node);
448     void (*SetTextTextIndent)(NodeHandle node, const struct ArkUIStringAndFloat* value);
449     void (*ResetTextTextIndent)(NodeHandle node);
450     void (*SetTextBaselineOffset)(NodeHandle node, const struct ArkUIStringAndFloat* offset);
451     void (*ResetTextBaselineOffset)(NodeHandle node);
452     void (*SetTextLetterSpacing)(NodeHandle node, const struct ArkUIStringAndFloat* letterSpacingStruct);
453     void (*ResetTextLetterSpacing)(NodeHandle node);
454     void (*SetTextFont)(NodeHandle node, const struct ArkUIFontStruct *fontInfo);
455     void (*ResetTextFont)(NodeHandle node);
456     void (*SetWordBreak)(NodeHandle node, const uint32_t wordBreak);
457     void (*ResetWordBreak)(NodeHandle node);
458     void (*setEllipsisMode)(NodeHandle node, const uint32_t ellipsisMode);
459     void (*resetEllipsisMode)(NodeHandle node);
460 };
461 
462 struct ArkUIButtonModifierAPI {
463     void (*SetButtonType)(NodeHandle node, int type);
464     void (*ResetButtonType)(NodeHandle node);
465     void (*SetButtonStateEffect)(NodeHandle node, bool stateEffect);
466     void (*ResetButtonStateEffect)(NodeHandle node);
467     void (*SetButtonFontColor)(NodeHandle node, uint32_t fontColor);
468     void (*ResetButtonFontColor)(NodeHandle node);
469     void (*SetButtonFontSize)(NodeHandle node, double fontSizeValue, int fontSizeUnit);
470     void (*ResetButtonFontSize)(NodeHandle node);
471     void (*SetButtonFontWeight)(NodeHandle node, const char *fontWeight);
472     void (*ResetButtonFontWeight)(NodeHandle node);
473     void (*SetButtonFontStyle)(NodeHandle node, int32_t fontStyle);
474     void (*ResetButtonFontStyle)(NodeHandle node);
475     void (*SetButtonFontFamily)(NodeHandle node, const char *fontFamily);
476     void (*ResetButtonFontFamily)(NodeHandle node);
477     void (*SetButtonLabelStyle)(NodeHandle node, const char** stringParameters, const int32_t* valueArray,
478         const double* dimensionArray, const size_t* dataCountArray);
479     void (*ResetButtonLabelStyle)(NodeHandle node);
480     void (*SetButtonBackgroundColor)(NodeHandle node, uint32_t color);
481     void (*ResetButtonBackgroundColor)(NodeHandle node);
482     void (*SetButtonBorderRadius)(NodeHandle node, const double* values, int32_t valuesSize);
483     void (*ResetButtonBorderRadius)(NodeHandle node);
484     void (*SetButtonSize)(
485         NodeHandle node, const char* widthValue, int32_t widthUnit, const char* heightValue, int32_t heightUnit);
486     void (*ResetButtonSize)(NodeHandle node);
487 };
488 
489 struct ArkUIToggleModifierAPI {
490     void (*SetToggleSelectedColor)(NodeHandle node, uint32_t selectedColor);
491     void (*ResetToggleSelectedColor)(NodeHandle node);
492     void (*SetToggleSwitchPointColor)(NodeHandle node, uint32_t switchPointColor);
493     void (*ResetToggleSwitchPointColor)(NodeHandle node);
494     void (*SetToggleHeight)(NodeHandle node, double value, int32_t unit);
495     void (*ResetToggleHeight)(NodeHandle node);
496     void (*SetToggleResponseRegion)(NodeHandle node, const double* values, const int32_t* units, uint32_t length);
497     void (*ResetToggleResponseRegion)(NodeHandle node);
498     void (*SetTogglePadding)(NodeHandle node, const double* values, const uint32_t length);
499     void (*ResetTogglePadding)(NodeHandle node);
500     void (*SetToggleBackgroundColor)(NodeHandle node, uint32_t color);
501     void (*ResetToggleBackgroundColor)(NodeHandle node);
502     void (*SetToggleHoverEffect)(NodeHandle node, int32_t hoverEffectValue);
503     void (*ResetToggleHoverEffect)(NodeHandle node);
504 };
505 
506 struct ArkUINavDestinationModifierAPI {
507     void (*SetHideTitleBar)(NodeHandle node, bool hideTitle);
508     void (*ResetHideTitleBar)(NodeHandle node);
509 };
510 
511 struct ArkUICounterModifierAPI {
512     void (*SetEnableInc)(NodeHandle node, bool value);
513     void (*ReSetEnableInc)(NodeHandle node);
514     void (*SetEnableDec)(NodeHandle node, bool value);
515     void (*ReSetEnableDec)(NodeHandle node);
516     void (*SetCounterHeight)(NodeHandle node, double value, int unit);
517     void (*ResetCounterHeight)(NodeHandle node);
518     void (*SetCounterWidth)(NodeHandle node, double value, int unit);
519     void (*ResetCounterWidth)(NodeHandle node);
520     void (*SetCounterBackgroundColor)(NodeHandle node, uint32_t color);
521     void (*ResetCounterBackgroundColor)(NodeHandle node);
522 };
523 
524 struct ArkUICheckboxGroupModifierAPI {
525     void (*SetCheckboxGroupSelectedColor)(NodeHandle node, uint32_t color);
526     void (*ResetCheckboxGroupSelectedColor)(NodeHandle node);
527     void (*SetCheckboxGroupUnSelectedColor)(NodeHandle node, uint32_t color);
528     void (*ResetCheckboxGroupUnSelectedColor)(NodeHandle node);
529     void (*SetCheckboxGroupSelectAll)(NodeHandle node, bool isSelected);
530     void (*ResetCheckboxGroupSelectAll)(NodeHandle node);
531     void (*SetCheckboxGroupWidth)(NodeHandle node, double value, int unit);
532     void (*ResetCheckboxGroupWidth)(NodeHandle node);
533     void (*SetCheckboxGroupHeight)(NodeHandle node, double value, int unit);
534     void (*ResetCheckboxGroupHeight)(NodeHandle node);
535     void (*SetCheckboxGroupMark)(NodeHandle node, uint32_t color, double sizeValue, double widthValue);
536     void (*ResetCheckboxGroupMark)(NodeHandle node);
537 };
538 
539 struct ArkUIImageSpanModifierAPI {
540     void (*SetImageSpanVerticalAlign)(NodeHandle node, int32_t value);
541     void (*ResetImageSpanVerticalAlign)(NodeHandle node);
542     void (*SetImageSpanObjectFit)(NodeHandle node, int32_t value);
543     void (*ResetImageSpanObjectFit)(NodeHandle node);
544 };
545 
546 struct ArkUIBlankModifierAPI {
547     void (*SetColor)(NodeHandle node, uint32_t value);
548     void (*ResetColor)(NodeHandle node);
549     void (*SetBlankHeight)(NodeHandle node, double heightValue, int32_t heightUnit);
550     void (*ResetBlankHeight)(NodeHandle node);
551 };
552 
553 struct ArkUISearchModifierAPI {
554     void (*SetSearchPlaceholderColor)(NodeHandle node, uint32_t color);
555     void (*ResetSearchPlaceholderColor)(NodeHandle node);
556     void (*SetSearchTextFont)(NodeHandle node, const struct ArkUIFontStruct* value);
557     void (*ResetSearchTextFont)(NodeHandle node);
558     void (*SetSearchSelectionMenuHidden)(NodeHandle node, uint32_t selectionMenuHidden);
559     void (*ResetSearchSelectionMenuHidden)(NodeHandle node);
560     void (*SetSearchCaretStyle)(NodeHandle node, const double number, const int8_t unit, uint32_t caretColor);
561     void (*ResetSearchCaretStyle)(NodeHandle node);
562     void (*SetSearchTextAlign)(NodeHandle node, int32_t value);
563     void (*ResetSearchTextAlign)(NodeHandle node);
564     void (*SetSearchCancelButton)(NodeHandle node,
565         int32_t style, const struct ArkUISizeType* size, uint32_t color, const char* src);
566     void (*ResetSearchCancelButton)(NodeHandle node);
567     void (*SetSearchEnableKeyboardOnFocus)(NodeHandle node, uint32_t value);
568     void (*ResetSearchEnableKeyboardOnFocus)(NodeHandle node);
569     void (*SetSearchPlaceholderFont)(NodeHandle node, const struct ArkUIFontStruct* value);
570     void (*ResetSearchPlaceholderFont)(NodeHandle node);
571     void (*SetSearchSearchIcon)(NodeHandle node, const struct ArkUIIconOptionsStruct* value);
572     void (*ResetSearchSearchIcon)(NodeHandle node);
573     void (*SetSearchSearchButton)(NodeHandle node, const struct ArkUISearchButtonOptionsStruct* value);
574     void (*ResetSearchSearchButton)(NodeHandle node);
575     void (*SetSearchFontColor)(NodeHandle node, uint32_t value);
576     void (*ResetSearchFontColor)(NodeHandle node);
577     void (*SetSearchCopyOption)(NodeHandle node, uint32_t value);
578     void (*ResetSearchCopyOption)(NodeHandle node);
579     void (*SetSearchHeight)(NodeHandle node, double heightValue, int32_t heightUnit);
580     void (*ResetSearchHeight)(NodeHandle node);
581 };
582 
583 struct ArkUISelectModifierAPI {
584     void (*SetSpace)(NodeHandle node, float value, int32_t unit);
585     void (*SetValue)(NodeHandle node, const char *value);
586     void (*SetSelected)(NodeHandle node, int32_t idx);
587     void (*SetSelectFontColor)(NodeHandle node, const uint32_t colorVal);
588     void (*SetSelectedOptionBgColor)(NodeHandle node, const uint32_t colorVal);
589     void (*SetOptionBgColor)(NodeHandle node, const uint32_t colorVal);
590     void (*SetOptionFontColor)(NodeHandle node, const uint32_t colorVal);
591     void (*SetSelectedOptionFontColor)(NodeHandle node, const uint32_t colorVal);
592     void (*SetArrowPosition)(NodeHandle node, const int32_t arrowPosition);
593     void (*SetMenuAlign)(
594         NodeHandle node, const int32_t alignType, const float* values, const int32_t* units, const int32_t size);
595     void (*SetFont)(NodeHandle node, const char *fontInfo, int32_t style);
596     void (*SetOptionFont)(NodeHandle node, const char *fontInfo, int32_t style);
597     void (*SetSelectedOptionFont)(NodeHandle node, const char *fontInfo, int32_t style);
598     void (*ResetSpace)(NodeHandle node);
599     void (*ResetValue)(NodeHandle node);
600     void (*ResetSelected)(NodeHandle node);
601     void (*ResetSelectFontColor)(NodeHandle node);
602     void (*ResetSelectedOptionBgColor)(NodeHandle node);
603     void (*ResetOptionBgColor)(NodeHandle node);
604     void (*ResetOptionFontColor)(NodeHandle node);
605     void (*ResetSelectedOptionFontColor)(NodeHandle node);
606     void (*ResetArrowPosition)(NodeHandle node);
607     void (*ResetMenuAlign)(NodeHandle node);
608     void (*ResetFont)(NodeHandle node);
609     void (*ResetOptionFont)(NodeHandle node);
610     void (*ResetSelectedOptionFont)(NodeHandle node);
611 
612     void (*SetSelectWidth)(NodeHandle node, double value, int32_t unit, const char* calcVlaue);
613     void (*ResetSelectWidth)(NodeHandle node);
614     void (*SetSelectHeight)(NodeHandle node, double value, int32_t unit, const char* calcVlaue);
615     void (*ResetSelectHeight)(NodeHandle node);
616     void (*SetSelectSize)(NodeHandle node, const double* number, const int8_t* unit, const char** calc);
617     void (*ResetSelectSize)(NodeHandle node);
618     void (*SetOptionWidthFitTrigger)(NodeHandle node, bool trigger);
619     void (*SetSelectOptionWidth)(NodeHandle node, double value, int32_t unit);
620     void (*ResetSelectOptionWidth)(NodeHandle node);
621     void (*SetSelectOptionHeight)(NodeHandle node, double value, int32_t unit);
622     void (*ResetSelectOptionHeight)(NodeHandle node);
623 };
624 
625 struct ArkUICheckboxModifierAPI {
626     void (*SetSelect)(NodeHandle node, bool isSelected);
627     void (*SetSelectedColor)(NodeHandle node, uint32_t color);
628     void (*SetUnSelectedColor)(NodeHandle node, uint32_t color);
629     void (*SetCheckboxWidth)(NodeHandle node, double widthVal, int widthUnit);
630     void (*SetCheckboxHeight)(NodeHandle node, double heightVal, int heightUnit);
631     void (*SetMark)(NodeHandle node, uint32_t color, double sizeValue, double widthValue);
632     void (*SetCheckboxPadding)(NodeHandle node, const double* values, const int* units, uint32_t length);
633     void (*SetCheckboxResponseRegion)(NodeHandle node, const double* values, const int32_t* units, uint32_t length);
634 
635     void (*ResetSelect)(NodeHandle node);
636     void (*ResetSelectedColor)(NodeHandle node);
637     void (*ResetUnSelectedColor)(NodeHandle node);
638     void (*ResetCheckboxWidth)(NodeHandle node);
639     void (*ResetCheckboxHeight)(NodeHandle node);
640     void (*ResetMark)(NodeHandle node);
641     void (*ResetCheckboxPadding)(NodeHandle node);
642     void (*ResetCheckboxResponseRegion)(NodeHandle node);
643 };
644 
645 struct ArkUITimepickerModifierAPI {
646     void (*SetTimepickerBackgroundColor)(NodeHandle node, uint32_t color);
647     void (*SetTimepickerDisappearTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
648     void (*SetTimepickerTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
649     void (*SetTimepickerSelectedTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
650     void (*ResetTimepickerDisappearTextStyle)(NodeHandle node);
651     void (*ResetTimepickerTextStyle)(NodeHandle node);
652     void (*ResetTimepickerSelectedTextStyle)(NodeHandle node);
653     void (*ResetTimepickerBackgroundColor)(NodeHandle node);
654     void (*SetTimepickerUseMilitaryTime)(NodeHandle node, bool isUseMilitaryTime);
655     void (*ResetTimepickerUseMilitaryTime)(NodeHandle node);
656 };
657 
658 struct ArkUIRowModifierAPI {
659     void (*SetRowJustifyContent)(NodeHandle node, int32_t flexAlign);
660     void (*ResetRowJustifyContent)(NodeHandle node);
661     void (*SetRowAlignItems)(NodeHandle node, int32_t verticalAlign);
662     void (*ResetRowAlignItems)(NodeHandle node);
663 };
664 
665 struct ArkUIRowSplitModifierAPI {
666     void (*SetRowSplitResizeable)(NodeHandle node, bool resizeable);
667     void (*ResetRowSplitResizeable)(NodeHandle node);
668 };
669 
670 struct ArkUITextpickerModifierAPI {
671     void (*SetTextpickerBackgroundColor)(NodeHandle node, uint32_t color);
672     void (*SetTextpickerCanLoop)(NodeHandle node, bool value);
673     void (*SetTextpickerSelectedIndex)(NodeHandle node, uint32_t *values, int32_t size);
674     void (*SetTextpickerTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
675     void (*SetTextpickerSelectedTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
676     void (*SetTextpickerDisappearTextStyle)(NodeHandle node, uint32_t color, const char *fontInfo, int32_t styleVal);
677     void (*SetTextpickerDefaultPickerItemHeight)(NodeHandle node, double dVal, int32_t dUnit);
678     void (*ResetTextpickerCanLoop)(NodeHandle node);
679     void (*ResetTextpickerSelected)(NodeHandle node);
680     void (*ResetTextpickerTextStyle)(NodeHandle node);
681     void (*ResetTextpickerSelectedTextStyle)(NodeHandle node);
682     void (*ResetTextpickerDisappearTextStyle)(NodeHandle node);
683     void (*ResetTextpickerDefaultPickerItemHeight)(NodeHandle node);
684     void (*ResetTextpickerBackgroundColor)(NodeHandle node);
685 };
686 
687 struct ArkUIRatingModifierAPI {
688     void (*SetStars)(NodeHandle node, int32_t value);
689     void (*SetRatingStepSize)(NodeHandle node, double value);
690     void (*SetStarStyle)(NodeHandle node, const char *backgroundUri, const char *foregroundUri,
691         const char *secondaryUri);
692     void (*ResetStars)(NodeHandle node);
693     void (*ResetRatingStepSize)(NodeHandle node);
694     void (*ResetStarStyle)(NodeHandle node);
695 };
696 
697 struct ArkUISliderModifierAPI {
698     void (*SetShowTips)(NodeHandle node, bool isShow, const char *value);
699     void (*ResetShowTips)(NodeHandle node);
700     void (*SetSliderStepSize)(NodeHandle node, double value, int unit);
701     void (*ResetSliderStepSize)(NodeHandle node);
702     void (*SetBlockSize)(NodeHandle node, double widthVal, int widthUnit, double heightVal, int heightUnit);
703     void (*ResetBlockSize)(NodeHandle node);
704     void (*SetTrackBorderRadius)(NodeHandle node, double value, int unit);
705     void (*ResetTrackBorderRadius)(NodeHandle node);
706     void (*SetStepColor)(NodeHandle node, uint32_t color);
707     void (*ResetStepColor)(NodeHandle node);
708     void (*SetBlockBorderColor)(NodeHandle node, uint32_t color);
709     void (*ResetBlockBorderColor)(NodeHandle node);
710     void (*SetBlockBorderWidth)(NodeHandle node, double value, int unit);
711     void (*ResetBlockBorderWidth)(NodeHandle node);
712     void (*SetBlockColor)(NodeHandle node, uint32_t color);
713     void (*ResetBlockColor)(NodeHandle node);
714     void (*SetTrackBackgroundColor)(NodeHandle node, uint32_t color);
715     void (*ResetTrackBackgroundColor)(NodeHandle node);
716     void (*SetSelectColor)(NodeHandle node, uint32_t color);
717     void (*ResetSelectColor)(NodeHandle node);
718     void (*SetShowSteps)(NodeHandle node, bool showSteps);
719     void (*ResetShowSteps)(NodeHandle node);
720     void (*SetThickness)(NodeHandle node, double value, int unit);
721     void (*ResetThickness)(NodeHandle node);
722 };
723 
724 struct ArkUIRadioModifierAPI {
725     void (*SetRadioChecked)(NodeHandle node, bool isCheck);
726     void (*ResetRadioChecked)(NodeHandle node);
727     void (*SetRadioStyle)(
728         NodeHandle node, uint32_t checkedBackgroundColor, uint32_t uncheckedBorderColor, uint32_t indicatorColor);
729     void (*ResetRadioStyle)(NodeHandle node);
730     void (*SetRadioWidth)(NodeHandle node, double value, uint32_t unit);
731     void (*ResetRadioWidth)(NodeHandle node);
732     void (*SetRadioHeight)(NodeHandle node, double value, uint32_t unit);
733     void (*ResetRadioHeight)(NodeHandle node);
734     void (*SetRadioSize)(
735         NodeHandle node, double widthValue, int32_t widthUnit, double heightValue, int32_t heightUnit);
736     void (*ResetRadioSize)(NodeHandle node);
737     void (*SetRadioHoverEffect)(NodeHandle node, int32_t hoverEffectValue);
738     void (*ResetRadioHoverEffect)(NodeHandle node);
739     void (*SetRadioPadding)(
740         NodeHandle node, const struct ArkUISizeType *top, const struct ArkUISizeType *right,
741             const struct ArkUISizeType *bottom, const struct ArkUISizeType *left);
742     void (*ResetRadioPadding)(NodeHandle node);
743     void (*SetRadioResponseRegion)(NodeHandle node, const double* values, const int32_t* units, uint32_t length);
744     void (*ResetRadioResponseRegion)(NodeHandle node);
745 };
746 
747 struct ArkUIDividerModifierAPI {
748     void (*SetDividerStrokeWidth)(NodeHandle node, double value, int32_t unit);
749     void (*ResetDividerStrokeWidth)(NodeHandle node);
750     void (*SetDividerLineCap)(NodeHandle node, int32_t lineCap);
751     void (*ResetDividerLineCap)(NodeHandle node);
752     void (*SetDividerColor)(NodeHandle node, uint32_t color);
753     void (*ResetDividerColor)(NodeHandle node);
754     void (*SetDividerVertical)(NodeHandle node, bool value);
755     void (*ResetDividerVertical)(NodeHandle node);
756 };
757 
758 struct ArkUIStackModifierAPI {
759     void (*SetAlignContent)(NodeHandle node, int32_t alignment);
760     void (*ResetAlignContent)(NodeHandle node);
761 };
762 
763 struct ArkUIGridModifierAPI {
764     void (*SetGridColumnsTemplate)(NodeHandle node, const char* columnsTemplate);
765     void (*ResetGridColumnsTemplate)(NodeHandle node);
766     void (*SetGridRowsTemplate)(NodeHandle node, const char* rowsTemplate);
767     void (*ResetGridRowsTemplate)(NodeHandle node);
768     void (*SetGridColumnsGap)(NodeHandle node, const struct ArkUIResourceLength* columnsGap);
769     void (*ResetGridColumnsGap)(NodeHandle node);
770     void (*SetGridRowsGap)(NodeHandle node, const struct ArkUIResourceLength* rowsGap);
771     void (*ResetGridRowsGap)(NodeHandle node);
772     void (*SetGridScrollBar)(NodeHandle node, const int32_t scrollBar);
773     void (*ResetGridScrollBar)(NodeHandle node);
774     void (*SetGridScrollBarWidth)(NodeHandle node, double value, int32_t unit);
775     void (*ResetGridScrollBarWidth)(NodeHandle node);
776     void (*SetGridScrollBarColor)(NodeHandle node, uint32_t scrollBarColor);
777     void (*ResetGridScrollBarColor)(NodeHandle node);
778     void (*SetGridCachedCount)(NodeHandle node, const int32_t cachedCount);
779     void (*ResetGridCachedCount)(NodeHandle node);
780     void (*SetGridEditMode)(NodeHandle node, bool editMode);
781     void (*ResetGridEditMode)(NodeHandle node);
782     void (*SetGridMultiSelectable)(NodeHandle node, bool multiSelectable);
783     void (*ResetGridMultiSelectable)(NodeHandle node);
784     void (*SetGridMaxCount)(NodeHandle node, int32_t maxCount);
785     void (*ResetGridMaxCount)(NodeHandle node);
786     void (*SetGridMinCount)(NodeHandle node, int32_t minCount);
787     void (*ResetGridMinCount)(NodeHandle node);
788     void (*SetGridCellLength)(NodeHandle node, int32_t cellLength);
789     void (*ResetGridCellLength)(NodeHandle node);
790     void (*SetGridLayoutDirection)(NodeHandle node, int32_t layoutDirection);
791     void (*ResetGridLayoutDirection)(NodeHandle node);
792     void (*SetGridSupportAnimation)(NodeHandle node, bool supportAnimation);
793     void (*ResetGridSupportAnimation)(NodeHandle node);
794 
795     void (*SetEdgeEffect)(NodeHandle node, int32_t edgeEffect, bool alwaysEnabled);
796     void (*ResetEdgeEffect)(NodeHandle node);
797     void (*SetNestedScroll)(NodeHandle node, int32_t forward, int32_t backward);
798     void (*ResetNestedScroll)(NodeHandle node);
799     void (*SetEnableScroll)(NodeHandle node, bool ScrollEnabled);
800     void (*ResetEnableScroll)(NodeHandle node);
801     void (*SetFriction)(NodeHandle node, double friction);
802     void (*ResetFriction)(NodeHandle node);
803 };
804 
805 struct ArkUIGridColModifierAPI {
806     void (*SetSpan)(NodeHandle node, int32_t* containerSizeArray, int32_t size);
807     void (*ResetSpan)(NodeHandle node);
808     void (*SetGridColOffset)(NodeHandle node, int32_t* containerSizeArray, int32_t size);
809     void (*ResetGridColOffset)(NodeHandle node);
810     void (*SetOrder)(NodeHandle node, int32_t* containerSizeArray, int32_t size);
811     void (*ResetOrder)(NodeHandle node);
812 };
813 
814 struct ArkUIGridRowModifierAPI {
815     void (*SetAlignItems)(NodeHandle node, int32_t alignItems);
816     void (*ResetAlignItems)(NodeHandle node);
817 };
818 
819 struct ArkUIPanelModifierAPI {
820     void (*SetPanelMode)(NodeHandle node, int32_t mode);
821     void (*ResetPanelMode)(NodeHandle node);
822     void (*SetPanelFullHeight)(NodeHandle node, double value, int unit);
823     void (*ResetPanelFullHeight)(NodeHandle node);
824     void (*SetPanelHalfHeight)(NodeHandle node, double value, int unit);
825     void (*ResetPanelHalfHeight)(NodeHandle node);
826     void (*SetPanelMiniHeight)(NodeHandle node, double value, int unit);
827     void (*ResetPanelMiniHeight)(NodeHandle node);
828     void (*SetPanelBackgroundMask)(NodeHandle node, uint32_t color);
829     void (*ResetPanelBackgroundMask)(NodeHandle node);
830     void (*SetPanelType)(NodeHandle node, int32_t type);
831     void (*ResetPanelType)(NodeHandle node);
832     void (*SetPanelCustomHeight)(NodeHandle node, double value, int unit);
833     void (*SetPanelCustomHeightByString)(NodeHandle node, const char* value);
834     void (*ResetPanelCustomHeight)(NodeHandle node);
835     void (*SetShowCloseIcon)(NodeHandle node, bool value);
836     void (*ResetShowCloseIcon)(NodeHandle node);
837     void (*SetDragBar)(NodeHandle node, bool value);
838     void (*ResetDragBar)(NodeHandle node);
839     void (*SetShow)(NodeHandle node, bool value);
840     void (*ResetShow)(NodeHandle node);
841 };
842 
843 struct ArkUITextAreaModifierAPI {
844     void (*SetTextAreaStyle)(NodeHandle node, int32_t style);
845     void (*ResetTextAreaStyle)(NodeHandle node);
846     void (*SetTextAreaSelectionMenuHidden)(NodeHandle node, uint32_t contextMenuHidden);
847     void (*ResetTextAreaSelectionMenuHidden)(NodeHandle node);
848     void (*SetTextAreaMaxLines)(NodeHandle node, uint32_t maxLine);
849     void (*ResetTextAreaMaxLines)(NodeHandle node);
850     void (*SetTextAreaCopyOption)(NodeHandle node, int32_t copyOptions);
851     void (*ResetTextAreaCopyOption)(NodeHandle node);
852     void (*SetTextAreaPlaceholderColor)(NodeHandle node, uint32_t color);
853     void (*ResetTextAreaPlaceholderColor)(NodeHandle node);
854     void (*SetTextAreaTextAlign)(NodeHandle node, int32_t value);
855     void (*ResetTextAreaTextAlign)(NodeHandle node);
856     void (*SetTextAreaPlaceholderFont)(NodeHandle node, const struct ArkUIResourceLength* size,
857         const char* weight, const char* family, int32_t style);
858     void (*ResetTextAreaPlaceholderFont)(NodeHandle node);
859     void (*SetTextAreaBarState)(NodeHandle node, uint32_t barStateValue);
860     void (*ResetTextAreaBarState)(NodeHandle node);
861     void (*SetTextAreaEnableKeyboardOnFocus)(NodeHandle node, uint32_t keyboardOnFocusValue);
862     void (*ResetTextAreaEnableKeyboardOnFocus)(NodeHandle node);
863     void (*SetTextAreaFontFamily)(NodeHandle node, const char* fontFamily);
864     void (*ResetTextAreaFontFamily)(NodeHandle node);
865     void (*SetTextAreaShowCounter)(NodeHandle node, uint32_t value);
866     void (*ResetTextAreaShowCounter)(NodeHandle node);
867     void (*SetTextAreaCaretColor)(NodeHandle node, uint32_t color);
868     void (*ResetTextAreaCaretColor)(NodeHandle node);
869     void (*SetTextAreaMaxLength)(NodeHandle node, int32_t value);
870     void (*ResetTextAreaMaxLength)(NodeHandle node);
871     void (*SetTextAreaFontColor)(NodeHandle node, uint32_t color);
872     void (*ResetTextAreaFontColor)(NodeHandle node);
873     void (*SetTextAreaFontStyle)(NodeHandle node, uint32_t value);
874     void (*ResetTextAreaFontStyle)(NodeHandle node);
875     void (*SetTextAreaFontWeight)(NodeHandle node, const char* fontWeight);
876     void (*ResetTextAreaFontWeight)(NodeHandle node);
877     void (*SetTextAreaFontSize)(NodeHandle node, const struct ArkUIResourceLength* size);
878     void (*ResetTextAreaFontSize)(NodeHandle node);
879     void (*SetCounterType)(NodeHandle node, int32_t value);
880 };
881 
882 struct ArkUINavigationModifierAPI {
883     void (*SetHideToolBar)(NodeHandle node, bool hide);
884     void (*ResetHideToolBar)(NodeHandle node);
885     void (*SetHideNavBar)(NodeHandle node, bool hideNavBar);
886     void (*ResetHideNavBar)(NodeHandle node);
887     void (*SetTitleMode)(NodeHandle node, int32_t value);
888     void (*ResetTitleMode)(NodeHandle node);
889     void (*SetHideBackButton)(NodeHandle node, bool hideBackButton);
890     void (*ResetHideBackButton)(NodeHandle node);
891     void (*SetSubtitle)(NodeHandle node, const char* subtitle);
892     void (*ResetSubtitle)(NodeHandle node);
893     void (*ResetUsrNavigationMode)(NodeHandle node);
894     void (*SetUsrNavigationMode)(NodeHandle node, int32_t value);
895     void (*SetNavHideTitleBar)(NodeHandle node, bool hideTitle);
896     void (*ResetNavHideTitleBar)(NodeHandle node);
897     void (*SetNavBarPosition)(NodeHandle node, int32_t value);
898     void (*ResetNavBarPosition)(NodeHandle node);
899     void (*SetMinContentWidth)(NodeHandle node, double value, int unit);
900     void (*ResetMinContentWidth)(NodeHandle node);
901     void (*SetMaxNavBarWidth)(NodeHandle node, double maxValue, int maxUnit);
902     void (*ResetMaxNavBarWidth)(NodeHandle node);
903     void (*SetMinNavBarWidth)(NodeHandle node, double minValue, int minUnit);
904     void (*ResetMinNavBarWidth)(NodeHandle node);
905     void (*SetNavBarWidth)(NodeHandle node, double value, int unit);
906     void (*ResetNavBarWidth)(NodeHandle node);
907 };
908 
909 struct ArkUINavRouterModifierAPI {
910     void (*SetNavRouteMode)(NodeHandle node, int32_t mode);
911     void (*ResetNavRouteMode)(NodeHandle node);
912 };
913 
914 struct ArkUINavigatorModifierAPI {
915     void (*SetTarget)(NodeHandle node, const char* value);
916     void (*ResetTarget)(NodeHandle node);
917     void (*SetType)(NodeHandle node, int32_t value);
918     void (*ResetType)(NodeHandle node);
919     void (*SetActive)(NodeHandle node, bool active);
920     void (*ResetActive)(NodeHandle node);
921     void (*SetParams)(NodeHandle node, const char* args);
922     void (*ResetParams)(NodeHandle node);
923 };
924 
925 struct ArkUINodeContainerModifierAPI {
926     void (*Rebuild)(int32_t nodeId);
927 };
928 
929 struct ArkUIColumnModifierAPI {
930     void (*SetColumnJustifyContent)(NodeHandle node, int32_t flexAlign);
931     void (*ResetColumnJustifyContent)(NodeHandle node);
932     void (*SetColumnAlignItems)(NodeHandle node, int32_t value);
933     void (*ResetColumnAlignItems)(NodeHandle node);
934 };
935 
936 struct ArkUIRichEditorModifierAPI {
937     void (*SetRichEditorCopyOptions)(NodeHandle node, int8_t copyOptionsValue);
938     void (*ResetRichEditorCopyOptions)(NodeHandle node);
939 };
940 
941 struct ArkUIImageModifierAPI {
942     void (*SetCopyOption)(NodeHandle node, int32_t copyOption);
943     void (*ResetCopyOption)(NodeHandle node);
944     void (*SetAutoResize)(NodeHandle node, bool autoResize);
945     void (*ResetAutoResize)(NodeHandle node);
946     void (*SetObjectRepeat)(NodeHandle node, int32_t imageRepeat);
947     void (*ResetObjectRepeat)(NodeHandle node);
948     void (*SetRenderMode)(NodeHandle node, int32_t imageRenderMode);
949     void (*ResetRenderMode)(NodeHandle node);
950     void (*SetSyncLoad)(NodeHandle node, bool syncLoadValue);
951     void (*ResetSyncLoad)(NodeHandle node);
952     void (*SetObjectFit)(NodeHandle node, int32_t objectFitNumber);
953     void (*ResetObjectFit)(NodeHandle node);
954     void (*SetFitOriginalSize)(NodeHandle node, bool fitOriginalSizeValue);
955     void (*ResetFitOriginalSize)(NodeHandle node);
956     void (*SetSourceSize)(NodeHandle node, double width, double height);
957     void (*ResetSourceSize)(NodeHandle node);
958     void (*SetMatchTextDirection)(NodeHandle node, uint32_t value);
959     void (*ResetMatchTextDirection)(NodeHandle node);
960     void (*SetFillColor)(NodeHandle node, uint32_t value);
961     void (*ResetFillColor)(NodeHandle node);
962     void (*SetAlt)(NodeHandle node, const char *src, const char *bundleName, const char *moduleName);
963     void (*ResetAlt)(NodeHandle node);
964     void (*SetImageInterpolation)(NodeHandle node, int32_t value);
965     void (*ResetImageInterpolation)(NodeHandle node);
966     void (*SetColorFilter)(NodeHandle node, const float *array, int length);
967     void (*ResetColorFilter)(NodeHandle node);
968     void (*SetImageSyncLoad)(NodeHandle node, bool syncLoadValue);
969     void (*ResetImageSyncLoad)(NodeHandle node);
970     void (*SetImageObjectFit)(NodeHandle node, int32_t objectFitNumber);
971     void (*ResetImageObjectFit)(NodeHandle node);
972     void (*SetImageFitOriginalSize)(NodeHandle node, bool fitOriginalSizeValue);
973     void (*ResetImageFitOriginalSize)(NodeHandle node);
974     void (*SetImageDraggable)(NodeHandle node, bool value);
975     void (*ResetImageDraggable)(NodeHandle node);
976     void (*SetImageBorderRadius)(NodeHandle node, const double* values, const int* units, int32_t length);
977     void (*ResetImageBorderRadius)(NodeHandle node);
978     void (*SetImageBorder)(NodeHandle node);
979     void (*ResetImageBorder)(NodeHandle node);
980     void (*SetImageOpacity)(NodeHandle node, double opacity);
981     void (*ResetImageOpacity)(NodeHandle node);
982     void (*SetEdgeAntialiasing)(NodeHandle node, float edgeAntialiasing);
983     void (*ResetEdgeAntialiasing)(NodeHandle node);
984 };
985 
986 struct ArkUIVideoModifierAPI {
987     void (*SetAutoPlay)(NodeHandle node, uint32_t autoPlay);
988     void (*ResetAutoPlay)(NodeHandle node);
989     void (*SetVideoObjectFit)(NodeHandle node, int32_t objectFit);
990     void (*ResetVideoObjectFit)(NodeHandle node);
991     void (*SetVideoControls)(NodeHandle node, uint32_t controlsValue);
992     void (*ResetVideoControls)(NodeHandle node);
993     void (*SetVideoLoop)(NodeHandle node, uint32_t value);
994     void (*ResetVideoLoop)(NodeHandle node);
995     void (*SetVideoMuted)(NodeHandle node, uint32_t value);
996     void (*ResetVideoMuted)(NodeHandle node);
997     void (*SetVideoOpacity)(NodeHandle node, double opacity);
998     void (*ResetVideoOpacity)(NodeHandle node);
999 };
1000 
1001 struct ArkUIPatternLockModifierAPI {
1002     void (*SetPatternLockActiveColor)(NodeHandle node, uint32_t value);
1003     void (*ResetPatternLockActiveColor)(NodeHandle node);
1004     void (*SetPatternLockCircleRadius)(NodeHandle node, double number, int8_t unit);
1005     void (*ResetPatternLockCircleRadius)(NodeHandle node);
1006     void (*SetPatternLockSelectedColor)(NodeHandle node, uint32_t value);
1007     void (*ResetPatternLockSelectedColor)(NodeHandle node);
1008     void (*SetPatternLockSideLength)(NodeHandle node, double number, int8_t unit);
1009     void (*ResetPatternLockSideLength)(NodeHandle node);
1010     void (*SetPatternLockAutoReset)(NodeHandle node, uint32_t value);
1011     void (*ResetPatternLockAutoReset)(NodeHandle node);
1012     void (*SetPatternLockPathStrokeWidth)(NodeHandle node, double number, int8_t unit);
1013     void (*ResetPatternLockPathStrokeWidth)(NodeHandle node);
1014     void (*SetPatternLockRegularColor)(NodeHandle node, uint32_t color);
1015     void (*ResetPatternLockRegularColor)(NodeHandle node);
1016     void (*SetPatternLockPathColor)(NodeHandle node, uint32_t color);
1017     void (*ResetPatternLockPathColor)(NodeHandle node);
1018 };
1019 
1020 struct ArkUIColumnSplitModifierAPI {
1021     void (*SetColumnSplitDivider)(NodeHandle node, double stVal, int32_t stUnit, double endVal, int32_t endUnit);
1022     void (*ResetColumnSplitDivider)(NodeHandle node);
1023     void (*SetColumnSplitResizeable)(NodeHandle node, bool resizeable);
1024     void (*ResetColumnSplitResizeable)(NodeHandle node);
1025 };
1026 
1027 struct ArkUILineModifierAPI {
1028     void (*SetStartPoint)(NodeHandle node, double* pointValues, int32_t* pointUnits, const char* pointStr[]);
1029     void (*ResetStartPoint)(NodeHandle node);
1030     void (*SetEndPoint)(NodeHandle node, double* pointValues, int32_t* pointUnits, const char* pointStr[]);
1031     void (*ResetEndPoint)(NodeHandle node);
1032 };
1033 
1034 struct ArkUIPathModifierAPI {
1035     void (*SetPathCommands)(NodeHandle node, const char* commands);
1036     void (*ResetPathCommands)(NodeHandle node);
1037 };
1038 
1039 struct ArkUIPolygonModifierAPI {
1040     void (*SetPolygonPoints)(NodeHandle node, const double* pointX, const double* pointY, int32_t length);
1041     void (*ResetPolygonPoints)(NodeHandle node);
1042 };
1043 
1044 struct ArkUIPolylineModifierAPI {
1045     void (*SetPoints)(NodeHandle node, const double* pointX, const double* pointY, int32_t length);
1046     void (*ResetPoints)(NodeHandle node);
1047 };
1048 
1049 struct ArkUISpanModifierAPI {
1050     void (*SetSpanTextCase)(NodeHandle node, int32_t value);
1051     void (*ResetSpanTextCase)(NodeHandle node);
1052     void (*SetSpanFontWeight)(NodeHandle node, const char* value);
1053     void (*ResetSpanFontWeight)(NodeHandle node);
1054     void (*SetSpanLineHeight)(NodeHandle node, const double number, const int8_t unit);
1055     void (*ReSetSpanLineHeight)(NodeHandle node);
1056     void (*SetSpanFontStyle)(NodeHandle node, int32_t fontStyle);
1057     void (*ReSetSpanFontStyle)(NodeHandle node);
1058     void (*SetSpanFontSize)(NodeHandle node, const double number, const int8_t unit);
1059     void (*ResetSpanFontSize)(NodeHandle node);
1060     void (*SetSpanFontFamily)(NodeHandle node, const char **fontFamilies, uint32_t length);
1061     void (*ResetSpanFontFamily)(NodeHandle node);
1062     void (*SetSpanDecoration)(NodeHandle node, const int32_t decoration, const uint32_t color, const uint32_t style);
1063     void (*ResetSpanDecoration)(NodeHandle node);
1064     void (*SetSpanFontColor)(NodeHandle node, uint32_t textColor);
1065     void (*ResetSpanFontColor)(NodeHandle node);
1066     void (*SetSpanLetterSpacing)(NodeHandle node, const struct ArkUIStringAndFloat *letterSpacingValue);
1067     void (*ResetSpanLetterSpacing)(NodeHandle node);
1068     void (*SetSpanFont)(NodeHandle node, const struct ArkUIFontStruct *fontInfo);
1069     void (*ResetSpanFont)(NodeHandle node);
1070 };
1071 
1072 struct ArkUIImageAnimatorModifierAPI {
1073     void (*SetState)(NodeHandle node, int32_t state);
1074     void (*ResetState)(NodeHandle node);
1075     void (*SetDuration)(NodeHandle node, int32_t duration);
1076     void (*SetFixedSize)(NodeHandle node, uint32_t fixedSize);
1077     void (*ResetFixedSize)(NodeHandle node);
1078     void (*SetFillMode)(NodeHandle node, int32_t fillMode);
1079     void (*ResetFillMode)(NodeHandle node);
1080     void (*SetReverse)(NodeHandle node, uint32_t value);
1081     void (*ResetReverse)(NodeHandle node);
1082     void (*SetImages)(NodeHandle node, struct ArkUIImagePropertiesStruct* images, int32_t length);
1083     void (*ResetImages)(NodeHandle node);
1084     void (*SetImageAnimatorIteration)(NodeHandle node, int32_t value);
1085     void (*ResetImageAnimatorIteration)(NodeHandle node);
1086 };
1087 
1088 struct ArkUISideBarContainerModifierAPI {
1089     void (*SetSideBarWidth)(NodeHandle node, double value, int32_t unit);
1090     void (*ResetSideBarWidth)(NodeHandle node);
1091     void (*SetMinSideBarWidth)(NodeHandle node, double value, int32_t unit);
1092     void (*ResetMinSideBarWidth)(NodeHandle node);
1093     void (*SetControlButton)(
1094         NodeHandle node, double* values, int32_t valueLength, const struct ArkUIIconsStruct* sideBarWidth);
1095     void (*ResetControlButton)(NodeHandle node);
1096     void (*SetShowControlButton)(NodeHandle node, bool isShow);
1097     void (*ResetShowControlButton)(NodeHandle node);
1098     void (*SetAutoHide)(NodeHandle node, uint32_t value);
1099     void (*ResetAutoHide)(NodeHandle node);
1100     void (*SetSideBarContainerMaxSideBarWidth)(NodeHandle node, double value, int32_t unit);
1101     void (*ResetSideBarContainerMaxSideBarWidth)(NodeHandle node);
1102     void (*SetSideBarContainerMinContentWidth)(NodeHandle node, double value, int32_t unit);
1103     void (*ResetSideBarContainerMinContentWidth)(NodeHandle node);
1104     void (*SetSideBarPosition)(NodeHandle node, int32_t sideBarPosition);
1105     void (*ResetSideBarPosition)(NodeHandle node);
1106     void (*SetShowSideBar)(NodeHandle node, bool isShow);
1107     void (*ResetShowSideBar)(NodeHandle node);
1108     void (*SetSideBarContainerDivider)(NodeHandle node, double* values, int32_t* units, int32_t length, uint32_t color);
1109     void (*ResetSideBarContainerDivider)(NodeHandle node);
1110 };
1111 
1112 struct ArkUICalendarPickerModifierAPI {
1113     void (*SetTextStyle)(NodeHandle node, uint32_t color, const char* fontSize, const char* fontweight);
1114     void (*ResetTextStyle)(NodeHandle node);
1115     void (*SetEdgeAlign)(NodeHandle node, const double* values, const int* units, int32_t size, int32_t alignType);
1116     void (*ResetEdgeAlign)(NodeHandle node);
1117     void (*SetCalendarPickerPadding)(NodeHandle node, const struct ArkUISizeType* top,
1118         const struct ArkUISizeType* right, const struct ArkUISizeType* bottom, const struct ArkUISizeType* left);
1119     void (*ResetCalendarPickerPadding)(NodeHandle node);
1120     void (*SetCalendarPickerBorder)(NodeHandle node, const uint32_t color);
1121     void (*ResetCalendarPickerBorder)(NodeHandle node);
1122 };
1123 
1124 struct ArkUITextInputModifierAPI {
1125     void (*SetTextInputCaretColor)(NodeHandle node, uint32_t color);
1126     void (*ResetTextInputCaretColor)(NodeHandle node);
1127     void (*SetTextInputType)(NodeHandle node, int32_t value);
1128     void (*ResetTextInputType)(NodeHandle node);
1129     void (*SetTextInputMaxLines)(NodeHandle node, int32_t value);
1130     void (*ResetTextInputMaxLines)(NodeHandle node);
1131     void (*SetTextInputPlaceholderColor)(NodeHandle node, uint32_t color);
1132     void (*ResetTextInputPlaceholderColor)(NodeHandle node);
1133     void (*SetTextInputCaretPosition)(NodeHandle node, int32_t caretPosition);
1134     void (*ResetTextInputCaretPosition)(NodeHandle node);
1135     void (*SetTextInputCopyOption)(NodeHandle node, int32_t copyOption);
1136     void (*ResetTextInputCopyOption)(NodeHandle node);
1137     void (*SetTextInputShowPasswordIcon)(NodeHandle node, uint32_t showPasswordIcon);
1138     void (*ResetTextInputShowPasswordIcon)(NodeHandle node);
1139     void (*SetTextInputPasswordIcon)(NodeHandle node, const struct ArkUIPasswordIconType* passwordIcon);
1140     void (*ResetTextInputPasswordIcon)(NodeHandle node);
1141     void (*SetTextInputTextAlign)(NodeHandle node, int32_t textAlign);
1142     void (*ResetTextInputTextAlign)(NodeHandle node);
1143     void (*SetTextInputStyle)(NodeHandle node, int32_t style);
1144     void (*ResetTextInputStyle)(NodeHandle node);
1145     void (*SetTextInputSelectionMenuHidden)(NodeHandle node, uint32_t menuHiddenValue);
1146     void (*ResetTextInputSelectionMenuHidden)(NodeHandle node);
1147     void (*SetTextInputShowUnderline)(NodeHandle node, uint32_t showUnderLine);
1148     void (*ResetTextInputShowUnderline)(NodeHandle node);
1149     void (*SetTextInputCaretStyle)(NodeHandle node, const ArkUILengthType* value);
1150     void (*ResetTextInputCaretStyle)(NodeHandle node);
1151     void (*SetTextInputEnableKeyboardOnFocus)(NodeHandle node, uint32_t value);
1152     void (*ResetTextInputEnableKeyboardOnFocus)(NodeHandle node);
1153     void (*SetTextInputBarState)(NodeHandle node, int32_t value);
1154     void (*ResetTextInputBarState)(NodeHandle node);
1155     void (*SetTextInputEnterKeyType)(NodeHandle node, int32_t value);
1156     void (*ResetTextInputEnterKeyType)(NodeHandle node);
1157     void (*SetTextInputFontWeight)(NodeHandle node, const char* fontWeight);
1158     void (*ResetTextInputFontWeight)(NodeHandle node);
1159     void (*SetTextInputFontSize)(NodeHandle node, const struct ArkUILengthType* value);
1160     void (*ResetTextInputFontSize)(NodeHandle node);
1161     void (*SetTextInputMaxLength)(NodeHandle node, uint32_t value);
1162     void (*ResetTextInputMaxLength)(NodeHandle node);
1163     void (*SetTextInputSelectedBackgroundColor)(NodeHandle node, uint32_t color);
1164     void (*ResetTextInputSelectedBackgroundColor)(NodeHandle node);
1165     void (*SetTextInputShowError)(NodeHandle node, const char* error, uint32_t visible);
1166     void (*ResetTextInputShowError)(NodeHandle node);
1167     void (*SetTextInputPlaceholderFont)(NodeHandle node, const struct ArkUIPlaceholderFontType* placeholderFont);
1168     void (*ResetTextInputPlaceholderFont)(NodeHandle node);
1169     void (*SetTextInputFontColor)(NodeHandle node, uint32_t color);
1170     void (*ResetTextInputFontColor)(NodeHandle node);
1171     void (*SetTextInputFontStyle)(NodeHandle node, uint32_t value);
1172     void (*ResetTextInputFontStyle)(NodeHandle node);
1173     void (*SetTextInputFontFamily)(NodeHandle node, const char** fontFamilies, uint32_t length);
1174     void (*ResetTextInputFontFamily)(NodeHandle node);
1175 };
1176 
1177 struct ArkUITabsModifierAPI {
1178     void (*SetTabBarMode)(NodeHandle node, int32_t tabsBarMode);
1179     void (*SetScrollableBarModeOptions)(NodeHandle node, const double value, const int unit, const int layoutStyle);
1180     void (*SetBarGridAlign)(
1181         NodeHandle node, const double* values, int32_t valuesLength, const int* units, int32_t unitsLength);
1182     void (*SetDivider)(NodeHandle node, uint32_t color, const double* values, const int32_t* units, int32_t length);
1183     void (*SetFadingEdge)(NodeHandle node, bool fadingEdge);
1184     void (*SetBarBackgroundColor)(NodeHandle node, uint32_t color);
1185     void (*SetBarOverlap)(NodeHandle node, bool overlap);
1186     void (*SetIsVertical)(NodeHandle node, bool isVertical);
1187     void (*SetTabBarPosition)(NodeHandle node, int32_t barVal);
1188     void (*SetScrollable)(NodeHandle node, bool scrollable);
1189     void (*SetTabBarWidth)(NodeHandle node, double value, int unit);
1190     void (*SetTabBarHeight)(NodeHandle node, double value, int unit);
1191     void (*SetBarAdaptiveHeight)(NodeHandle node, bool value);
1192     void (*SetAnimationDuration)(NodeHandle node, float duration);
1193     void (*ResetTabBarMode)(NodeHandle node);
1194     void (*ResetScrollableBarModeOptions)(NodeHandle node);
1195     void (*ResetBarGridAlign)(NodeHandle node);
1196     void (*ResetDivider)(NodeHandle node);
1197     void (*ResetFadingEdge)(NodeHandle node);
1198     void (*ResetBarBackgroundColor)(NodeHandle node);
1199     void (*ResetBarOverlap)(NodeHandle node);
1200     void (*ResetIsVertical)(NodeHandle node);
1201     void (*ResetTabBarPosition)(NodeHandle node);
1202     void (*ResetScrollable)(NodeHandle node);
1203     void (*ResetTabBarWidth)(NodeHandle node);
1204     void (*ResetTabBarHeight)(NodeHandle node);
1205     void (*ResetBarAdaptiveHeight)(NodeHandle node);
1206     void (*ResetAnimationDuration)(NodeHandle node);
1207     void (*SetTabClip)(NodeHandle node, bool clipEdge);
1208     void (*ResetTabClip)(NodeHandle node);
1209 };
1210 
1211 struct ArkUIStepperItemModifierAPI {
1212     void (*SetNextLabel)(NodeHandle node, const char* rightLabel);
1213     void (*ResetNextLabel)(NodeHandle node);
1214 };
1215 
1216 struct ArkUIHyperlinkModifierAPI {
1217     void (*SetHyperlinkColor)(NodeHandle node, uint32_t color);
1218     void (*ResetHyperlinkColor)(NodeHandle node);
1219     void (*SetHyperlinkDraggable)(NodeHandle node, bool draggable);
1220     void (*ResetHyperlinkDraggable)(NodeHandle node);
1221 };
1222 
1223 struct ArkUIMenuItemModifierAPI {
1224     void (*SetMenuItemSelected)(NodeHandle node, bool value);
1225     void (*ResetMenuItemSelected)(NodeHandle node);
1226     void (*SetLabelFontColor)(NodeHandle node, const uint32_t colorVal);
1227     void (*ResetLabelFontColor)(NodeHandle node);
1228     void (*SetContentFontColor)(NodeHandle node, const uint32_t colorVal);
1229     void (*ResetContentFontColor)(NodeHandle node);
1230     void (*SetLabelFont)(NodeHandle node, const char* fontInfo, int32_t styleVal);
1231     void (*ResetLabelFont)(NodeHandle node);
1232     void (*SetContentFont)(NodeHandle node, const char* fontInfo, int32_t styleVal);
1233     void (*ResetContentFont)(NodeHandle node);
1234     void (*SetSelectIcon)(NodeHandle node, bool showIcon);
1235     void (*ResetSelectIcon)(NodeHandle node);
1236     void (*SetSelectIconSrc)(NodeHandle node, const char* iconSrc);
1237     void (*ResetSelectIconSrc)(NodeHandle node);
1238 };
1239 
1240 struct ArkUIMenuModifierAPI {
1241     void (*SetMenuFontColor)(NodeHandle node, uint32_t colorVal);
1242     void (*ResetMenuFontColor)(NodeHandle node);
1243     void (*SetFont)(NodeHandle node, const char* fontInfo, int32_t styleVal);
1244     void (*ResetFont)(NodeHandle node);
1245     void (*SetRadius)(NodeHandle node, const double* values, const int32_t* units);
1246     void (*ResetRadius)(NodeHandle node);
1247     void (*SetMenuWidth)(NodeHandle node, double value, int32_t unit);
1248     void (*ResetMenuWidth)(NodeHandle node);
1249 };
1250 
1251 struct ArkUIWaterFlowModifierAPI {
1252     void (*ResetColumnsTemplate)(NodeHandle node);
1253     void (*SetColumnsTemplate)(NodeHandle node, const char* value);
1254     void (*ResetRowsTemplate)(NodeHandle node);
1255     void (*SetRowsTemplate)(NodeHandle node, const char* value);
1256     void (*ResetWaterFlowEnableScrollInteraction)(NodeHandle node);
1257     void (*SetWaterFlowEnableScrollInteraction)(NodeHandle node, bool value);
1258     void (*SetColumnsGap)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1259     void (*ResetColumnsGap)(NodeHandle node);
1260     void (*SetRowsGap)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1261     void (*ResetRowsGap)(NodeHandle node);
1262     void (*SetItemMinWidth)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1263     void (*ResetItemMinWidth)(NodeHandle node);
1264     void (*SetItemMaxWidth)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1265     void (*ResetItemMaxWidth)(NodeHandle node);
1266     void (*SetItemMinHeight)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1267     void (*ResetItemMinHeight)(NodeHandle node);
1268     void (*SetItemMaxHeight)(NodeHandle node, double value, int32_t unit, const char* calcValue);
1269     void (*ResetItemMaxHeight)(NodeHandle node);
1270     void (*SetLayoutDirection)(NodeHandle node, int32_t value);
1271     void (*ResetLayoutDirection)(NodeHandle node);
1272     void (*SetWaterFlowNestedScroll)(NodeHandle node, int32_t scrollForward, int32_t scrollBackward);
1273     void (*ResetWaterFlowNestedScroll)(NodeHandle node);
1274     void (*SetWaterFlowFriction)(NodeHandle node, double friction);
1275     void (*ResetWaterFlowFriction)(NodeHandle node);
1276 };
1277 
1278 struct ArkUIMarqueeModifierAPI {
1279     void (*SetMarqueeFontSize)(NodeHandle node, double value, int unit);
1280     void (*ResetMarqueeFontSize)(NodeHandle node);
1281     void (*SetMarqueeFontColor)(NodeHandle node, uint32_t color);
1282     void (*ResetMarqueeFontColor)(NodeHandle node);
1283     void (*SetMarqueeAllowScale)(NodeHandle node, bool allowScale);
1284     void (*ResetMarqueeAllowScale)(NodeHandle node);
1285     void (*SetMarqueeFontWeight)(NodeHandle node, const char *fontWeight);
1286     void (*ResetMarqueeFontWeight)(NodeHandle node);
1287     void (*SetMarqueeFontFamily)(NodeHandle node, const char *fontFamily);
1288     void (*ResetMarqueeFontFamily)(NodeHandle node);
1289 };
1290 
1291 struct ArkUIDatePickerModifierAPI {
1292     void (*SetSelectedTextStyle)(
1293         NodeHandle node, const char* fontInfo, uint32_t color, int32_t style);
1294     void (*ResetSelectedTextStyle)(NodeHandle node);
1295     void (*SetDatePickerTextStyle)(
1296         NodeHandle node, const char* fontInfo, uint32_t color, int32_t style);
1297     void (*ResetDatePickerTextStyle)(NodeHandle node);
1298     void (*SetDisappearTextStyle)(
1299         NodeHandle node, const char* fontInfo, uint32_t color, int32_t style);
1300     void (*ResetDisappearTextStyle)(NodeHandle node);
1301     void (*SetLunar)(NodeHandle node, bool isLunar);
1302     void (*ResetLunar)(NodeHandle node);
1303     void (*SetDatePickerBackgroundColor)(NodeHandle node, uint32_t color);
1304     void (*ResetDatePickerBackgroundColor)(NodeHandle node);
1305 };
1306 
1307 struct ArkUIAlphabetIndexerModifierAPI {
1308     void (*SetPopupItemFont)(NodeHandle node, double size, int unit, const char* weight);
1309     void (*ResetPopupItemFont)(NodeHandle node);
1310     void (*SetSelectedFont)(NodeHandle node, const char* fontInfo, int32_t style);
1311     void (*ResetSelectedFont)(NodeHandle node);
1312     void (*SetPopupFont)(NodeHandle node, const char* fontInfo, int32_t style);
1313     void (*ResetPopupFont)(NodeHandle node);
1314     void (*SetAlphabetIndexerFont)(NodeHandle node, const char* fontInfo, int32_t style);
1315     void (*ResetAlphabetIndexerFont)(NodeHandle node);
1316     void (*SetPopupItemBackgroundColor)(NodeHandle node, uint32_t color);
1317     void (*ResetPopupItemBackgroundColor)(NodeHandle node);
1318     void (*SetAlphabetIndexerColor)(NodeHandle node, uint32_t color);
1319     void (*ResetAlphabetIndexerColor)(NodeHandle node);
1320     void (*SetPopupColor)(NodeHandle node, uint32_t color);
1321     void (*ResetPopupColor)(NodeHandle node);
1322     void (*SetAlphabetIndexerSelectedColor)(NodeHandle node, uint32_t color);
1323     void (*ResetAlphabetIndexerSelectedColor)(NodeHandle node);
1324     void (*SetPopupBackground)(NodeHandle node, uint32_t color);
1325     void (*ResetPopupBackground)(NodeHandle node);
1326     void (*SetSelectedBackgroundColor)(NodeHandle node, uint32_t color);
1327     void (*ResetSelectedBackgroundColor)(NodeHandle node);
1328     void (*SetPopupUnselectedColor)(NodeHandle node, uint32_t color);
1329     void (*ResetPopupUnselectedColor)(NodeHandle node);
1330     void (*SetAlignStyle)(NodeHandle node, int32_t value);
1331     void (*ResetAlignStyle)(NodeHandle node);
1332     void (*SetUsingPopup)(NodeHandle node, bool value);
1333     void (*ResetUsingPopup)(NodeHandle node);
1334     void (*SetAlphabetIndexerSelected)(NodeHandle node, int32_t value);
1335     void (*ResetAlphabetIndexerSelected)(NodeHandle node);
1336     void (*SetPopupHorizontalSpace)(NodeHandle node, double value, int unit);
1337     void (*ResetPopupHorizontalSpace)(NodeHandle node);
1338     void (*SetPopupSelectedColor)(NodeHandle node, uint32_t color);
1339     void (*ResetPopupSelectedColor)(NodeHandle node);
1340     void (*SetItemSize)(NodeHandle node, double value, int unit);
1341     void (*ResetItemSize)(NodeHandle node);
1342     void (*SetPopupPosition)(NodeHandle node, double xValue, int xUnit, double yValue, int yUnit);
1343     void (*ResetPopupPosition)(NodeHandle node);
1344 };
1345 
1346 struct ArkUISwiperModifierAPI {
1347     void (*SetSwiperNextMargin)(NodeHandle node, double nextMarginValue, int32_t nextMarginUnit);
1348     void (*ResetSwiperNextMargin)(NodeHandle node);
1349     void (*SetSwiperPrevMargin)(NodeHandle node, double prevMarginValue, int32_t prevMarginUnit);
1350     void (*ResetSwiperPrevMargin)(NodeHandle node);
1351     void (*SetSwiperDisplayCount)(NodeHandle node, const char* displayCountChar, const char* displayCountType);
1352     void (*ResetSwiperDisplayCount)(NodeHandle node);
1353     void (*SetSwiperDisplayArrow)(NodeHandle node, const char* displayArrowStr);
1354     void (*ResetSwiperDisplayArrow)(NodeHandle node);
1355     void (*SetSwiperCurve)(NodeHandle node, const char* curveChar);
1356     void (*ResetSwiperCurve)(NodeHandle node);
1357     void (*SetSwiperDisableSwipe)(NodeHandle node, bool disableSwipe);
1358     void (*ResetSwiperDisableSwipe)(NodeHandle node);
1359     void (*SetSwiperEffectMode)(NodeHandle node, int32_t edgeEffect);
1360     void (*ResetSwiperEffectMode)(NodeHandle node);
1361     void (*SetSwiperCachedCount)(NodeHandle node, int32_t cachedCount);
1362     void (*ResetSwiperCachedCount)(NodeHandle node);
1363     void (*SetSwiperDisplayMode)(NodeHandle node, int32_t displayMode);
1364     void (*ResetSwiperDisplayMode)(NodeHandle node);
1365     void (*SetSwiperItemSpace)(NodeHandle node, double itemSpaceValue, int32_t itemSpaceUnit);
1366     void (*ResetSwiperItemSpace)(NodeHandle node);
1367     void (*SetSwiperVertical)(NodeHandle node, bool isVertical);
1368     void (*ResetSwiperVertical)(NodeHandle node);
1369     void (*SetSwiperLoop)(NodeHandle node, bool loop);
1370     void (*ResetSwiperLoop)(NodeHandle node);
1371     void (*SetSwiperInterval)(NodeHandle node, int32_t interval);
1372     void (*ResetSwiperInterval)(NodeHandle node);
1373     void (*SetSwiperAutoPlay)(NodeHandle node, bool autoPlay);
1374     void (*ResetSwiperAutoPlay)(NodeHandle node);
1375     void (*SetSwiperIndex)(NodeHandle node, int32_t index);
1376     void (*ResetSwiperIndex)(NodeHandle node);
1377     void (*SetSwiperIndicator)(NodeHandle node, const char* indicatorStr);
1378     void (*ResetSwiperIndicator)(NodeHandle node);
1379     void (*SetSwiperDuration)(NodeHandle node, int32_t duration);
1380     void (*ResetSwiperDuration)(NodeHandle node);
1381     void (*SetSwiperEnabled)(NodeHandle node, bool enabled);
1382     void (*ResetSwiperEnabled)(NodeHandle node);
1383 };
1384 
1385 struct ArkUIDataPanelModifierAPI {
1386     void (*SetCloseEffect)(NodeHandle node, bool value);
1387     void (*ResetCloseEffect)(NodeHandle node);
1388     void (*SetDataPanelTrackBackgroundColor)(NodeHandle node, uint32_t value);
1389     void (*ResetDataPanelTrackBackgroundColor)(NodeHandle node);
1390     void (*SetDataPanelStrokeWidth)(NodeHandle node, double value, int32_t unit);
1391     void (*ResetDataPanelStrokeWidth)(NodeHandle node);
1392     void (*SetValueColors)(NodeHandle node, const struct ArkUIGradientType* gradient);
1393     void (*ResetValueColors)(NodeHandle node);
1394     void (*SetTrackShadow)(
1395         NodeHandle node, const struct ArkUIGradientType* gradient, double radius, double offsetX, double offsetY);
1396     void (*SetNullTrackShadow)(NodeHandle node);
1397     void (*ResetTrackShadow)(NodeHandle node);
1398 };
1399 
1400 struct ArkUIGaugeModifierAPI {
1401     void (*SetGaugeVaule)(NodeHandle node, float vaule);
1402     void (*ResetGaugeVaule)(NodeHandle node);
1403     void (*SetGaugeStartAngle)(NodeHandle node, float vaule);
1404     void (*ResetGaugeStartAngle)(NodeHandle node);
1405     void (*SetGaugeEndAngle)(NodeHandle node, float vaule);
1406     void (*ResetGaugeEndAngle)(NodeHandle node);
1407     void (*SetGaugeStrokeWidth)(NodeHandle node, double value, int32_t unit);
1408     void (*ResetGaugeStrokeWidth)(NodeHandle node);
1409     void (*SetShadowOptions)(NodeHandle node, double radius, double offsetX, double offsetY, bool isShadowVisible);
1410     void (*ResetShadowOptions)(NodeHandle node);
1411     void (*SetIsShowIndicator)(NodeHandle node, bool isShowIndicator);
1412     void (*SetIndicatorIconPath)(NodeHandle node, const char* iconPath,
1413         const char* bundleName, const char* moduleName);
1414     void (*ResetIndicatorIconPath)(NodeHandle node);
1415     void (*SetIndicatorSpace)(NodeHandle node, const char* spaceStrValue, double spaceValue, int32_t spaceUnit);
1416     void (*ResetIndicatorSpace)(NodeHandle node);
1417     void (*SetColors)(NodeHandle node, const uint32_t* colors, const float* weight, uint32_t length);
1418     void (*ResetColors)(NodeHandle node);
1419     void (*SetGradientColors)(NodeHandle node, const struct ArkUIGradientType* gradient, uint32_t weightLength);
1420     void (*ResetGradientColors)(NodeHandle node);
1421 };
1422 
1423 struct ArkUIScrollModifierAPI {
1424     void (*SetScrollNestedScroll)(NodeHandle node, int32_t scrollForward, int32_t scrollBackward);
1425     void (*ResetScrollNestedScroll)(NodeHandle node);
1426     void (*SetScrollEnableScroll)(NodeHandle node, bool value);
1427     void (*ResetScrollEnableScroll)(NodeHandle node);
1428     void (*SetScrollFriction)(NodeHandle node, double value);
1429     void (*ResetScrollFriction)(NodeHandle node);
1430     void (*SetScrollScrollSnap)(NodeHandle node, const double* paginationValue, int32_t paginationSize,
1431         const int32_t* paginationParam, int32_t paramSize);
1432     void (*ResetScrollScrollSnap)(NodeHandle node);
1433     void (*SetScrollScrollBar)(NodeHandle node, int32_t value);
1434     void (*ResetScrollScrollBar)(NodeHandle node);
1435     void (*SetScrollScrollable)(NodeHandle node, int32_t scrollDirection);
1436     void (*ResetScrollScrollable)(NodeHandle node);
1437     void (*SetScrollScrollBarColor)(NodeHandle node, uint32_t scrollBarColor);
1438     void (*ResetScrollScrollBarColor)(NodeHandle node);
1439     void (*SetScrollScrollBarWidth)(NodeHandle node, double value, int32_t unit);
1440     void (*ResetScrollScrollBarWidth)(NodeHandle node);
1441     void (*SetScrollEdgeEffect)(NodeHandle node, int32_t edgeEffect, bool alwaysEnabled);
1442     void (*ResetScrollEdgeEffect)(NodeHandle node);
1443     void (*SetEnablePaging)(NodeHandle node, bool enablePaging);
1444     void (*ResetEnablePaging)(NodeHandle node);
1445 };
1446 
1447 struct ArkUIListItemModifierAPI {
1448     void (*SetListItemSelected)(NodeHandle node, bool selected);
1449     void (*ResetListItemSelected)(NodeHandle node);
1450     void (*SetSelectable)(NodeHandle node, bool selectable);
1451     void (*ResetSelectable)(NodeHandle node);
1452 };
1453 
1454 struct ArkUIProgressModifierAPI {
1455     void (*SetProgressValue)(NodeHandle node, double value);
1456     void (*ResetProgressValue)(NodeHandle node);
1457     void (*SetProgressGradientColor)(NodeHandle node, const struct ArkUIGradientType* gradient, int32_t length);
1458     void (*SetProgressColor)(NodeHandle node, uint32_t color);
1459     void (*ResetProgressColor)(NodeHandle node);
1460     void (*SetProgressStyle)(NodeHandle node, ArkUIProgressStyle *value);
1461     void (*ResetProgressStyle)(NodeHandle node);
1462     void (*SetProgressBackgroundColor)(NodeHandle node, uint32_t color);
1463     void (*ResetProgressBackgroundColor)(NodeHandle node);
1464 };
1465 
1466 #ifdef PLUGIN_COMPONENT_SUPPORTED
1467 struct ArkUIPluginModifierAPI {
1468     void (*SetPluginWidth)(NodeHandle node, double widthVal, int32_t widthUnit);
1469     void (*SetPluginHeight)(NodeHandle node, double heightVal, int32_t heightUnit);
1470     void (*SetPluginSize)(NodeHandle node, double widthVal, double heightVal, int32_t widthUnit, int32_t heightUnit);
1471     void (*ResetPluginWidth)(NodeHandle node);
1472     void (*ResetPluginHeight)(NodeHandle node);
1473     void (*ResetPluginSize)(NodeHandle node);
1474 };
1475 #endif
1476 
1477 struct ArkUIListModifierAPI {
1478     void (*SetListLanes)(NodeHandle node, int32_t lanesNum, const struct ArkUIDimensionType *minLength,
1479         const struct ArkUIDimensionType *maxLength, const struct ArkUIDimensionType *gutter);
1480     void (*ResetListLanes)(NodeHandle node);
1481     void (*SetEditMode)(NodeHandle node, bool editMode);
1482     void (*ResetEditMode)(NodeHandle node);
1483     void (*SetMultiSelectable)(NodeHandle node, bool selectable);
1484     void (*ResetMultiSelectable)(NodeHandle node);
1485     void (*SetChainAnimation)(NodeHandle node, bool chainAnimation);
1486     void (*ResetChainAnimation)(NodeHandle node);
1487     void (*SetCachedCount)(NodeHandle node, int32_t cachedCount);
1488     void (*ResetCachedCount)(NodeHandle node);
1489     void (*SetEnableScrollInteraction)(NodeHandle node, bool enableScrollInteraction);
1490     void (*ResetEnableScrollInteraction)(NodeHandle node);
1491     void (*SetSticky)(NodeHandle node, int32_t stickyStyle);
1492     void (*ResetSticky)(NodeHandle node);
1493     void (*SetListEdgeEffect)(NodeHandle node, int32_t edgeEffect, bool alwaysEnabled);
1494     void (*ResetListEdgeEffect)(NodeHandle node);
1495     void (*SetListDirection)(NodeHandle node, int32_t axis);
1496     void (*ResetListDirection)(NodeHandle node);
1497     void (*SetListFriction)(NodeHandle node, double friction);
1498     void (*ResetListFriction)(NodeHandle node);
1499     void (*SetListNestedScroll)(NodeHandle node, int32_t forward, int32_t backward);
1500     void (*ResetListNestedScroll)(NodeHandle node);
1501     void (*SetListScrollBar)(NodeHandle node, int32_t barState);
1502     void (*ResetListScrollBar)(NodeHandle node);
1503     void (*SetAlignListItem)(NodeHandle node, int32_t listItemAlign);
1504     void (*ResetAlignListItem)(NodeHandle node);
1505     void (*SetScrollSnapAlign)(NodeHandle node, int32_t scrollSnapAlign);
1506     void (*ResetScrollSnapAlign)(NodeHandle node);
1507     void (*SetContentStartOffset)(NodeHandle node, float startOffset);
1508     void (*ResetContentStartOffset)(NodeHandle node);
1509     void (*SetContentEndOffset)(NodeHandle node, float endOffset);
1510     void (*ResetContentEndOffset)(NodeHandle node);
1511     void (*ListSetDivider)(
1512         NodeHandle node, const uint32_t color, const double* values, const int32_t* units, int32_t length);
1513     void (*ListResetDivider)(NodeHandle node);
1514     void (*SetChainAnimationOptions)(
1515         NodeHandle node, const struct ArkUIChainAnimationOptionsType *chainAnimationOptions);
1516     void (*ResetChainAnimationOptions)(NodeHandle node);
1517 };
1518 
1519 struct ArkUIGridItemModifierAPI {
1520     void (*SetGridItemSelectable)(NodeHandle node, bool selectable);
1521     void (*ResetGridItemSelectable)(NodeHandle node);
1522     void (*SetGridItemSelected)(NodeHandle node, bool selected);
1523     void (*ResetGridItemSelected)(NodeHandle node);
1524     void (*SetGridItemRowStart)(NodeHandle node, int32_t rowStart);
1525     void (*ResetGridItemRowStart)(NodeHandle node);
1526     void (*SetGridItemRowEnd)(NodeHandle node, int32_t rowEnd);
1527     void (*ResetGridItemRowEnd)(NodeHandle node);
1528     void (*SetGridItemColumnStart)(NodeHandle node, int32_t columnStart);
1529     void (*ResetGridItemColumnStart)(NodeHandle node);
1530     void (*SetGridItemColumnEnd)(NodeHandle node, int32_t columnEnd);
1531     void (*ResetGridItemColumnEnd)(NodeHandle node);
1532 };
1533 
1534 struct ArkUIListItemGroupModifierAPI {
1535     void (*ListItemGroupSetDivider)(
1536         NodeHandle node, uint32_t color, const double* values, const int* units, int32_t length);
1537     void (*ListItemGroupResetDivider)(NodeHandle node);
1538 };
1539 
1540 struct ArkUIQRCodeModifierAPI {
1541     void (*SetQRColor)(NodeHandle node, uint32_t color);
1542     void (*ResetQRColor)(NodeHandle node);
1543     void (*SetQRBackgroundColor)(NodeHandle node, uint32_t color);
1544     void (*ResetQRBackgroundColor)(NodeHandle node);
1545     void (*SetContentOpacity)(NodeHandle node, double opacity);
1546     void (*ResetContentOpacity)(NodeHandle node);
1547 };
1548 
1549 #ifdef FORM_SUPPORTED
1550 struct ArkUIFormComponentModifierAPI {
1551     void (*SetFormVisibility)(NodeHandle node, int32_t visible);
1552     void (*AllowUpdate)(NodeHandle node, bool value);
1553     void (*SetDimension)(NodeHandle node, int32_t dimension);
1554     void (*SetModuleName)(NodeHandle node, const char* value);
1555     void (*SetFormSize)(
1556         NodeHandle node, double widthValue, int32_t widthUnit, double heightValue, int32_t heightUnit);
1557     void (*ResetFormVisibility)(NodeHandle node);
1558     void (*DisallowUpdate)(NodeHandle node);
1559     void (*ResetDimension)(NodeHandle node);
1560     void (*ResetModuleName)(NodeHandle node);
1561     void (*ResetFormSize)(NodeHandle node);
1562 };
1563 #endif
1564 
1565 struct ArkUICommonShapeModifierAPI {
1566     void (*SetStrokeDashArray)(NodeHandle node, double* dashArray, int32_t* dimUnits, int32_t size);
1567     void (*ResetStrokeDashArray)(NodeHandle node);
1568     void (*SetStrokeMiterLimit)(NodeHandle node, const double miterLimit);
1569     void (*ResetStrokeMiterLimit)(NodeHandle node);
1570     void (*SetFillOpacity)(NodeHandle node, const double fillOpacity);
1571     void (*ResetFillOpacity)(NodeHandle node);
1572     void (*SetStrokeOpacity)(NodeHandle node, const double strokeOpacity);
1573     void (*ResetStrokeOpacity)(NodeHandle node);
1574     void (*SetStrokeWidth)(NodeHandle node, double value, int unit);
1575     void (*ResetStrokeWidth)(NodeHandle node);
1576     void (*SetAntiAlias)(NodeHandle node, const bool antiAlias);
1577     void (*ResetAntiAlias)(NodeHandle node);
1578     void (*SetStroke)(NodeHandle node, const uint32_t stroke);
1579     void (*ResetStroke)(NodeHandle node);
1580     void (*SetFill)(NodeHandle node, const uint32_t fill);
1581     void (*ResetFill)(NodeHandle node);
1582     void (*SetStrokeDashOffset)(NodeHandle node, double value, int unit);
1583     void (*ResetStrokeDashOffset)(NodeHandle node);
1584     void (*SetStrokeLineCap)(NodeHandle node, const int strokeLineCap);
1585     void (*ResetStrokeLineCap)(NodeHandle node);
1586     void (*SetStrokeLineJoin)(NodeHandle node, const int lineJoinStyle);
1587     void (*ResetStrokeLineJoin)(NodeHandle node);
1588     void (*SetShapeWidth)(NodeHandle node, const double value, const int32_t unit);
1589     void (*ResetShapeWidth)(NodeHandle node);
1590     void (*SetShapeHeight)(NodeHandle node, const double value, const int32_t unit);
1591     void (*ResetShapeHeight)(NodeHandle node);
1592     void (*SetShapeForegroundColor)(NodeHandle node, bool isColor, uint32_t color);
1593     void (*ResetShapeForegroundColor)(NodeHandle node);
1594 };
1595 
1596 struct ArkUIShapeModifierAPI {
1597     void (*SetShapeViewPort)(NodeHandle node, double* dimValues, int32_t* dimUnits);
1598     void (*ResetShapeViewPort)(NodeHandle node);
1599     void (*SetShapeMesh)(NodeHandle node, const double* mesh, size_t arrayItemCount, int32_t column, int32_t row);
1600     void (*ResetShapeMesh)(NodeHandle node);
1601 };
1602 
1603 struct ArkUIRectModifierAPI {
1604     void (*SetRectRadiusWidth)(NodeHandle node, double radiusWidthValue, int32_t radiusWidthUnit);
1605     void (*ResetRectRadiusWidth)(NodeHandle node);
1606     void (*SetRectRadiusHeight)(NodeHandle node, double radiusHeightValue, int32_t radiusHeightUnit);
1607     void (*ResetRectRadiusHeight)(NodeHandle node);
1608     void (*SetRectRadiusWithArray)(NodeHandle node, double* radiusValues, int32_t* radiusUnits,
1609         uint32_t* radiusValidPairs, size_t radiusValidPairsSize);
1610     void (*SetRectRadiusWithValue)(NodeHandle node, double radiusValue, int32_t radiusUnit);
1611     void (*ResetRectRadius)(NodeHandle node);
1612 };
1613 
1614 struct ArkUITextTimerModifierAPI {
1615     void (*SetFontColor)(NodeHandle node, uint32_t color);
1616     void (*ResetFontColor)(NodeHandle node);
1617     void (*SetFontSize)(NodeHandle node, double value, int32_t unit);
1618     void (*ResetFontSize)(NodeHandle node);
1619     void (*SetFontStyle)(NodeHandle node, uint32_t fontStyle);
1620     void (*ResetFontStyle)(NodeHandle node);
1621     void (*SetFontWeight)(NodeHandle node, const char* weight);
1622     void (*ResetFontWeight)(NodeHandle node);
1623     void (*SetFontFamily)(NodeHandle node, const char *fontFamily);
1624     void (*ResetFontFamily)(NodeHandle node);
1625     void (*SetTextTimerFormat)(NodeHandle node, const char* format);
1626     void (*ResetTextTimerFormat)(NodeHandle node);
1627 };
1628 
1629 struct ArkUILoadingProgressModifierAPI {
1630     void (*SetColor)(NodeHandle node, uint32_t color);
1631     void (*ResetColor)(NodeHandle node);
1632     void (*SetEnableLoading)(NodeHandle node, bool value);
1633     void (*ResetEnableLoading)(NodeHandle node);
1634     void (*SetForegroundColor)(NodeHandle node, uint32_t color);
1635     void (*ResetForegroundColor)(NodeHandle node);
1636 };
1637 
1638 struct ArkUITextClockModifierAPI {
1639     void (*SetFormat)(NodeHandle node, const char* format);
1640     void (*ResetFormat)(NodeHandle node);
1641     void (*SetFontColor)(NodeHandle node, uint32_t color);
1642     void (*ResetFontColor)(NodeHandle node);
1643     void (*SetFontSize)(NodeHandle node, double value, int unit);
1644     void (*ResetFontSize)(NodeHandle node);
1645     void (*SetFontStyle)(NodeHandle node, uint32_t fontStyle);
1646     void (*ResetFontStyle)(NodeHandle node);
1647     void (*SetFontWeight)(NodeHandle node, const char* weight);
1648     void (*ResetFontWeight)(NodeHandle node);
1649     void (*SetFontFamily)(NodeHandle node, const char *fontFamily);
1650     void (*ResetFontFamily)(NodeHandle node);
1651 };
1652 #ifdef XCOMPONENT_SUPPORTED
1653 struct ArkUIXComponentModifierAPI {
1654     void (*SetXComponentBackgroundColor)(NodeHandle node, uint32_t color);
1655     void (*ResetXComponentBackgroundColor)(NodeHandle node);
1656     void (*SetXComponentOpacity)(NodeHandle node, double opacity);
1657     void (*ResetXComponentOpacity)(NodeHandle node);
1658 };
1659 #endif
1660 
1661 struct ArkUIRenderNodeModifierAPI {
1662     void (*AppendChild)(NodeHandle node, NodeHandle child);
1663     void (*InsertChildAfter)(NodeHandle node, NodeHandle child, NodeHandle sibling);
1664     void (*RemoveChild)(NodeHandle node, NodeHandle child);
1665     void (*ClearChildren)(NodeHandle node);
1666     void (*SetClipToFrame)(NodeHandle node, bool useClip);
1667     void (*SetRotation)(NodeHandle node, double rotationX, double rotationY, double rotationZ);
1668     void (*SetShadowColor)(NodeHandle node, uint32_t color);
1669     void (*SetShadowOffset)(NodeHandle node, double offsetX, double offsetY);
1670     void (*SetShadowAlpha)(NodeHandle node, float alpha);
1671     void (*SetShadowElevation)(NodeHandle node, float elevation);
1672     void (*SetShadowRadius)(NodeHandle node, float radius);
1673     void (*Invalidate)(NodeHandle node);
1674     void (*SetScale)(NodeHandle node, float scaleX, float scaleY);
1675     void (*SetRenderNodeBackgroundColor)(NodeHandle node, uint32_t colorValue);
1676     void (*SetPivot)(NodeHandle node, float pivotX, float pivotY);
1677     void (*SetFrame)(NodeHandle node, float positionX, float positionY, float width, float height);
1678     void (*SetSize)(NodeHandle node, float width, float height);
1679     void (*SetOpacity)(NodeHandle node, float opacity);
1680     void (*SetTranslate)(NodeHandle node, float translateX, float translateY, float translateZ);
1681     void (*SetBorderStyle)(NodeHandle node, OHOS::Ace::BorderStyle left, OHOS::Ace::BorderStyle top,
1682         OHOS::Ace::BorderStyle right, OHOS::Ace::BorderStyle bottom);
1683     void (*SetBorderWidth)(NodeHandle node, float left, float top, float right, float bottom);
1684     void (*SetBorderColor)(NodeHandle node, uint32_t left, uint32_t top, uint32_t right, uint32_t bottom);
1685     void (*SetBorderRadius)(NodeHandle node, double topLeft, double topRight, double bottomLeft, double bottomRight);
1686     void (*SetRectMask)(
1687         NodeHandle node, const OHOS::Ace::NG::RectF& rect, const OHOS::Ace::NG::ShapeMaskProperty& property);
1688     void (*SetCircleMask)(
1689         NodeHandle node, const OHOS::Ace::Circle& circle, const OHOS::Ace::NG::ShapeMaskProperty& property);
1690     void (*SetRoundRectMask)(
1691         NodeHandle node, const OHOS::Ace::NG::RoundRect& roundRect, const OHOS::Ace::NG::ShapeMaskProperty& property);
1692     void (*SetOvalMask)(
1693         NodeHandle node, const OHOS::Ace::NG::RectF& rect, const OHOS::Ace::NG::ShapeMaskProperty& property);
1694     void (*SetCommandPathMask)(
1695         NodeHandle node, const std::string& commands, const OHOS::Ace::NG::ShapeMaskProperty& property);
1696 };
1697 
1698 struct ArkUINodeAPI {
1699     NodeHandle (*GetFrameNodeById)(int nodeId);
1700     int64_t (*GetUIState)(NodeHandle node);
1701     void (*SetSupportedUIState)(NodeHandle node, uint64_t state);
1702     ArkUICommonModifierAPI (*GetCommonModifier)();
1703     ArkUICheckboxGroupModifierAPI (*GetCheckboxGroupModifier)();
1704     ArkUICounterModifierAPI (*GetCounterModifier)();
1705     ArkUIRowModifierAPI (*GetRowModifier)();
1706     ArkUIRowSplitModifierAPI (*GetRowSplitModifier)();
1707     ArkUITextModifierAPI (*GetTextModifier)();
1708     ArkUIButtonModifierAPI (*GetButtonModifier)();
1709     ArkUIToggleModifierAPI (*GetToggleModifier)();
1710     ArkUIImageSpanModifierAPI (*GetImageSpanModifier)();
1711     ArkUIBlankModifierAPI (*GetBlankModifier)();
1712     ArkUISearchModifierAPI (*GetSearchModifier)();
1713     ArkUISelectModifierAPI (*GetSelectModifier)();
1714     ArkUIRadioModifierAPI (*GetRadioModifier)();
1715     ArkUICheckboxModifierAPI (*GetCheckboxModifier)();
1716     ArkUITimepickerModifierAPI (*GetTimepickerModifier)();
1717     ArkUITextpickerModifierAPI (*GetTextpickerModifier)();
1718     ArkUIRatingModifierAPI (*GetRatingModifier)();
1719     ArkUISliderModifierAPI (*GetSliderModifier)();
1720     ArkUIDividerModifierAPI (*GetDividerModifier)();
1721     ArkUIStackModifierAPI (*GetStackModifier)();
1722     ArkUINavDestinationModifierAPI (*GetNavDestinationModifier)();
1723     ArkUIGridModifierAPI (*GetGridModifier)();
1724     ArkUIGridColModifierAPI (*GetGridColModifier)();
1725     ArkUIGridRowModifierAPI (*GetGridRowModifier)();
1726     ArkUIPanelModifierAPI (*GetPanelModifier)();
1727     ArkUITextAreaModifierAPI (*GetTextAreaModifier)();
1728     ArkUINavigationModifierAPI (*GetNavigationModifier)();
1729     ArkUIColumnModifierAPI (*GetColumnModifier)();
1730     ArkUIRichEditorModifierAPI (*GetRichEditorModifier)();
1731     ArkUIImageModifierAPI (*GetImageModifier)();
1732     ArkUIVideoModifierAPI (*GetVideoModifier)();
1733     ArkUINavigatorModifierAPI (*GetNavigatorModifier)();
1734     ArkUINavRouterModifierAPI (*GetNavRouterModifier)();
1735     ArkUINodeContainerModifierAPI (*GetNodeContainerModifier)();
1736     ArkUIPatternLockModifierAPI (*GetPatternLockModifier)();
1737     ArkUIColumnSplitModifierAPI (*GetColumnSplitModifier)();
1738     ArkUILineModifierAPI (*GetLineModifier)();
1739     ArkUIPathModifierAPI (*GetPathModifier)();
1740     ArkUIPolygonModifierAPI (*GetPolygonModifier)();
1741     ArkUIPolylineModifierAPI (*GetPolylineModifier)();
1742     ArkUISpanModifierAPI (*GetSpanModifier)();
1743     ArkUIImageAnimatorModifierAPI (*GetImageAnimatorModifier)();
1744     ArkUISideBarContainerModifierAPI (*GetSideBarContainerModifier)();
1745     ArkUICalendarPickerModifierAPI (*GetCalendarPickerModifier)();
1746     ArkUITextInputModifierAPI (*GetTextInputModifier)();
1747     ArkUITabsModifierAPI (*GetTabsModifier)();
1748     ArkUIStepperItemModifierAPI (*GetStepperItemModifier)();
1749     ArkUIHyperlinkModifierAPI (*GetHyperlinkModifier)();
1750     ArkUIMarqueeModifierAPI (*GetMarqueeModifier)();
1751     ArkUIMenuItemModifierAPI (*GetMenuItemModifier)();
1752     ArkUIMenuModifierAPI (*GetMenuModifier)();
1753     ArkUIDatePickerModifierAPI (*GetDatePickerModifier)();
1754     ArkUIWaterFlowModifierAPI (*GetWaterFlowModifier)();
1755     ArkUIAlphabetIndexerModifierAPI (*GetAlphabetIndexerModifier)();
1756     ArkUIDataPanelModifierAPI (*GetDataPanelModifier)();
1757     ArkUIGaugeModifierAPI (*GetGaugeModifier)();
1758     ArkUIScrollModifierAPI (*GetScrollModifier)();
1759     ArkUIGridItemModifierAPI (*GetGridItemModifier)();
1760     ArkUIProgressModifierAPI (*GetProgressModifier)();
1761     ArkUICommonShapeModifierAPI(*GetCommonShapeModifier)();
1762     ArkUIShapeModifierAPI(*GetShapeModifier)();
1763     ArkUIRectModifierAPI (*GetRectModifier)();
1764     ArkUISwiperModifierAPI (*GetSwiperModifier)();
1765     ArkUIListItemModifierAPI (*GetListItemModifier)();
1766     ArkUIListModifierAPI (*GetListModifier)();
1767     ArkUIListItemGroupModifierAPI(*GetListItemGroupModifier)();
1768     ArkUIQRCodeModifierAPI (*GetQRCodeModifier)();
1769     ArkUILoadingProgressModifierAPI (*GetLoadingProgressModifier)();
1770     ArkUITextClockModifierAPI (*GetTextClockModifier)();
1771     ArkUITextTimerModifierAPI (*GetTextTimerModifier)();
1772     ArkUIRenderNodeModifierAPI (*GetRenderNodeModifier)();
1773 
1774 #ifdef PLUGIN_COMPONENT_SUPPORTED
1775     ArkUIPluginModifierAPI (*GetPluginModifier)();
1776 #endif
1777 #ifdef XCOMPONENT_SUPPORTED
1778     ArkUIXComponentModifierAPI (*GetXComponentModifier)();
1779 #endif
1780 #ifdef FORM_SUPPORTED
1781     ArkUIFormComponentModifierAPI (*GetFormComponentModifier)();
1782 #endif
1783 };
1784 ArkUINodeAPI* GetArkUIInternalNodeAPI();
1785 #endif // FRAMEWORKS_INTERFACE_INNER_API_NATIVE_NODE_API_H