1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 /** 17 * @addtogroup ArkUI_NativeModule 18 * @{ 19 * 20 * @brief Provides UI capabilities of ArkUI on the native side, such as UI component creation and destruction, 21 * tree node operations, attribute setting, and event listening. 22 * 23 * @since 12 24 */ 25 26 /** 27 * @file native_type.h 28 * 29 * @brief Defines the common types for the native module. 30 * 31 * @library libace_ndk.z.so 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @kit ArkUI 34 * @since 12 35 */ 36 37 #ifndef ARKUI_NATIVE_TYPE_H 38 #define ARKUI_NATIVE_TYPE_H 39 40 #include <stdint.h> 41 42 #include "drawable_descriptor.h" 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 /** 49 * @brief Defines the ArkUI native component object. 50 * 51 * @since 12 52 */ 53 struct ArkUI_Node; 54 55 /** 56 * @brief Defines the pointer type of the ArkUI node content 57 * 58 * @since 12 59 */ 60 typedef struct ArkUI_NodeContent* ArkUI_NodeContentHandle; 61 62 /** 63 * @brief Defines the custom dialog box controller of ArkUI on the native side. 64 * 65 * @since 12 66 */ 67 struct ArkUI_NativeDialog; 68 69 /** 70 * @brief Sets the size constraints of a component during component layout. 71 * 72 * @since 12 73 */ 74 typedef struct ArkUI_LayoutConstraint ArkUI_LayoutConstraint; 75 76 /** 77 * @brief Defines the structure of the component drawing context. 78 * 79 * @since 12 80 */ 81 typedef struct ArkUI_DrawContext ArkUI_DrawContext; 82 83 /** 84 * @brief Defines the pointer to the ArkUI native component object. 85 * 86 * @since 12 87 */ 88 typedef struct ArkUI_Node* ArkUI_NodeHandle; 89 90 /** 91 * @brief Defines the pointer to the custom dialog box controller of ArkUI on the native side. 92 * 93 * @since 12 94 */ 95 typedef struct ArkUI_NativeDialog* ArkUI_NativeDialogHandle; 96 97 /** 98 * @brief Defines the water flow section configuration. 99 * 100 * @since 12 101 */ 102 typedef struct ArkUI_WaterFlowSectionOption ArkUI_WaterFlowSectionOption; 103 104 /** 105 * @brief Define the configuration information of the Item within the ListitemSwipeActionOption method. 106 * 107 * @since 12 108 */ 109 typedef struct ArkUI_ListItemSwipeActionItem ArkUI_ListItemSwipeActionItem; 110 111 /** 112 * @brief Define the configuration information for the ListitemSwipeActionOption method. 113 * 114 * @since 12 115 */ 116 typedef struct ArkUI_ListItemSwipeActionOption ArkUI_ListItemSwipeActionOption; 117 118 /** 119 * @brief Defines the ArkUI native context object. 120 * 121 * @since 12 122 */ 123 struct ArkUI_Context; 124 125 /** 126 * @brief Defines the pointer to the context instance object pointer definition of ArkUI on the native side. 127 * 128 * @since 12 129 */ 130 typedef struct ArkUI_Context* ArkUI_ContextHandle; 131 132 /** 133 * @brief Defines the navigation indicator style for the swiper. 134 * 135 * @since 12 136 */ 137 typedef struct ArkUI_SwiperIndicator ArkUI_SwiperIndicator; 138 139 /** 140 * @brief Define the data objects of styled string supported by text components. 141 * 142 * @since 14 143 */ 144 typedef struct ArkUI_StyledString_Descriptor ArkUI_StyledString_Descriptor; 145 146 /** 147 * @brief specifies the alignment rules for subcomponents set in relative containers. 148 * 149 * @since 12 150 */ 151 typedef struct ArkUI_AlignmentRuleOption ArkUI_AlignmentRuleOption; 152 153 /** 154 * @brief guideLine parameters, used to define the id, direction and position of the guideline. 155 * 156 * @since 12 157 */ 158 typedef struct ArkUI_GuidelineOption ArkUI_GuidelineOption; 159 160 /** 161 * @brief barrier parameter, used to define the id, 162 * direction and components of the barrier that it depends on when generating it. 163 * 164 * @since 12 165 */ 166 typedef struct ArkUI_BarrierOption ArkUI_BarrierOption; 167 168 /** 169 * @brief Define the ChildrenMainSize class information for a List. 170 * 171 * @since 12 172 */ 173 typedef struct ArkUI_ListChildrenMainSize ArkUI_ListChildrenMainSize; 174 175 /** 176 * @brief Defines the image frame. 177 * 178 * @since 12 179 */ 180 typedef struct ArkUI_ImageAnimatorFrameInfo ArkUI_ImageAnimatorFrameInfo; 181 182 /** 183 * @brief Defines the accessibility state for the component. 184 * 185 * @since 12 186 */ 187 typedef struct ArkUI_AccessibilityState ArkUI_AccessibilityState; 188 189 /** 190 * @brief Defines the accessibility value for the component. 191 * 192 * @since 12 193 */ 194 typedef struct ArkUI_AccessibilityValue ArkUI_AccessibilityValue; 195 196 /** 197 * @brief Define the information of the Custom Property class for custom properties. 198 * 199 * @since 14 200 */ 201 typedef struct ArkUI_CustomProperty ArkUI_CustomProperty; 202 203 /** 204 * @brief Define the information of the HostWindowInfo class for window properties. 205 * 206 * @since 15 207 */ 208 typedef struct ArkUI_HostWindowInfo ArkUI_HostWindowInfo; 209 210 /** 211 * @brief Define ActiveChildenInfo class information. 212 * 213 * @since 14 214 */ 215 typedef struct ArkUI_ActiveChildrenInfo ArkUI_ActiveChildrenInfo; 216 217 /** 218 * @brief Set the linear progress indicator style. 219 * 220 * @since 15 221 */ 222 typedef struct ArkUI_ProgressLinearStyleOption ArkUI_ProgressLinearStyleOption; 223 224 /** 225 * @brief The cross-language option. 226 * 227 * @since 15 228 */ 229 typedef struct ArkUI_CrossLanguageOption ArkUI_CrossLanguageOption; 230 231 /** 232 * @brief Defines the event callback type. 233 * 234 * @since 12 235 */ 236 typedef struct { 237 /** Custom type. */ 238 void* userData; 239 /** Event callback. */ 240 void (*callback)(void* userData); 241 } ArkUI_ContextCallback; 242 /** 243 * @brief Provides the number types of ArkUI in the native code. 244 * 245 * @since 12 246 */ 247 typedef union { 248 /** Floating-point type. */ 249 float f32; 250 /** Signed integer. */ 251 int32_t i32; 252 /** Unsigned integer. */ 253 uint32_t u32; 254 } ArkUI_NumberValue; 255 256 /** 257 * @brief Enumerates the alignment modes. 258 * 259 * @since 12 260 */ 261 typedef enum { 262 /** Top start. */ 263 ARKUI_ALIGNMENT_TOP_START = 0, 264 /** Top center. */ 265 ARKUI_ALIGNMENT_TOP, 266 /** Top end. */ 267 ARKUI_ALIGNMENT_TOP_END, 268 /** Vertically centered start. */ 269 ARKUI_ALIGNMENT_START, 270 /** Horizontally and vertically centered. */ 271 ARKUI_ALIGNMENT_CENTER, 272 /** Vertically centered end. */ 273 ARKUI_ALIGNMENT_END, 274 /** Bottom start. */ 275 ARKUI_ALIGNMENT_BOTTOM_START, 276 /** Horizontally centered on the bottom. */ 277 ARKUI_ALIGNMENT_BOTTOM, 278 /** Bottom end. */ 279 ARKUI_ALIGNMENT_BOTTOM_END, 280 } ArkUI_Alignment; 281 282 /** 283 * @brief Enumerates the image repeat patterns. 284 * 285 * @since 12 286 */ 287 typedef enum { 288 /** The image is not repeatedly drawn. */ 289 ARKUI_IMAGE_REPEAT_NONE = 0, 290 /** The image is repeatedly drawn only along the x-axis. */ 291 ARKUI_IMAGE_REPEAT_X, 292 /** The image is repeatedly drawn only along the y-axis. */ 293 ARKUI_IMAGE_REPEAT_Y, 294 /** The image is repeatedly drawn along both axes. */ 295 ARKUI_IMAGE_REPEAT_XY, 296 } ArkUI_ImageRepeat; 297 298 /** 299 * @brief Enumerates the font styles. 300 * 301 * @since 12 302 */ 303 typedef enum { 304 /** Standard font style. */ 305 ARKUI_FONT_STYLE_NORMAL = 0, 306 /** Italic font style. */ 307 ARKUI_FONT_STYLE_ITALIC 308 } ArkUI_FontStyle; 309 310 /** 311 * @brief Enumerates the font weights. 312 * 313 * @since 12 314 */ 315 typedef enum { 316 /** 100 */ 317 ARKUI_FONT_WEIGHT_W100 = 0, 318 /** 200 */ 319 ARKUI_FONT_WEIGHT_W200, 320 /** 300 */ 321 ARKUI_FONT_WEIGHT_W300, 322 /** 400 */ 323 ARKUI_FONT_WEIGHT_W400, 324 /** 500 */ 325 ARKUI_FONT_WEIGHT_W500, 326 /** 600 */ 327 ARKUI_FONT_WEIGHT_W600, 328 /** 700 */ 329 ARKUI_FONT_WEIGHT_W700, 330 /** 800 */ 331 ARKUI_FONT_WEIGHT_W800, 332 /** 900 */ 333 ARKUI_FONT_WEIGHT_W900, 334 /** The font weight is bold. */ 335 ARKUI_FONT_WEIGHT_BOLD, 336 /** The font weight is normal. */ 337 ARKUI_FONT_WEIGHT_NORMAL, 338 /** The font weight is bolder. */ 339 ARKUI_FONT_WEIGHT_BOLDER, 340 /** The font weight is lighter. */ 341 ARKUI_FONT_WEIGHT_LIGHTER, 342 /** The font weight is medium. */ 343 ARKUI_FONT_WEIGHT_MEDIUM, 344 /** The font weight is normal. */ 345 ARKUI_FONT_WEIGHT_REGULAR, 346 } ArkUI_FontWeight; 347 348 /** 349 * @brief Enumerates the text alignment mode. 350 * 351 * @since 12 352 */ 353 typedef enum { 354 /** Aligned with the start. */ 355 ARKUI_TEXT_ALIGNMENT_START = 0, 356 /** Horizontally centered. */ 357 ARKUI_TEXT_ALIGNMENT_CENTER, 358 /** Aligned with the end. */ 359 ARKUI_TEXT_ALIGNMENT_END, 360 /** Aligned with both margins. */ 361 ARKUI_TEXT_ALIGNMENT_JUSTIFY, 362 } ArkUI_TextAlignment; 363 364 /** 365 * @brief Enumerates the types of the Enter key for a single-line text box. 366 * 367 * @since 12 368 */ 369 typedef enum { 370 /** The Enter key is labeled "Go." */ 371 ARKUI_ENTER_KEY_TYPE_GO = 2, 372 /** The Enter key is labeled "Search." */ 373 ARKUI_ENTER_KEY_TYPE_SEARCH = 3, 374 /** The Enter key is labeled "Send." */ 375 ARKUI_ENTER_KEY_TYPE_SEND, 376 /** The Enter key is labeled "Next." */ 377 ARKUI_ENTER_KEY_TYPE_NEXT, 378 /** The Enter key is labeled "Done." */ 379 ARKUI_ENTER_KEY_TYPE_DONE, 380 /** The Enter key is labeled "Previous." */ 381 ARKUI_ENTER_KEY_TYPE_PREVIOUS, 382 /** The Enter key is labeled "New Line." */ 383 ARKUI_ENTER_KEY_TYPE_NEW_LINE, 384 } ArkUI_EnterKeyType; 385 386 /** 387 * @brief Enumerates the text input types. 388 * 389 * @since 12 390 */ 391 typedef enum { 392 /** Normal input mode. */ 393 ARKUI_TEXTINPUT_TYPE_NORMAL = 0, 394 /** Number input mode. */ 395 ARKUI_TEXTINPUT_TYPE_NUMBER = 2, 396 /** Phone number input mode. */ 397 ARKUI_TEXTINPUT_TYPE_PHONE_NUMBER = 3, 398 /** Email address input mode. */ 399 ARKUI_TEXTINPUT_TYPE_EMAIL = 5, 400 /** Password input mode. */ 401 ARKUI_TEXTINPUT_TYPE_PASSWORD = 7, 402 /** Numeric password input mode. */ 403 ARKUI_TEXTINPUT_TYPE_NUMBER_PASSWORD = 8, 404 /** Lock screen password input mode. */ 405 ARKUI_TEXTINPUT_TYPE_SCREEN_LOCK_PASSWORD = 9, 406 /** Username input mode. */ 407 ARKUI_TEXTINPUT_TYPE_USER_NAME = 10, 408 /** New password input mode. */ 409 ARKUI_TEXTINPUT_TYPE_NEW_PASSWORD = 11, 410 /** Number input mode with a decimal point. */ 411 ARKUI_TEXTINPUT_TYPE_NUMBER_DECIMAL = 12, 412 } ArkUI_TextInputType; 413 414 /** 415 * @brief Enumerates the text box types. 416 * 417 * @since 12 418 */ 419 typedef enum { 420 /** Normal input mode. */ 421 ARKUI_TEXTAREA_TYPE_NORMAL = 0, 422 /** Number input mode. */ 423 ARKUI_TEXTAREA_TYPE_NUMBER = 2, 424 /** Phone number input mode. */ 425 ARKUI_TEXTAREA_TYPE_PHONE_NUMBER = 3, 426 /** Email address input mode. */ 427 ARKUI_TEXTAREA_TYPE_EMAIL = 5, 428 } ArkUI_TextAreaType; 429 430 /** 431 * @brief Enumerates the styles of the Cancel button. 432 * 433 * @since 12 434 */ 435 typedef enum { 436 /** The Cancel button is always displayed. */ 437 ARKUI_CANCELBUTTON_STYLE_CONSTANT = 0, 438 /** The Cancel button is always hidden. */ 439 ARKUI_CANCELBUTTON_STYLE_INVISIBLE, 440 /** The Cancel button is displayed when there is text input. */ 441 ARKUI_CANCELBUTTON_STYLE_INPUT, 442 } ArkUI_CancelButtonStyle; 443 444 /** 445 * @brief Enumerates the types of the <b><XComponent></b> component. 446 * 447 * @since 12 448 */ 449 typedef enum { 450 /** The custom content of EGL/OpenGL ES and media data is displayed individually on the screen. */ 451 ARKUI_XCOMPONENT_TYPE_SURFACE = 0, 452 /** The custom content of EGL/OpenGL ES and media data is grouped and displayed together with content 453 * of the component. 454 */ 455 ARKUI_XCOMPONENT_TYPE_TEXTURE = 2, 456 } ArkUI_XComponentType; 457 458 /** 459 * @brief Enumerates the styles of the progress indicator. 460 * 461 * @since 12 462 */ 463 typedef enum { 464 /** Linear style. */ 465 ARKUI_PROGRESS_TYPE_LINEAR = 0, 466 /** Indeterminate ring style. */ 467 ARKUI_PROGRESS_TYPE_RING, 468 /** Eclipse style. */ 469 ARKUI_PROGRESS_TYPE_ECLIPSE, 470 /** Determinate ring style. */ 471 ARKUI_PROGRESS_TYPE_SCALE_RING, 472 /** Capsule style. */ 473 ARKUI_PROGRESS_TYPE_CAPSULE, 474 } ArkUI_ProgressType; 475 476 /** 477 * @brief Enumerates the text decoration types. 478 * 479 * @since 12 480 */ 481 typedef enum { 482 /** No text decoration. */ 483 ARKUI_TEXT_DECORATION_TYPE_NONE = 0, 484 /** Line under the text. */ 485 ARKUI_TEXT_DECORATION_TYPE_UNDERLINE, 486 /** Line over the text. */ 487 ARKUI_TEXT_DECORATION_TYPE_OVERLINE, 488 /** Line through the text. */ 489 ARKUI_TEXT_DECORATION_TYPE_LINE_THROUGH, 490 } ArkUI_TextDecorationType; 491 492 /** 493 * @brief Enumerates the text decoration styles. 494 * 495 * @since 12 496 */ 497 typedef enum { 498 /** Single solid line. */ 499 ARKUI_TEXT_DECORATION_STYLE_SOLID = 0, 500 /** Double solid line. */ 501 ARKUI_TEXT_DECORATION_STYLE_DOUBLE, 502 /** Dotted line. */ 503 ARKUI_TEXT_DECORATION_STYLE_DOTTED, 504 /** Dashed line. */ 505 ARKUI_TEXT_DECORATION_STYLE_DASHED, 506 /** Wavy line. */ 507 ARKUI_TEXT_DECORATION_STYLE_WAVY, 508 } ArkUI_TextDecorationStyle; 509 510 /** 511 * @brief Enumerates the text cases. 512 * 513 * @since 12 514 */ 515 typedef enum { 516 /** The original case of the text is retained. */ 517 ARKUI_TEXT_CASE_NORMAL = 0, 518 /** All letters in the text are in lowercase. */ 519 ARKUI_TEXT_CASE_LOWER, 520 /** All letters in the text are in uppercase. */ 521 ARKUI_TEXT_CASE_UPPER, 522 } ArkUI_TextCase; 523 524 /** 525 * @brief Enumerates the text copy and paste modes. 526 * 527 * @since 12 528 */ 529 typedef enum { 530 /** Copy is not allowed. */ 531 ARKUI_COPY_OPTIONS_NONE = 0, 532 /** Intra-application copy is allowed. */ 533 ARKUI_COPY_OPTIONS_IN_APP, 534 /** Intra-device copy is allowed. */ 535 ARKUI_COPY_OPTIONS_LOCAL_DEVICE, 536 /** Cross-device copy is allowed. */ 537 ARKUI_COPY_OPTIONS_CROSS_DEVICE, 538 } ArkUI_CopyOptions; 539 540 /** 541 * @brief Enumerates the shadow types. 542 * 543 * @since 12 544 */ 545 typedef enum { 546 /** Color. */ 547 ARKUI_SHADOW_TYPE_COLOR = 0, 548 /** Blur. */ 549 ARKUI_SHADOW_TYPE_BLUR 550 } ArkUI_ShadowType; 551 552 /** 553 * @brief Enumerates the types of the text picker. 554 * 555 * @since 12 556 */ 557 typedef enum { 558 /** Single-column text picker. */ 559 ARKUI_TEXTPICKER_RANGETYPE_SINGLE = 0, 560 /** Multi-column text picker. */ 561 ARKUI_TEXTPICKER_RANGETYPE_MULTI, 562 /** Single-column text picker with image resources. */ 563 ARKUI_TEXTPICKER_RANGETYPE_RANGE_CONTENT, 564 /** Interconnected multi-column text picker. */ 565 ARKUI_TEXTPICKER_RANGETYPE_CASCADE_RANGE_CONTENT, 566 } ArkUI_TextPickerRangeType; 567 568 /** 569 * @brief Defines the input structure of the single-column text picker with image resources. 570 * 571 * @since 12 572 */ 573 typedef struct { 574 /** Image resource. */ 575 const char* icon; 576 /** Text information. */ 577 const char* text; 578 } ARKUI_TextPickerRangeContent; 579 580 /** 581 * @brief Defines the input structure of the interconnected multi-column text picker. 582 * 583 * @since 12 584 */ 585 typedef struct { 586 /** Text information. */ 587 const char* text; 588 /** Interconnected data. */ 589 const ARKUI_TextPickerRangeContent* children; 590 /** Size of the interconnected data array. */ 591 int32_t size; 592 } ARKUI_TextPickerCascadeRangeContent; 593 594 /** 595 * @brief Enumerates the effects used at the edges of the component when the boundary of the scrollable content is 596 * reached. 597 * 598 * @since 12 599 */ 600 typedef enum { 601 /** Spring effect. When at one of the edges, the component can move beyond the bounds based on the initial 602 * speed or through touches, and produces a bounce effect when the user releases their finger. */ 603 ARKUI_EDGE_EFFECT_SPRING = 0, 604 /** Fade effect. When at one of the edges, the component produces a fade effect. */ 605 ARKUI_EDGE_EFFECT_FADE, 606 /** No effect after the scrollbar is moved to the edge. */ 607 ARKUI_EDGE_EFFECT_NONE, 608 } ArkUI_EdgeEffect; 609 610 /** 611 * @brief Enumerates the scroll directions for the <b><Scroll></b> component. 612 * 613 * @since 12 614 */ 615 typedef enum { 616 /** Only vertical scrolling is supported. */ 617 ARKUI_SCROLL_DIRECTION_VERTICAL = 0, 618 /** Only horizontal scrolling is supported. */ 619 ARKUI_SCROLL_DIRECTION_HORIZONTAL, 620 /** Scrolling is not allowed. */ 621 ARKUI_SCROLL_DIRECTION_NONE = 3, 622 } ArkUI_ScrollDirection; 623 624 /** 625 * @brief Enumerates the alignment modes of list items when scrolling ends. 626 * 627 * @since 12 628 */ 629 typedef enum { 630 /** No alignment. This is the default value. */ 631 ARKUI_SCROLL_SNAP_ALIGN_NONE = 0, 632 /** The first item in the view is aligned at the start of the list. */ 633 ARKUI_SCROLL_SNAP_ALIGN_START, 634 /** The middle items in the view are aligned in the center of the list. */ 635 ARKUI_SCROLL_SNAP_ALIGN_CENTER, 636 /** The last item in the view is aligned at the end of the list. */ 637 ARKUI_SCROLL_SNAP_ALIGN_END, 638 } ArkUI_ScrollSnapAlign; 639 640 /** 641 * @brief Enumerates the scrollbar display modes. 642 * 643 * @since 12 644 */ 645 typedef enum { 646 /** Hide. */ 647 ARKUI_SCROLL_BAR_DISPLAY_MODE_OFF = 0, 648 /** Display on demand (displays when the screen is touched and disappears after 2s). */ 649 ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO, 650 /** Always display. */ 651 ARKUI_SCROLL_BAR_DISPLAY_MODE_ON, 652 } ArkUI_ScrollBarDisplayMode; 653 654 /** 655 * @brief Enumerates the scroll directions for the <b><List></b> component. 656 * 657 * @since 12 658 */ 659 typedef enum { 660 /** Only vertical scrolling is supported. */ 661 ARKUI_AXIS_VERTICAL = 0, 662 /** Only horizontal scrolling is supported. */ 663 ARKUI_AXIS_HORIZONTAL, 664 } ArkUI_Axis; 665 666 /** 667 * @brief Enumerates the modes for pinning the header to the top or the footer to the bottom. 668 * 669 * @since 12 670 */ 671 typedef enum { 672 /** In the list item group, the header is not pinned to the top, and the footer is not pinned to the bottom. */ 673 ARKUI_STICKY_STYLE_NONE = 0, 674 /** In the list item group, the header is pinned to the top, and the footer is not pinned to the bottom. */ 675 ARKUI_STICKY_STYLE_HEADER = 1, 676 /** In the list item group, the footer is pinned to the bottom, and the header is not pinned to the top. */ 677 ARKUI_STICKY_STYLE_FOOTER = 2, 678 /** In the list item group, the footer is pinned to the bottom, and the header is pinned to the top. */ 679 ARKUI_STICKY_STYLE_BOTH = 3, 680 } ArkUI_StickyStyle; 681 682 /** 683 * @brief Enumerates the border styles. 684 * 685 * @since 12 686 */ 687 typedef enum { 688 /** Solid border. */ 689 ARKUI_BORDER_STYLE_SOLID = 0, 690 /** Dashed border. */ 691 ARKUI_BORDER_STYLE_DASHED, 692 /** Dotted border. */ 693 ARKUI_BORDER_STYLE_DOTTED, 694 } ArkUI_BorderStyle; 695 696 /** 697 * @brief Enumerates the hit test modes. 698 * 699 * @since 12 700 */ 701 typedef enum { 702 /** Both the node and its child node respond to the hit test of a touch event, but its sibling node is blocked from 703 * the hit test. */ 704 ARKUI_HIT_TEST_MODE_DEFAULT = 0, 705 /** The node responds to the hit test of a touch event, but its child node and sibling node are blocked from the 706 * hit test. */ 707 ARKUI_HIT_TEST_MODE_BLOCK, 708 /** Both the node and its child node respond to the hit test of a touch event, and its sibling node is also 709 * considered during the hit test. */ 710 ARKUI_HIT_TEST_MODE_TRANSPARENT, 711 /** The node does not respond to the hit test of a touch event. */ 712 ARKUI_HIT_TEST_MODE_NONE 713 } ArkUI_HitTestMode; 714 715 /** 716 * @brief Enumerates the shadow styles. 717 * 718 * @since 12 719 */ 720 typedef enum { 721 /** Mini shadow. */ 722 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_XS = 0, 723 /** Little shadow. */ 724 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_SM, 725 /** Medium shadow. */ 726 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_MD, 727 /** Large shadow. */ 728 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_LG, 729 /** Floating small shadow. */ 730 ARKUI_SHADOW_STYLE_OUTER_FLOATING_SM, 731 /** Floating medium shadow. */ 732 ARKUI_SHADOW_STYLE_OUTER_FLOATING_MD, 733 } ArkUI_ShadowStyle; 734 735 /** 736 * @brief Enumerates the animation curves. 737 * 738 * @since 12 739 */ 740 typedef enum { 741 /** The animation speed keeps unchanged. */ 742 ARKUI_CURVE_LINEAR = 0, 743 /** The animation starts slowly, accelerates, and then slows down towards the end. */ 744 ARKUI_CURVE_EASE, 745 /** The animation starts at a low speed and then picks up speed until the end. */ 746 ARKUI_CURVE_EASE_IN, 747 /** The animation ends at a low speed. */ 748 ARKUI_CURVE_EASE_OUT, 749 /** The animation starts and ends at a low speed. */ 750 ARKUI_CURVE_EASE_IN_OUT, 751 /** The animation uses the standard curve */ 752 ARKUI_CURVE_FAST_OUT_SLOW_IN, 753 /** The animation uses the deceleration curve. */ 754 ARKUI_CURVE_LINEAR_OUT_SLOW_IN, 755 /** The animation uses the acceleration curve. */ 756 ARKUI_CURVE_FAST_OUT_LINEAR_IN, 757 /** The animation uses the extreme deceleration curve. */ 758 ARKUI_CURVE_EXTREME_DECELERATION, 759 /** The animation uses the sharp curve. */ 760 ARKUI_CURVE_SHARP, 761 /** The animation uses the rhythm curve. */ 762 ARKUI_CURVE_RHYTHM, 763 /** The animation uses the smooth curve. */ 764 ARKUI_CURVE_SMOOTH, 765 /** The animation uses the friction curve */ 766 ARKUI_CURVE_FRICTION, 767 } ArkUI_AnimationCurve; 768 769 /** 770 * @brief Enumerates arrow styles of the navigation point indicator. 771 * 772 * @since 12 773 */ 774 typedef enum { 775 /** The arrow is not displayed for the navigation point indicator. */ 776 ARKUI_SWIPER_ARROW_HIDE = 0, 777 /** The arrow is displayed for the navigation point indicator. */ 778 ARKUI_SWIPER_ARROW_SHOW, 779 /** The arrow is displayed only when the mouse pointer hovers over the navigation point indicator. */ 780 ARKUI_SWIPER_ARROW_SHOW_ON_HOVER, 781 } ArkUI_SwiperArrow; 782 783 /** 784 * @brief Nested scrolling mode for Swiper components and parent components. 785 * 786 * @since 12 787 */ 788 typedef enum { 789 /** Swiper only scrolls on its own and is not linked to its parent component. */ 790 ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY = 0, 791 /** The Swiper itself scrolls first, and the parent component scrolls after it reaches the edge. After the parent 792 * component scrolls to the edge, if the parent component has an edge effect, the parent component triggers the edge 793 * effect; otherwise, the Swiper triggers the edge effect. */ 794 ARKUI_SWIPER_NESTED_SRCOLL_SELF_FIRST, 795 } ArkUI_SwiperNestedScrollMode; 796 797 /** 798 * @brief Enumerates the page flipping modes using the mouse wheel for the <b>Swiper</b> component. 799 * 800 * @since 15 801 */ 802 typedef enum { 803 /** When the mouse wheel is scrolled continuously, multiple pages are flipped, which is determined by the number of 804 * times that mouse events are reported. */ 805 ARKUI_PAGE_FLIP_MODE_CONTINUOUS = 0, 806 /** The system does not respond to other mouse wheel events until the page flipping animation ends. */ 807 ARKUI_PAGE_FLIP_MODE_SINGLE, 808 } ArkUI_PageFlipMode; 809 810 /** 811 * @brief Enumerates the animation modes for {@link NODE_SWIPER_INDEX}. 812 * 813 * @since 15 814 */ 815 typedef enum { 816 /** Jump to target index without animation. */ 817 ARKUI_SWIPER_NO_ANIMATION = 0, 818 /** Scroll to target index with animation. */ 819 ARKUI_SWIPER_DEFAULT_ANIMATION = 1, 820 /** Jump to some index near the target index without animation, then scroll to target index with animation. */ 821 ARKUI_SWIPER_FAST_ANIMATION = 2, 822 } ArkUI_SwiperAnimationMode; 823 824 /** 825 * @brief Enumerates the accessibility modes. 826 * 827 * @since 12 828 */ 829 typedef enum { 830 /** Whether the component can be identified by the accessibility service is dependent on the component. */ 831 ARKUI_ACCESSIBILITY_MODE_AUTO = 0, 832 /** The component can be identified by the accessibility service. */ 833 ARKUI_ACCESSIBILITY_MODE_ENABLED, 834 /** The component cannot be identified by the accessibility service. */ 835 ARKUI_ACCESSIBILITY_MODE_DISABLED, 836 /** The component and all its child components cannot be identified by the accessibility service. */ 837 ARKUI_ACCESSIBILITY_MODE_DISABLED_FOR_DESCENDANTS, 838 } ArkUI_AccessibilityMode; 839 840 /** 841 * @brief Defines whether copy and paste is allowed for text content. 842 * 843 * @since 12 844 */ 845 typedef enum { 846 /** Copy is not allowed. */ 847 ARKUI_TEXT_COPY_OPTIONS_NONE = 0, 848 /** Intra-application copy is allowed. */ 849 ARKUI_TEXT_COPY_OPTIONS_IN_APP, 850 /** Intra-device copy is allowed. */ 851 ARKUI_TEXT_COPY_OPTIONS_LOCAL_DEVICE, 852 /** Cross-device copy is allowed. */ 853 ARKUI_TEXT_COPY_OPTIONS_CROSS_DEVICE, 854 } ArkUI_TextCopyOptions; 855 856 /** 857 * @brief Defines how the adaptive height is determined for the text. 858 * 859 * @since 12 860 */ 861 typedef enum { 862 /** Prioritize the <b>maxLines</b> settings. */ 863 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_MAX_LINES_FIRST = 0, 864 /** Prioritize the <b>minFontSize</b> settings. */ 865 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_MIN_FONT_SIZE_FIRST, 866 /** Prioritize the layout constraint settings in terms of height. */ 867 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_LAYOUT_CONSTRAINT_FIRST, 868 } ArkUI_TextHeightAdaptivePolicy; 869 870 /** 871 * @brief Defines nested scrolling options. 872 * 873 * @since 12 874 */ 875 typedef enum { 876 /** The scrolling is contained within the component, and no scroll chaining occurs, that is, the parent component 877 * does not scroll when the component scrolling reaches the boundary. */ 878 ARKUI_SCROLL_NESTED_MODE_SELF_ONLY = 0, 879 /** The component scrolls first, and when it hits the boundary, the parent component scrolls. 880 * When the parent component hits the boundary, its edge effect is displayed. If no edge 881 * effect is specified for the parent component, the edge effect of the child component is displayed instead. */ 882 ARKUI_SCROLL_NESTED_MODE_SELF_FIRST, 883 /** The parent component scrolls first, and when it hits the boundary, the component scrolls. 884 * When the component hits the boundary, its edge effect is displayed. If no edge effect is specified for the 885 * component, the edge effect of the parent component is displayed instead. */ 886 ARKUI_SCROLL_NESTED_MODE_PARENT_FIRST, 887 /** The component and its parent component scroll at the same time. When both the component and its parent component 888 * hit the boundary, the edge effect of the component is displayed. If no edge effect is specified for the 889 * component, the edge effect of the parent component is displayed instead. */ 890 ARKUI_SCROLL_NESTED_MODE_PARALLEL, 891 } ArkUI_ScrollNestedMode; 892 893 /** 894 * @brief Defines the edge to which the component scrolls. 895 * 896 * @since 12 897 */ 898 typedef enum { 899 /** Top edge in the vertical direction. */ 900 ARKUI_SCROLL_EDGE_TOP = 0, 901 /** Bottom edge in the vertical direction. */ 902 ARKUI_SCROLL_EDGE_BOTTOM, 903 /** Start position in the horizontal direction. */ 904 ARKUI_SCROLL_EDGE_START, 905 /** End position in the horizontal direction. */ 906 ARKUI_SCROLL_EDGE_END, 907 } ArkUI_ScrollEdge; 908 909 /** 910 * @brief Alignment when scrolling to specific items. 911 * 912 * @since 12 913 */ 914 typedef enum { 915 /** Align the head. Align the head of the specified item with the head of the container.*/ 916 ARKUI_SCROLL_ALIGNMENT_START = 0, 917 /** Center alignment. Align the axis direction of the specified item to the center of the container.*/ 918 ARKUI_SCROLL_ALIGNMENT_CENTER, 919 /** Tail alignment. Align the tail of the specified item with the tail of the container.*/ 920 ARKUI_SCROLL_ALIGNMENT_END, 921 /** Automatic alignment. If the specified item is completely in the display area, no adjustments will be made. 922 * Otherwise, according to the principle of the shortest sliding distance, align the head or tail of the specified 923 * item with the container, so that the specified item is completely in the display area.*/ 924 ARKUI_SCROLL_ALIGNMENT_AUTO, 925 } ArkUI_ScrollAlignment; 926 927 /** 928 * @brief Define the current scrolling state. 929 * 930 * @since 12 931 */ 932 typedef enum { 933 /** Idle state. Trigger when using the method provided by the controller to control scrolling, and trigger when 934 * dragging the scroll bar to scroll.*/ 935 ARKUI_SCROLL_STATE_IDLE = 0, 936 /** Scroll state. Triggered when dragging the container with fingers to scroll.*/ 937 ARKUI_SCROLL_STATE_SCROLL, 938 /** Inertial rolling state. Triggered when inertia rolling and bouncing back to the edge are performed after 939 * releasing the hand quickly.*/ 940 ARKUI_SCROLL_STATE_FLING, 941 } ArkUI_ScrollState; 942 943 /** 944 * @brief Enumerates the types of the slider in the block direction. 945 * 946 * @since 12 947 */ 948 typedef enum { 949 /** Round slider. */ 950 ARKUI_SLIDER_BLOCK_STYLE_DEFAULT = 0, 951 /** Slider with an image background. */ 952 ARKUI_SLIDER_BLOCK_STYLE_IMAGE, 953 /** Slider in a custom shape. */ 954 ARKUI_SLIDER_BLOCK_STYLE_SHAPE, 955 } ArkUI_SliderBlockStyle; 956 957 /** 958 * @brief Enumerates the scroll directions of the slider. 959 * 960 * @since 12 961 */ 962 typedef enum { 963 /** Vertical direction. */ 964 ARKUI_SLIDER_DIRECTION_VERTICAL = 0, 965 /** Horizontal direction. */ 966 ARKUI_SLIDER_DIRECTION_HORIZONTAL, 967 } ArkUI_SliderDirection; 968 969 /** 970 * @brief Enumerates the slider styles. 971 * 972 * @since 12 973 */ 974 typedef enum { 975 /** The slider is on the slider track. */ 976 ARKUI_SLIDER_STYLE_OUT_SET = 0, 977 /** The slider is in the slider track. */ 978 ARKUI_SLIDER_STYLE_IN_SET, 979 /** No slider. */ 980 ARKUI_SLIDER_STYLE_NONE, 981 } ArkUI_SliderStyle; 982 983 /** 984 * @brief Enumerates the shapes of the check box 985 * 986 * @since 12 987 */ 988 typedef enum { 989 /** Circle. */ 990 ArkUI_CHECKBOX_SHAPE_CIRCLE = 0, 991 /** Rounded square. */ 992 ArkUI_CHECKBOX_SHAPE_ROUNDED_SQUARE, 993 } ArkUI_CheckboxShape; 994 995 /** 996 * @brief Enumerates the animation playback modes. 997 * 998 * @since 12 999 */ 1000 typedef enum { 1001 /** The animation is played forwards. */ 1002 ARKUI_ANIMATION_PLAY_MODE_NORMAL = 0, 1003 /** The animation is played reversely. */ 1004 ARKUI_ANIMATION_PLAY_MODE_REVERSE, 1005 /** The animation is played normally for an odd number of times (1, 3, 5...) and reversely for an even number 1006 * of times (2, 4, 6...). */ 1007 ARKUI_ANIMATION_PLAY_MODE_ALTERNATE, 1008 /** The animation is played reversely for an odd number of times (1, 3, 5...) and normally for an even number 1009 * of times (2, 4, 6...). */ 1010 ARKUI_ANIMATION_PLAY_MODE_ALTERNATE_REVERSE, 1011 } ArkUI_AnimationPlayMode; 1012 1013 /** 1014 * @brief Defines the image size. 1015 * 1016 * @since 12 1017 */ 1018 typedef enum { 1019 /** The original image aspect ratio is retained. */ 1020 ARKUI_IMAGE_SIZE_AUTO = 0, 1021 /** Default value. The image is scaled with its aspect ratio retained for both sides to be greater than or equal 1022 * to the display boundaries. */ 1023 ARKUI_IMAGE_SIZE_COVER, 1024 /** The image is scaled with its aspect ratio retained for the content to be completely displayed within the display 1025 * boundaries. */ 1026 ARKUI_IMAGE_SIZE_CONTAIN, 1027 } ArkUI_ImageSize; 1028 1029 /** 1030 * @brief Enumerates the adaptive color modes. 1031 * 1032 * @since 12 1033 */ 1034 typedef enum { 1035 /** Adaptive color mode is not used. */ 1036 ARKUI_ADAPTIVE_COLOR_DEFAULT = 0, 1037 /** Adaptive color mode is used. */ 1038 ARKUI_ADAPTIVE_COLOR_AVERAGE, 1039 } ArkUI_AdaptiveColor; 1040 1041 /** 1042 * @brief Enumerates the color modes. 1043 * 1044 * @since 12 1045 */ 1046 typedef enum { 1047 /** Following the system color mode. */ 1048 ARKUI_COLOR_MODE_SYSTEM = 0, 1049 /** Light color mode. */ 1050 ARKUI_COLOR_MODE_LIGHT, 1051 /** Dark color mode. */ 1052 ARKUI_COLOR_MODE_DARK, 1053 } ArkUI_ColorMode; 1054 1055 /** 1056 * @brief Enumerates the system color modes. 1057 * 1058 * @since 12 1059 */ 1060 typedef enum { 1061 /** Light color mode. */ 1062 ARKUI_SYSTEM_COLOR_MODE_LIGHT = 0, 1063 /** Dark color mode. */ 1064 ARKUI_SYSTEM_COLOR_MODE_DARK, 1065 } ArkUI_SystemColorMode; 1066 1067 /** 1068 * @brief Enumerates the blur styles. 1069 * 1070 * @since 12 1071 */ 1072 typedef enum { 1073 /** Thin material. */ 1074 ARKUI_BLUR_STYLE_THIN = 0, 1075 /** Regular material. */ 1076 ARKUI_BLUR_STYLE_REGULAR, 1077 /** Thick material. */ 1078 ARKUI_BLUR_STYLE_THICK, 1079 /** Material that creates the minimum depth of field effect. */ 1080 ARKUI_BLUR_STYLE_BACKGROUND_THIN, 1081 /** Material that creates a medium shallow depth of field effect. */ 1082 ARKUI_BLUR_STYLE_BACKGROUND_REGULAR, 1083 /** Material that creates a high shallow depth of field effect. */ 1084 ARKUI_BLUR_STYLE_BACKGROUND_THICK, 1085 /** Material that creates the maximum depth of field effect. */ 1086 ARKUI_BLUR_STYLE_BACKGROUND_ULTRA_THICK, 1087 /** No blur. */ 1088 ARKUI_BLUR_STYLE_NONE, 1089 /** Component ultra-thin material. */ 1090 ARKUI_BLUR_STYLE_COMPONENT_ULTRA_THIN, 1091 /** Component thin material. */ 1092 ARKUI_BLUR_STYLE_COMPONENT_THIN, 1093 /** Component regular material. */ 1094 ARKUI_BLUR_STYLE_COMPONENT_REGULAR, 1095 /** Component thick material. */ 1096 ARKUI_BLUR_STYLE_COMPONENT_THICK, 1097 /** Component ultra-thick material. */ 1098 ARKUI_BLUR_STYLE_COMPONENT_ULTRA_THICK, 1099 } ArkUI_BlurStyle; 1100 1101 /** 1102 * @brief Enumerates the vertical alignment modes. 1103 * 1104 * @since 12 1105 */ 1106 typedef enum { 1107 /** Top aligned. */ 1108 ARKUI_VERTICAL_ALIGNMENT_TOP = 0, 1109 /** Center aligned. This is the default alignment mode. */ 1110 ARKUI_VERTICAL_ALIGNMENT_CENTER, 1111 /** Bottom aligned. */ 1112 ARKUI_VERTICAL_ALIGNMENT_BOTTOM, 1113 } ArkUI_VerticalAlignment; 1114 1115 /** 1116 * @brief Enumerates the alignment mode in the horizontal direction. 1117 * 1118 * @since 12 1119 */ 1120 typedef enum { 1121 /** Aligned with the start edge in the same direction as the language in use. */ 1122 ARKUI_HORIZONTAL_ALIGNMENT_START = 0, 1123 /** Center aligned. This is the default alignment mode. */ 1124 ARKUI_HORIZONTAL_ALIGNMENT_CENTER, 1125 /** Aligned with the end edge in the same direction as the language in use. */ 1126 ARKUI_HORIZONTAL_ALIGNMENT_END, 1127 } ArkUI_HorizontalAlignment; 1128 1129 /** 1130 * @brief Enumerates the display modes when the text is too long. 1131 * 1132 * @since 12 1133 */ 1134 typedef enum { 1135 /** Extra-long text is not clipped. */ 1136 ARKUI_TEXT_OVERFLOW_NONE = 0, 1137 /** Extra-long text is clipped. */ 1138 ARKUI_TEXT_OVERFLOW_CLIP, 1139 /** An ellipsis (...) is used to represent text overflow. */ 1140 ARKUI_TEXT_OVERFLOW_ELLIPSIS, 1141 /** Text continuously scrolls when text overflow occurs. */ 1142 ARKUI_TEXT_OVERFLOW_MARQUEE, 1143 } ArkUI_TextOverflow; 1144 1145 /** 1146 * @brief Enumerates the alignment mode of the image with the text. 1147 * 1148 * @since 12 1149 */ 1150 typedef enum { 1151 /** The image is bottom aligned with the text baseline. */ 1152 ARKUI_IMAGE_SPAN_ALIGNMENT_BASELINE = 0, 1153 /** The image is bottom aligned with the text. */ 1154 ARKUI_IMAGE_SPAN_ALIGNMENT_BOTTOM, 1155 /** The image is centered aligned with the text. */ 1156 ARKUI_IMAGE_SPAN_ALIGNMENT_CENTER, 1157 /** The image is top aligned with the text. */ 1158 ARKUI_IMAGE_SPAN_ALIGNMENT_TOP, 1159 } ArkUI_ImageSpanAlignment; 1160 1161 /** 1162 * @brief Defines how the image is resized to fit its container. 1163 *ImageSpanAlignment 1164 * @since 12 1165 */ 1166 typedef enum { 1167 /** The image is scaled with its aspect ratio retained for the content to be completely displayed within the 1168 * display boundaries. */ 1169 ARKUI_OBJECT_FIT_CONTAIN = 0, 1170 /** The image is scaled with its aspect ratio retained for both sides to be greater than or equal to the 1171 * display boundaries. */ 1172 ARKUI_OBJECT_FIT_COVER, 1173 /** The image is scaled automatically to fit the display area. */ 1174 ARKUI_OBJECT_FIT_AUTO, 1175 /** The image is scaled to fill the display area, and its aspect ratio is not retained. */ 1176 ARKUI_OBJECT_FIT_FILL, 1177 /** The image content is displayed with its aspect ratio retained. The size is smaller than or equal to the 1178 * original size. */ 1179 ARKUI_OBJECT_FIT_SCALE_DOWN, 1180 /** The original size is retained. */ 1181 ARKUI_OBJECT_FIT_NONE, 1182 /** Not resized, the image is aligned with the start edge of the top of the container. */ 1183 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP_START, 1184 /** Not resized, the image is horizontally centered at the top of the container. */ 1185 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP, 1186 /** Not resized, the image is aligned with the end edge at the top of the container. */ 1187 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP_END, 1188 /** Not resized, the image is vertically centered on the start edge of the container. */ 1189 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_START, 1190 /** Not resized, the image is horizontally and vertically centered in the container. */ 1191 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_CENTER, 1192 /** Not resized, the image is vertically centered on the end edge of the container. */ 1193 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_END, 1194 /** Not resized, the image is aligned with the start edge at the bottom of the container. */ 1195 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM_START, 1196 /** Not resized, the image is horizontally centered at the bottom of the container. */ 1197 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM, 1198 /** Not resized, the image is aligned with the end edge at the bottom of the container. */ 1199 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM_END, 1200 } ArkUI_ObjectFit; 1201 1202 /** 1203 * @brief Enumerates the image interpolation effect. 1204 * 1205 * @since 12 1206 */ 1207 typedef enum { 1208 /** No image interpolation. */ 1209 ARKUI_IMAGE_INTERPOLATION_NONE = 0, 1210 /** Low quality interpolation. */ 1211 ARKUI_IMAGE_INTERPOLATION_LOW, 1212 /** Medium quality interpolation. */ 1213 ARKUI_IMAGE_INTERPOLATION_MEDIUM, 1214 /** High quality interpolation. This mode produces scaled images of the highest possible quality. */ 1215 ARKUI_IMAGE_INTERPOLATION_HIGH, 1216 } ArkUI_ImageInterpolation; 1217 1218 /** 1219 * @brief Enumerates the blend modes. 1220 * 1221 * @since 12 1222 */ 1223 typedef enum { 1224 /** The top image is superimposed on the bottom image without any blending. */ 1225 ARKUI_BLEND_MODE_NONE = 0, 1226 /** The target pixels covered by the source pixels are erased by being turned to completely transparent. */ 1227 ARKUI_BLEND_MODE_CLEAR, 1228 /** r = s: Only the source pixels are displayed. */ 1229 ARKUI_BLEND_MODE_SRC, 1230 /** r = d: Only the target pixels are displayed. */ 1231 ARKUI_BLEND_MODE_DST, 1232 /** r = s + (1 - sa) * d: The source pixels are blended based on opacity and cover the target pixels. */ 1233 ARKUI_BLEND_MODE_SRC_OVER, 1234 /** r = d + (1 - da) * s: The target pixels are blended based on opacity and cover on the source pixels. */ 1235 ARKUI_BLEND_MODE_DST_OVER, 1236 /** r = s * da: Only the part of the source pixels that overlap with the target pixels is displayed. */ 1237 ARKUI_BLEND_MODE_SRC_IN, 1238 /** r = d * sa: Only the part of the target pixels that overlap with the source pixels is displayed. */ 1239 ARKUI_BLEND_MODE_DST_IN, 1240 /** r = s * (1 - da): Only the part of the source pixels that do not overlap with the target pixels is displayed. */ 1241 ARKUI_BLEND_MODE_SRC_OUT, 1242 /** r = d * (1 - sa): Only the part of the target pixels that do not overlap with the source pixels is displayed. */ 1243 ARKUI_BLEND_MODE_DST_OUT, 1244 /** r = s * da + d * (1 - sa): The part of the source pixels that overlap with the target pixels is displayed and 1245 * the part of the target pixels that do not overlap with the source pixels are displayed. 1246 */ 1247 ARKUI_BLEND_MODE_SRC_ATOP, 1248 /** r = d * sa + s * (1 - da): The part of the target pixels that overlap with the source pixels and the part of 1249 * the source pixels that do not overlap with the target pixels are displayed. 1250 */ 1251 ARKUI_BLEND_MODE_DST_ATOP, 1252 /** r = s * (1 - da) + d * (1 - sa): Only the non-overlapping part between the source pixels and the target pixels 1253 * is displayed. */ 1254 ARKUI_BLEND_MODE_XOR, 1255 /** r = min(s + d, 1): New pixels resulting from adding the source pixels to the target pixels are displayed. */ 1256 ARKUI_BLEND_MODE_PLUS, 1257 /** r = s * d: New pixels resulting from multiplying the source pixels with the target pixels are displayed. */ 1258 ARKUI_BLEND_MODE_MODULATE, 1259 /** r = s + d - s * d: Pixels are blended by adding the source pixels to the target pixels and subtracting the 1260 * product of their multiplication. */ 1261 ARKUI_BLEND_MODE_SCREEN, 1262 /** The MULTIPLY or SCREEN mode is used based on the target pixels. */ 1263 ARKUI_BLEND_MODE_OVERLAY, 1264 /** rc = s + d - max(s * da, d * sa), ra = kSrcOver: When two colors overlap, whichever is darker is used. */ 1265 ARKUI_BLEND_MODE_DARKEN, 1266 /** rc = s + d - min(s * da, d * sa), ra = 1267 kSrcOver: The final pixels are composed of the lightest values of pixels. */ 1268 ARKUI_BLEND_MODE_LIGHTEN, 1269 /** The colors of the target pixels are lightened to reflect the source pixels. */ 1270 ARKUI_BLEND_MODE_COLOR_DODGE, 1271 /** The colors of the target pixels are darkened to reflect the source pixels. */ 1272 ARKUI_BLEND_MODE_COLOR_BURN, 1273 /** The MULTIPLY or SCREEN mode is used, depending on the source pixels. */ 1274 ARKUI_BLEND_MODE_HARD_LIGHT, 1275 /** The LIGHTEN or DARKEN mode is used, depending on the source pixels. */ 1276 ARKUI_BLEND_MODE_SOFT_LIGHT, 1277 /** rc = s + d - 2 * (min(s * da, d * sa)), ra = 1278 kSrcOver: The final pixel is the result of subtracting the darker of the two pixels (source and target) from 1279 the lighter one. */ 1280 ARKUI_BLEND_MODE_DIFFERENCE, 1281 /** rc = s + d - two(s * d), ra = kSrcOver: The final pixel is similar to <b>DIFFERENCE</b>, but with less contrast. 1282 */ 1283 ARKUI_BLEND_MODE_EXCLUSION, 1284 /** r = s * (1 - da) + d * (1 - sa) + s * d: The final pixel is the result of multiplying the source pixel 1285 * by the target pixel. */ 1286 ARKUI_BLEND_MODE_MULTIPLY, 1287 /** The resultant image is created with the luminance and saturation of the source image and the hue of the target 1288 * image. */ 1289 ARKUI_BLEND_MODE_HUE, 1290 /** The resultant image is created with the luminance and hue of the target image and the saturation of the source 1291 * image. */ 1292 ARKUI_BLEND_MODE_SATURATION, 1293 /** The resultant image is created with the saturation and hue of the source image and the luminance of the target 1294 * image. */ 1295 ARKUI_BLEND_MODE_COLOR, 1296 /** The resultant image is created with the saturation and hue of the target image and the luminance of the source 1297 * image. */ 1298 ARKUI_BLEND_MODE_LUMINOSITY, 1299 } ArkUI_BlendMode; 1300 1301 /** 1302 * @brief Enumerates the modes in which components are laid out along the main axis of the container. 1303 * 1304 * @since 12 1305 */ 1306 typedef enum { 1307 /** Components are arranged from left to right. */ 1308 ARKUI_DIRECTION_LTR = 0, 1309 /** Components are arranged from right to left. */ 1310 ARKUI_DIRECTION_RTL, 1311 /** The default layout direction is used. */ 1312 ARKUI_DIRECTION_AUTO = 3, 1313 } ArkUI_Direction; 1314 1315 /** 1316 * @brief Enumerates the modes in which components are laid out along the cross axis of the container. 1317 * 1318 * @since 12 1319 */ 1320 typedef enum { 1321 /** The default configuration in the container is used. */ 1322 ARKUI_ITEM_ALIGNMENT_AUTO = 0, 1323 /** The items in the container are aligned with the cross-start edge. */ 1324 ARKUI_ITEM_ALIGNMENT_START, 1325 /** The items in the container are centered along the cross axis. */ 1326 ARKUI_ITEM_ALIGNMENT_CENTER, 1327 /** The items in the container are aligned with the cross-end edge. */ 1328 ARKUI_ITEM_ALIGNMENT_END, 1329 /** The items in the container are stretched and padded along the cross axis. */ 1330 ARKUI_ITEM_ALIGNMENT_STRETCH, 1331 /** The items in the container are aligned in such a manner that their text baselines are aligned along the 1332 * cross axis. */ 1333 ARKUI_ITEM_ALIGNMENT_BASELINE, 1334 } ArkUI_ItemAlignment; 1335 1336 /** 1337 * @brief Enumerates the foreground colors. 1338 * 1339 * @since 12 1340 */ 1341 typedef enum { 1342 /** The foreground colors are the inverse of the component background colors. */ 1343 ARKUI_COLOR_STRATEGY_INVERT = 0, 1344 /** The shadow colors of the component are the average color obtained from the component background shadow area. */ 1345 ARKUI_COLOR_STRATEGY_AVERAGE, 1346 /** The shadow colors of the component are the primary color obtained from the component background shadow area. */ 1347 ARKUI_COLOR_STRATEGY_PRIMARY, 1348 } ArkUI_ColorStrategy; 1349 1350 /** 1351 * @brief Enumerates the vertical alignment modes. 1352 * 1353 * @since 12 1354 */ 1355 typedef enum { 1356 /** The child components are aligned with the start edge of the main axis. */ 1357 ARKUI_FLEX_ALIGNMENT_START = 1, 1358 /** The child components are aligned in the center of the main axis. */ 1359 ARKUI_FLEX_ALIGNMENT_CENTER = 2, 1360 /** The child components are aligned with the end edge of the main axis. */ 1361 ARKUI_FLEX_ALIGNMENT_END = 3, 1362 /** The child components are evenly distributed along the main axis. The space between any two adjacent components 1363 * is the same. The first component is aligned with the main-start, and the last component is aligned with 1364 * the main-end. */ 1365 ARKUI_FLEX_ALIGNMENT_SPACE_BETWEEN = 6, 1366 /** The child components are evenly distributed along the main axis. The space between any two adjacent components 1367 * is the same. The space between the first component and main-start, and that between the last component and 1368 * cross-main are both half the size of the space between two adjacent components. */ 1369 ARKUI_FLEX_ALIGNMENT_SPACE_AROUND = 7, 1370 /** The child components are evenly distributed along the main axis. The space between the first component 1371 * and main-start, the space between the last component and main-end, and the space between any two adjacent 1372 * components are the same. */ 1373 ARKUI_FLEX_ALIGNMENT_SPACE_EVENLY = 8, 1374 } ArkUI_FlexAlignment; 1375 1376 /** 1377 * @brief Enumerates the directions of the main axis in the flex container. 1378 * 1379 * @since 12 1380 */ 1381 typedef enum { 1382 /** The child components are arranged in the same direction as the main axis runs along the rows. */ 1383 ARKUI_FLEX_DIRECTION_ROW = 0, 1384 /** The child components are arranged in the same direction as the main axis runs down the columns. */ 1385 ARKUI_FLEX_DIRECTION_COLUMN, 1386 /** The child components are arranged opposite to the <b>ROW</b> direction. */ 1387 ARKUI_FLEX_DIRECTION_ROW_REVERSE, 1388 /** The child components are arranged opposite to the <b>COLUMN</b> direction. */ 1389 ARKUI_FLEX_DIRECTION_COLUMN_REVERSE, 1390 } ArkUI_FlexDirection; 1391 1392 /** 1393 * @brief Defines whether the flex container has a single line or multiple lines. 1394 * 1395 * @since 12 1396 */ 1397 typedef enum { 1398 /** The child components in the flex container are arranged in a single line, and they cannot overflow. */ 1399 ARKUI_FLEX_WRAP_NO_WRAP = 0, 1400 /** The child components in the flex container are arranged in multiple lines, and they may overflow. */ 1401 ARKUI_FLEX_WRAP_WRAP, 1402 /** The child components in the flex container are reversely arranged in multiple lines, and they may overflow. */ 1403 ARKUI_FLEX_WRAP_WRAP_REVERSE, 1404 } ArkUI_FlexWrap; 1405 1406 /** 1407 * @brief Enumerates the visibility values. 1408 * 1409 * @since 12 1410 */ 1411 typedef enum { 1412 /** The component is visible. */ 1413 ARKUI_VISIBILITY_VISIBLE = 0, 1414 /** The component is hidden, and a placeholder is used for it in the layout. */ 1415 ARKUI_VISIBILITY_HIDDEN, 1416 /** The component is hidden. It is not involved in the layout, and no placeholder is used for it. */ 1417 ARKUI_VISIBILITY_NONE, 1418 } ArkUI_Visibility; 1419 1420 /** 1421 * @brief Enumerates the alignment modes between the calendar picker and the entry component. 1422 * 1423 * @since 12 1424 */ 1425 typedef enum { 1426 /** Left aligned. */ 1427 ARKUI_CALENDAR_ALIGNMENT_START = 0, 1428 /** Center aligned. */ 1429 ARKUI_CALENDAR_ALIGNMENT_CENTER, 1430 /** Right aligned. */ 1431 ARKUI_CALENDAR_ALIGNMENT_END, 1432 } ArkUI_CalendarAlignment; 1433 1434 /** 1435 * @brief Enumerates the mask types. 1436 * 1437 * @since 12 1438 */ 1439 typedef enum { 1440 /** Rectangle. */ 1441 ARKUI_MASK_TYPE_RECTANGLE = 0, 1442 /** Circle. */ 1443 ARKUI_MASK_TYPE_CIRCLE, 1444 /** Ellipse. */ 1445 ARKUI_MASK_TYPE_ELLIPSE, 1446 /** Path. */ 1447 ARKUI_MASK_TYPE_PATH, 1448 /** Progress indicator. */ 1449 ARKUI_MASK_TYPE_PROGRESS, 1450 } ArkUI_MaskType; 1451 1452 /** 1453 * @brief Enumerates the clipping region types. 1454 * 1455 * @since 12 1456 */ 1457 typedef enum { 1458 /** Rectangle. */ 1459 ARKUI_CLIP_TYPE_RECTANGLE = 0, 1460 /** Circle. */ 1461 ARKUI_CLIP_TYPE_CIRCLE, 1462 /** Ellipse. */ 1463 ARKUI_CLIP_TYPE_ELLIPSE, 1464 /** Path. */ 1465 ARKUI_CLIP_TYPE_PATH, 1466 } ArkUI_ClipType; 1467 1468 /** 1469 * @brief Defines the gradient color stop structure. 1470 * 1471 * @since 12 1472 */ 1473 typedef struct { 1474 /** Color array. */ 1475 const uint32_t* colors; 1476 /** Position array. */ 1477 float* stops; 1478 /** Length array. */ 1479 int size; 1480 } ArkUI_ColorStop; 1481 1482 /** 1483 * @brief Enumerates the custom shapes. 1484 * 1485 * @since 12 1486 */ 1487 typedef enum { 1488 /** Rectangle. */ 1489 ARKUI_SHAPE_TYPE_RECTANGLE = 0, 1490 /** Circle. */ 1491 ARKUI_SHAPE_TYPE_CIRCLE, 1492 /** Ellipse. */ 1493 ARKUI_SHAPE_TYPE_ELLIPSE, 1494 /** Path. */ 1495 ARKUI_SHAPE_TYPE_PATH, 1496 } ArkUI_ShapeType; 1497 1498 /** 1499 * @brief Enumerates the gradient directions. 1500 * 1501 * @since 12 1502 */ 1503 typedef enum { 1504 /** From right to left. */ 1505 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT = 0, 1506 /** From bottom to top. */ 1507 ARKUI_LINEAR_GRADIENT_DIRECTION_TOP, 1508 /** From left to right. */ 1509 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT, 1510 /** From top to bottom. */ 1511 ARKUI_LINEAR_GRADIENT_DIRECTION_BOTTOM, 1512 /** From lower right to upper left. */ 1513 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT_TOP, 1514 /** From upper right to lower left. */ 1515 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT_BOTTOM, 1516 /** From lower left to upper right. */ 1517 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT_TOP, 1518 /** From upper left to lower right. */ 1519 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT_BOTTOM, 1520 /** No gradient. */ 1521 ARKUI_LINEAR_GRADIENT_DIRECTION_NONE, 1522 /** Custom direction. */ 1523 ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM, 1524 } ArkUI_LinearGradientDirection; 1525 1526 /** 1527 * @brief Enumerates the word break rules. 1528 * 1529 * @since 12 1530 */ 1531 typedef enum { 1532 /** Word breaks can occur between any two characters for Chinese, Japanese, and Korean (CJK) text, but can occur 1533 * only at a space character for non-CJK text (such as English). */ 1534 ARKUI_WORD_BREAK_NORMAL = 0, 1535 /** Word breaks can occur between any two characters for non-CJK text. CJK text behavior is the same as for 1536 * <b>NORMAL</b>. */ 1537 ARKUI_WORD_BREAK_BREAK_ALL, 1538 /** This option has the same effect as <b>BREAK_ALL</b> for non-CJK text, except that if it preferentially wraps 1539 * lines at appropriate characters (for example, spaces) whenever possible. 1540 CJK text behavior is the same as for <b>NORMAL</b>. */ 1541 ARKUI_WORD_BREAK_BREAK_WORD, 1542 } ArkUI_WordBreak; 1543 1544 /** 1545 * @brief Enumerates the ellipsis positions. 1546 * 1547 * @since 12 1548 */ 1549 typedef enum { 1550 /** An ellipsis is used at the start of the line of text. */ 1551 ARKUI_ELLIPSIS_MODE_START = 0, 1552 /** An ellipsis is used at the center of the line of text. */ 1553 ARKUI_ELLIPSIS_MODE_CENTER, 1554 /** An ellipsis is used at the end of the line of text. */ 1555 ARKUI_ELLIPSIS_MODE_END, 1556 } ArkUI_EllipsisMode; 1557 1558 /** 1559 * @brief Enumerates the image rendering modes. 1560 * 1561 * @since 12 1562 */ 1563 typedef enum { 1564 /** Render image pixels as they are in the original source image. */ 1565 ARKUI_IMAGE_RENDER_MODE_ORIGINAL = 0, 1566 /** Render image pixels to create a monochrome template image. */ 1567 ARKUI_IMAGE_RENDER_MODE_TEMPLATE, 1568 } ArkUI_ImageRenderMode; 1569 1570 /** 1571 * @brief Enumerates the slide-in and slide-out positions of the component from the screen edge during transition. 1572 * 1573 * @since 12 1574 */ 1575 typedef enum { 1576 /** Top edge of the window. */ 1577 ARKUI_TRANSITION_EDGE_TOP = 0, 1578 /** Bottom edge of the window. */ 1579 ARKUI_TRANSITION_EDGE_BOTTOM, 1580 /** Left edge of the window. */ 1581 ARKUI_TRANSITION_EDGE_START, 1582 /** Right edge of the window. */ 1583 ARKUI_TRANSITION_EDGE_END, 1584 } ArkUI_TransitionEdge; 1585 1586 /** 1587 * @brief Defines how the specified blend mode is applied. 1588 * 1589 * @since 12 1590 */ 1591 typedef enum { 1592 /** The content of the view is blended in sequence on the target image. */ 1593 BLEND_APPLY_TYPE_FAST = 0, 1594 /** The content of the component and its child components are drawn on the offscreen canvas, and then blended with 1595 * the existing content on the canvas. */ 1596 BLEND_APPLY_TYPE_OFFSCREEN, 1597 } ArkUI_BlendApplyType; 1598 1599 /** 1600 * @brief Defines a mask area. 1601 * 1602 * @since 12 1603 */ 1604 typedef struct { 1605 /** X coordinate of the mask area. */ 1606 float x; 1607 /** Y coordinate of the mask area. */ 1608 float y; 1609 /** Width of the mask area. */ 1610 float width; 1611 /** Height of the mask area. */ 1612 float height; 1613 } ArkUI_Rect; 1614 1615 /** 1616 * @brief Describes the width and height of a component. 1617 * 1618 * @since 12 1619 */ 1620 typedef struct { 1621 /** Width, in px. */ 1622 int32_t width; 1623 /** Height, in px. */ 1624 int32_t height; 1625 } ArkUI_IntSize; 1626 1627 /** 1628 * @brief Describes the position of a component. 1629 * 1630 * @since 12 1631 */ 1632 typedef struct { 1633 /** Horizontal coordinate, in px. */ 1634 int32_t x; 1635 /** Vertical coordinate, in px. */ 1636 int32_t y; 1637 } ArkUI_IntOffset; 1638 1639 /** 1640 * @brief Enumerates the animation onFinish callback types. 1641 * 1642 * @since 12 1643 */ 1644 typedef enum { 1645 /** The callback is invoked when the entire animation is removed once it has finished. */ 1646 ARKUI_FINISH_CALLBACK_REMOVED = 0, 1647 /** The callback is invoked when the animation logically enters the falling state, though it may still be in its 1648 * long tail state. */ 1649 ARKUI_FINISH_CALLBACK_LOGICALLY, 1650 } ArkUI_FinishCallbackType; 1651 1652 /** 1653 * @brief Enumerates the alignment modes of items along the cross axis. 1654 * 1655 * @since 12 1656 */ 1657 typedef enum { 1658 /** The list items are packed toward the start edge of the list container along the cross axis. */ 1659 ARKUI_LIST_ITEM_ALIGNMENT_START = 0, 1660 /** The list items are centered in the list container along the cross axis. */ 1661 ARKUI_LIST_ITEM_ALIGNMENT_CENTER, 1662 /** The list items are packed toward the end edge of the list container along the cross axis. */ 1663 ARKUI_LIST_ITEM_ALIGNMENT_END, 1664 } ArkUI_ListItemAlignment; 1665 1666 /** 1667 * @brief defines the direction of the barrier line. 1668 * 1669 * @since 12 1670 */ 1671 typedef enum { 1672 /** The barrier is the leftmost of all its referencedIds. */ 1673 ARKUI_BARRIER_DIRECTION_START = 0, 1674 /** The barrier is on the rightmost side of all its referencedIds. */ 1675 ARKUI_BARRIER_DIRECTION_END, 1676 /** The barrier is at the top of all its referencedIds. */ 1677 ARKUI_BARRIER_DIRECTION_TOP, 1678 /** The barrier is at the bottom of all its referencedIds. */ 1679 ARKUI_BARRIER_DIRECTION_BOTTOM 1680 } ArkUI_BarrierDirection; 1681 1682 /** 1683 * @brief defines the style of the chain. 1684 * 1685 * @since 12 1686 */ 1687 typedef enum { 1688 /** Components are evenly distributed among constraint anchor points. */ 1689 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_SPREAD = 0, 1690 /** Except for the first and last two sub-components, 1691 * other components are evenly distributed between the constraint anchor points. */ 1692 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_SPREAD_INSIDE, 1693 /** No gaps in subcomponents within the chain. */ 1694 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_PACKED, 1695 } ArkUI_RelativeLayoutChainStyle; 1696 1697 /** 1698 * @brief Describes the margins of a component. 1699 * 1700 * @since 12 1701 */ 1702 typedef struct { 1703 /** Top margin, in vp. */ 1704 float top; 1705 /** Right margin, in vp. */ 1706 float right; 1707 /** Bottom margin, in vp. */ 1708 float bottom; 1709 /** Left margin, in vp. */ 1710 float left; 1711 } ArkUI_Margin; 1712 1713 /** 1714 * @brief Enumerates the component units. 1715 * 1716 * @since 12 1717 */ 1718 typedef enum { 1719 /** Default, which is fp for fonts and vp for non-fonts. */ 1720 ARKUI_LENGTH_METRIC_UNIT_DEFAULT = -1, 1721 /** px. */ 1722 ARKUI_LENGTH_METRIC_UNIT_PX = 0, 1723 /** vp. */ 1724 ARKUI_LENGTH_METRIC_UNIT_VP, 1725 /** fp. */ 1726 ARKUI_LENGTH_METRIC_UNIT_FP 1727 } ArkUI_LengthMetricUnit; 1728 1729 /** 1730 * @brief Enumerates the render fit. 1731 * 1732 * @since 12 1733 */ 1734 typedef enum { 1735 /** Maintains the content size of the animation's final state, 1736 * and the content is always centered with the component.*/ 1737 ARKUI_RENDER_FIT_CENTER = 0, 1738 /** Maintains the content size of the animation's final state, 1739 * and the content is always aligned with the top center of the component. */ 1740 ARKUI_RENDER_FIT_TOP, 1741 /** Maintains the content size of the animation's final state, 1742 * and the content is always aligned with the bottom center of the component. */ 1743 ARKUI_RENDER_FIT_BOTTOM, 1744 /** Maintains the content size of the animation's final state, 1745 * and the content is always aligned to the left of the component. */ 1746 ARKUI_RENDER_FIT_LEFT, 1747 /** Maintains the content size of the animation's final state, 1748 * and the content is always right-aligned with the component. */ 1749 ARKUI_RENDER_FIT_RIGHT, 1750 /** Maintains the content size of the animation's final state, 1751 * and the content is always aligned with the top left corner of the component. */ 1752 ARKUI_RENDER_FIT_TOP_LEFT, 1753 /** Keep the content size of the animation final state, 1754 * and the content is always aligned with the upper right corner of the component. */ 1755 ARKUI_RENDER_FIT_TOP_RIGHT, 1756 /** Keep the content size of the animation final state, 1757 * and the content always aligns with the lower-left corner of the component. */ 1758 ARKUI_RENDER_FIT_BOTTOM_LEFT, 1759 /** Keep the content size of the animation final state, 1760 *and the content always aligns with the lower-right corner of the component. */ 1761 ARKUI_RENDER_FIT_BOTTOM_RIGHT, 1762 /** The aspect ratio of the animation's final state content is not considered, 1763 *and the content is always scaled to the size of the component. */ 1764 ARKUI_RENDER_FIT_RESIZE_FILL, 1765 /** Reduce or enlarge the aspect ratio of the animation final state content, 1766 * so that the content is fully displayed in the component, 1767 * and keep the center aligned with the component. */ 1768 ARKUI_RENDER_FIT_RESIZE_CONTAIN, 1769 /** Keep the aspect ratio of the animation final state content to reduce or enlarge, 1770 * so that the content is fully displayed in the component. 1771 * When there is left over in the broad direction of the component, 1772 * the content is aligned to the left of the component, 1773 * and when there is left over in the high direction of the component, 1774 * the content is aligned to the top of the component. */ 1775 ARKUI_RENDER_FIT_RESIZE_CONTAIN_TOP_LEFT, 1776 /** Keep the aspect ratio of the animation final state content to reduce or enlarge, 1777 * so that the content is fully displayed in the component. 1778 * When there is left in the wide direction of the component, 1779 * the content is aligned with the component on the right. 1780 * When there is left in the high direction of the component, 1781 * the content is aligned with the component on the bottom. */ 1782 ARKUI_RENDER_FIT_RESIZE_CONTAIN_BOTTOM_RIGHT, 1783 /** Keep the aspect ratio of the animation final state content reduced or enlarged, 1784 * so that both sides of the content are greater than or equal to both sides of the component, 1785 * and keep the center aligned with the component to display the middle part of the content. */ 1786 ARKUI_RENDER_FIT_RESIZE_COVER, 1787 /** Keep the aspect ratio of the final content of the animation reduced or enlarged 1788 * so that both sides of the content are exactly greater than or equal to both sides of the component. 1789 * When the content width is left, the content is aligned to the left of the component, 1790 * and the left portion of the content is displayed. When the content is left in the high direction, 1791 * the content and the component remain top aligned, showing the top side of the content. */ 1792 ARKUI_RENDER_FIT_RESIZE_COVER_TOP_LEFT, 1793 /** Keep the aspect ratio of the final content of the animation reduced or enlarged so 1794 * that both sides of the content are exactly greater than or equal to both sides of the component. 1795 * When the content width is left, the content and the component remain right aligned, 1796 * and the right part of the content is displayed. When the content is left in the high direction, 1797 * the content and the component remain aligned at the bottom, 1798 * and the bottom part of the content is displayed. */ 1799 ARKUI_RENDER_FIT_RESIZE_COVER_BOTTOM_RIGHT 1800 } ArkUI_RenderFit; 1801 1802 /** 1803 * @brief Enumerates the button types. 1804 * 1805 * @since 12 1806 */ 1807 typedef enum { 1808 /** Normal button (without rounded corners by default). */ 1809 ARKUI_BUTTON_TYPE_NORMAL = 0, 1810 /** Capsule-type button (the round corner is half of the height by default). */ 1811 ARKUI_BUTTON_TYPE_CAPSULE, 1812 /** Circle button. */ 1813 ARKUI_BUTTON_TYPE_CIRCLE, 1814 } ArkUI_ButtonType; 1815 1816 /** 1817 * @brief Enumerates the autofill types. 1818 * 1819 * @since 12 1820 */ 1821 typedef enum { 1822 /** Username. Password Vault, when enabled, can automatically save and fill in usernames. */ 1823 ARKUI_TEXTINPUT_CONTENT_TYPE_USER_NAME = 0, 1824 /** Password. Password Vault, when enabled, can automatically save and fill in passwords. */ 1825 ARKUI_TEXTINPUT_CONTENT_TYPE_PASSWORD, 1826 /** New password. Password Vault, when enabled, can automatically generate a new password. */ 1827 ARKUI_TEXTINPUT_CONTENT_TYPE_NEW_PASSWORD, 1828 /** Full street address. The scenario-based autofill feature, when enabled, can automatically save and fill in full 1829 * street addresses. */ 1830 ARKUI_TEXTINPUT_CONTENT_TYPE_FULL_STREET_ADDRESS, 1831 /** House number. The scenario-based autofill feature, when enabled, can automatically save and fill in house 1832 * numbers. */ 1833 ARKUI_TEXTINPUT_CONTENT_TYPE_HOUSE_NUMBER, 1834 /** District and county. The scenario-based autofill feature, when enabled, can automatically save and fill in 1835 * districts and counties. */ 1836 ARKUI_TEXTINPUT_CONTENT_TYPE_DISTRICT_ADDRESS, 1837 /** City. The scenario-based autofill feature, when enabled, can automatically save and fill in cities. */ 1838 ARKUI_TEXTINPUT_CONTENT_TYPE_CITY_ADDRESS, 1839 /** Province. The scenario-based autofill feature, when enabled, can automatically save and fill in provinces. */ 1840 ARKUI_TEXTINPUT_CONTENT_TYPE_PROVINCE_ADDRESS, 1841 /** Country. The scenario-based autofill feature, when enabled, can automatically save and fill in countries. */ 1842 ARKUI_TEXTINPUT_CONTENT_TYPE_COUNTRY_ADDRESS, 1843 /** Full name. The scenario-based autofill feature, when enabled, can automatically save and fill in full names. */ 1844 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_FULL_NAME, 1845 /** Last name. The scenario-based autofill feature, when enabled, can automatically save and fill in last names. */ 1846 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_LAST_NAME, 1847 /** First name. The scenario-based autofill feature, when enabled, can automatically save and fill in first names. 1848 */ 1849 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_FIRST_NAME, 1850 /** Phone number. The scenario-based autofill feature, when enabled, can automatically save and fill in phone 1851 * numbers. */ 1852 ARKUI_TEXTINPUT_CONTENT_TYPE_PHONE_NUMBER, 1853 /** Country code. The scenario-based autofill feature, when enabled, can automatically save and fill in country 1854 * codes. */ 1855 ARKUI_TEXTINPUT_CONTENT_TYPE_PHONE_COUNTRY_CODE, 1856 /** Phone number with country code. The scenario-based autofill feature, when enabled, can automatically save and 1857 * fill in phone numbers with country codes. */ 1858 ARKUI_TEXTINPUT_CONTENT_TYPE_FULL_PHONE_NUMBER, 1859 /** Email address. The scenario-based autofill feature, when enabled, can automatically save and fill in email 1860 * addresses. */ 1861 ARKUI_TEXTINPUT_CONTENT_EMAIL_ADDRESS, 1862 /** Bank card number. The scenario-based autofill feature, when enabled, can automatically save and fill in bank 1863 * card numbers. */ 1864 ARKUI_TEXTINPUT_CONTENT_TYPE_BANK_CARD_NUMBER, 1865 /** ID card number. The scenario-based autofill feature, when enabled, can automatically save and fill in ID card 1866 * numbers. */ 1867 ARKUI_TEXTINPUT_CONTENT_TYPE_ID_CARD_NUMBER, 1868 /** Nickname. The scenario-based autofill feature, when enabled, can automatically save and fill in nicknames. */ 1869 ARKUI_TEXTINPUT_CONTENT_TYPE_NICKNAME, 1870 /** Address information without street address. The scenario-based autofill feature, when enabled, can automatically 1871 * save and fill in address information without street addresses. */ 1872 ARKUI_TEXTINPUT_CONTENT_TYPE_DETAIL_INFO_WITHOUT_STREET, 1873 /** Standard address. The scenario-based autofill feature, when enabled, can automatically save and fill in standard 1874 * addresses. */ 1875 ARKUI_TEXTINPUT_CONTENT_TYPE_FORMAT_ADDRESS, 1876 } ArkUI_TextInputContentType; 1877 1878 /** 1879 * @brief Defines the text input style. 1880 * 1881 * @since 12 1882 */ 1883 typedef enum { 1884 /** Default style. The caret width is fixed at 1.5 vp, and the caret height is subject to the background height and 1885 * font size of the selected text. */ 1886 ARKUI_TEXTINPUT_STYLE_DEFAULT = 0, 1887 /** Inline input style. The background height of the selected text is the same as the height of the text box. */ 1888 ARKUI_TEXTINPUT_STYLE_INLINE 1889 } ArkUI_TextInputStyle; 1890 1891 /** 1892 * @brief Defines the keyboard style of input box 1893 * 1894 * @since 15 1895 */ 1896 typedef enum { 1897 /** 1898 * Default appearance mode, won't adopt immersive styles. 1899 * @since 15 1900 */ 1901 ARKUI_KEYBOARD_APPEARANCE_NONE_IMMERSIVE = 0, 1902 /** 1903 * Immersive mode. 1904 * @since 15 1905 */ 1906 ARKUI_KEYBOARD_APPEARANCE_IMMERSIVE = 1, 1907 /** 1908 * Light immersive style. 1909 * @since 15 1910 */ 1911 ARKUI_KEYBOARD_APPEARANCE_LIGHT_IMMERSIVE = 2, 1912 /** 1913 * Dark immersive style. 1914 * @since 15 1915 */ 1916 ARKUI_KEYBOARD_APPEARANCE_DARK_IMMERSIVE = 3, 1917 } ArkUI_KeyboardAppearance; 1918 1919 /** 1920 * @brief Defines the entity type for text recognition. 1921 * 1922 * @since 12 1923 */ 1924 typedef enum { 1925 /** Phone Number.*/ 1926 ARKUI_TEXT_DATA_DETECTOR_TYPE_PHONE_NUMBER = 0, 1927 /** Link. */ 1928 ARKUI_TEXT_DATA_DETECTOR_TYPE_URL, 1929 /** Mailbox. */ 1930 ARKUI_TEXT_DATA_DETECTOR_TYPE_EMAIL, 1931 /** Address. */ 1932 ARKUI_TEXT_DATA_DETECTOR_TYPE_ADDRESS, 1933 } ArkUI_TextDataDetectorType; 1934 1935 /** 1936 * @brief Define the navigation indicator type of the swiper. 1937 * 1938 * @since 12 1939 */ 1940 typedef enum { 1941 /** dot type. */ 1942 ARKUI_SWIPER_INDICATOR_TYPE_DOT, 1943 /** digit type. */ 1944 ARKUI_SWIPER_INDICATOR_TYPE_DIGIT, 1945 } ArkUI_SwiperIndicatorType; 1946 1947 /** 1948 * @brief Define the pattern of element arrangement in the main axis direction of the Swiper component. 1949 * 1950 * @since 12 1951 */ 1952 typedef enum { 1953 /** In the folded state, when the ListItem slides in the opposite direction to the main axis, 1954 * the operation item is hidden.*/ 1955 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_COLLAPSED = 0, 1956 /** In the folded state, when the ListItem slides in the opposite direction to the spindle, 1957 * the operation item is displayed.*/ 1958 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_EXPANDED, 1959 /** Long distance state, the state of deleting a ListItem after it enters the long distance deletion area.*/ 1960 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_ACTIONING, 1961 } ArkUI_ListItemSwipeActionState; 1962 1963 /** 1964 * @brief Define the explicit and implicit mode of the SwipeAction method for the Listitem component. 1965 * 1966 * @since 12 1967 */ 1968 typedef enum { 1969 /** The ListItem can continue to be scratched after the distance exceeds the size of the scratched component.*/ 1970 ARKUI_LIST_ITEM_SWIPE_EDGE_EFFECT_SPRING = 0, 1971 /** The sliding distance of the ListItem cannot exceed the size of the scratched component.*/ 1972 ARKUI_LIST_ITEM_SWIPE_EDGE_EFFECT_NONE, 1973 } ArkUI_ListItemSwipeEdgeEffect; 1974 1975 /** 1976 * @brief Define error code enumeration values. 1977 * 1978 * @since 12 1979 */ 1980 typedef enum { 1981 /** @error No errors. */ 1982 ARKUI_ERROR_CODE_NO_ERROR = 0, 1983 /** @error Parameter error. */ 1984 ARKUI_ERROR_CODE_PARAM_INVALID = 401, 1985 /** 1986 * @error Internal error occurs, such as failure occurs because of the internal environment error, 1987 * or operation failed because of the internal execution failed. 1988 * @since 15 1989 */ 1990 ARKUI_ERROR_CODE_INTERNAL_ERROR = 100001, 1991 /** @error The component does not support specific properties or events. */ 1992 ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED = 106102, 1993 /** @error The corresponding operation does not support nodes created by ArkTS. */ 1994 ARKUI_ERROR_CODE_ARKTS_NODE_NOT_SUPPORTED = 106103, 1995 /** @error The lazy loading adapter is not bound to the component. */ 1996 ARKUI_ERROR_CODE_ADAPTER_NOT_BOUND = 106104, 1997 /** @error The adapter already exists. */ 1998 ARKUI_ERROR_CODE_ADAPTER_EXIST = 106105, 1999 /** @error The corresponding node already has a child node and cannot add an adapter. */ 2000 ARKUI_ERROR_CODE_CHILD_NODE_EXIST = 106106, 2001 /** The parameter length in the parameter event exceeds the limit. */ 2002 ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE = 106107, 2003 /** The data does not exist in the component event. */ 2004 ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID = 106108, 2005 /** The component event does not support return values. */ 2006 ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN = 106109, 2007 /** The index value is invalid. */ 2008 ARKUI_ERROR_CODE_NODE_INDEX_INVALID = 106200, 2009 /** Failed to query route navigation information. */ 2010 ARKUI_ERROR_CODE_GET_INFO_FAILED = 106201, 2011 /** The buffer size is not large enough. */ 2012 ARKUI_ERROR_CODE_BUFFER_SIZE_ERROR = 106202, 2013 /** 2014 * @error The node is not on main tree. 2015 * @since 15 2016 */ 2017 ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE = 106203, 2018 /** 2019 * @error The node requesting focus is not focusable. 2020 * @since 15 2021 */ 2022 ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE = 150001, 2023 /** 2024 * @error The node requesting focus has unfocusable ancestor. 2025 * @since 15 2026 */ 2027 ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE_ANCESTOR = 150002, 2028 /** 2029 * @error The node requesting focus does not exists. 2030 * @since 15 2031 */ 2032 ARKUI_ERROR_CODE_FOCUS_NON_EXISTENT = 150003, 2033 /** 2034 * @error The snapshot taking is timeout. 2035 * @since 15 2036 */ 2037 ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT = 160002, 2038 /** The component is not a scroll container. */ 2039 ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER = 180001, 2040 /** The buffer is not large enough. */ 2041 ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH = 180002, 2042 /** 2043 * @error The event is not a clone event. 2044 * @since 15 2045 */ 2046 ARKUI_ERROR_CODE_NOT_CLONED_POINTER_EVENT = 180003, 2047 /** 2048 * @error The component status is abnormal. 2049 * @since 15 2050 */ 2051 ARKUI_ERROR_CODE_POST_CLONED_COMPONENT_STATUS_ABNORMAL = 180004, 2052 /** 2053 * @error No component hit to respond to the event. 2054 * @since 15 2055 */ 2056 ARKUI_ERROR_CODE_POST_CLONED_NO_COMPONENT_HIT_TO_RESPOND_TO_THE_EVENT = 180005, 2057 /** 2058 * @error invalid styled string. 2059 * @since 14 2060 */ 2061 ARKUI_ERROR_CODE_INVALID_STYLED_STRING = 180101, 2062 } ArkUI_ErrorCode; 2063 2064 /** 2065 * @brief Defines the playback status for the image animator. 2066 * 2067 * @since 12 2068 */ 2069 typedef enum { 2070 /** The animation is in the initial state. */ 2071 ARKUI_ANIMATION_STATUS_INITIAL, 2072 /** The animation is being played. */ 2073 ARKUI_ANIMATION_STATUS_RUNNING, 2074 /** The animation is paused. */ 2075 ARKUI_ANIMATION_STATUS_PAUSED, 2076 /** The animation is stopped. */ 2077 ARKUI_ANIMATION_STATUS_STOPPED, 2078 } ArkUI_AnimationStatus; 2079 2080 /** 2081 * @brief Defines the status before and after execution of the animation in the current playback direction. 2082 * 2083 * @since 12 2084 */ 2085 typedef enum { 2086 /** Before execution, the animation does not apply any styles to the target component. 2087 * After execution, the animation restores the target component to its default state. */ 2088 ARKUI_ANIMATION_FILL_MODE_NONE, 2089 /** The target component retains the state set by the last keyframe encountered 2090 * during execution of the animation. */ 2091 ARKUI_ANIMATION_FILL_MODE_FORWARDS, 2092 /** The animation applies the values defined in the first relevant keyframe once it is applied to 2093 * the target component, and retains the values during the period set by delay. */ 2094 ARKUI_ANIMATION_FILL_MODE_BACKWARDS, 2095 /** The animation follows the rules for both Forwards and Backwards, 2096 * extending the animation attributes in both directions. */ 2097 ARKUI_ANIMATION_FILL_MODE_BOTH, 2098 } ArkUI_AnimationFillMode; 2099 2100 /** 2101 * @brief Defines the state type for the accessibility checkbox. 2102 * 2103 * @since 12 2104 */ 2105 typedef enum { 2106 /** The Checkbox unchecked. */ 2107 ARKUI_ACCESSIBILITY_UNCHECKED = 0, 2108 /** The Checkbox checked. */ 2109 ARKUI_ACCESSIBILITY_CHECKED, 2110 } ArkUI_AccessibilityCheckedState; 2111 2112 /** 2113 2114 /** 2115 * @brief Enumerates the animation playback modes. 2116 * 2117 * @since 12 2118 */ 2119 typedef enum { 2120 /** The animation plays in forward loop mode. */ 2121 ARKUI_ANIMATION_DIRECTION_NORMAL = 0, 2122 /** The animation plays in reverse loop mode. */ 2123 ARKUI_ANIMATION_DIRECTION_REVERSE, 2124 /** The animation plays in alternating loop mode. When the animation is played for an odd number of times, the 2125 * playback is in forward direction. When the animation is played for an even number of times, the playback is in 2126 * reverse direction. */ 2127 ARKUI_ANIMATION_DIRECTION_ALTERNATE, 2128 /** The animation plays in reverse alternating loop mode. When the animation is played for an odd number of times, 2129 * the playback is in reverse direction. When the animation is played for an even number of times, the playback is 2130 * in forward direction. */ 2131 ARKUI_ANIMATION_DIRECTION_ALTERNATE_REVERSE, 2132 } ArkUI_AnimationDirection; 2133 2134 /** 2135 * @brief Define the rolling source enumeration value. 2136 * 2137 * @since 12 2138 */ 2139 typedef enum { 2140 /** Finger drag. */ 2141 ARKUI_SCROLL_SOURCE_DRAG = 0, 2142 /** Inertial roll after finger drag. */ 2143 ARKUI_SCROLL_SOURCE_FLING, 2144 /** Execute the EdgeEffect.Spring edge effect when crossing the boundary.*/ 2145 ARKUI_SCROLL_SOURCE_EDGE_EFFECT, 2146 /** Other user input other than dragging, such as mouse wheel, keyboard events, etc.*/ 2147 ARKUI_SCROLL_SOURCE_OTHER_USER_INPUT, 2148 /** Drag the scroll bar.*/ 2149 ARKUI_SCROLL_SOURCE_SCROLL_BAR, 2150 /** Inertia scrolling after dragging the scroll bar.*/ 2151 ARKUI_SCROLL_SOURCE_SCROLL_BAR_FLING, 2152 /** The scroll controller causes unanimated scrolling.*/ 2153 ARKUI_SCROLL_SOURCE_SCROLLER, 2154 /** The scroll controller causes the scroll to drive the painting.*/ 2155 ARKUI_SCROLL_SOURCE_ANIMATION, 2156 } ArkUI_ScrollSource; 2157 2158 /** 2159 * @brief Define accessible action types. 2160 * 2161 * @since 12 2162 */ 2163 typedef enum { 2164 /** click action. */ 2165 ARKUI_ACCESSIBILITY_ACTION_CLICK = 1 << 0, 2166 /** long click action. */ 2167 ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK = 1 << 1, 2168 /** cut action. */ 2169 ARKUI_ACCESSIBILITY_ACTION_CUT = 1 << 2, 2170 /** copy action. */ 2171 ARKUI_ACCESSIBILITY_ACTION_COPY = 1 << 3, 2172 /** paste action. */ 2173 ARKUI_ACCESSIBILITY_ACTION_PASTE = 1 << 4, 2174 } ArkUI_AccessibilityActionType; 2175 2176 /** 2177 * @brief Defines the translation options for component transition. 2178 * 2179 * @since 12 2180 */ 2181 typedef struct { 2182 /** Translation distance along the x-axis. */ 2183 float x; 2184 /** Translation distance along the y-axis. */ 2185 float y; 2186 /** Translation distance along the z-axis. */ 2187 float z; 2188 } ArkUI_TranslationOptions; 2189 2190 /** 2191 * @brief Defines the scaling options for component transition. 2192 * 2193 * @since 12 2194 */ 2195 typedef struct { 2196 /** Scale ratio along the x-axis. */ 2197 float x; 2198 /** Scale ratio along the y-axis. */ 2199 float y; 2200 /** Scale factor along the z-axis (not effective for the current 2D graphics). */ 2201 float z; 2202 /** X coordinate of the center point. */ 2203 float centerX; 2204 /** Y coordinate of the center point. */ 2205 float centerY; 2206 } ArkUI_ScaleOptions; 2207 2208 /** 2209 * @brief Defines the rotation options for component transition. 2210 * 2211 * @since 12 2212 */ 2213 typedef struct { 2214 /** X-component of the rotation vector. */ 2215 float x; 2216 /** Y-component of the rotation vector. */ 2217 float y; 2218 /** Z-component of the rotation vector. */ 2219 float z; 2220 /** Rotation angle. */ 2221 float angle; 2222 /** X coordinate of the center point. */ 2223 float centerX; 2224 /** Y coordinate of the center point. */ 2225 float centerY; 2226 /** Z-axis anchor, that is, the z-component of the 3D rotation center point. */ 2227 float centerZ; 2228 /** Distance from the user to the z=0 plane. */ 2229 float perspective; 2230 } ArkUI_RotationOptions; 2231 2232 /** 2233 * @brief Defines a struct for the measurement information of a custom span. 2234 * 2235 * @since 12 2236 */ 2237 typedef struct ArkUI_CustomSpanMeasureInfo ArkUI_CustomSpanMeasureInfo; 2238 2239 /** 2240 * @brief Defines a struct for the measurement metrics of a custom span. 2241 * 2242 * @since 12 2243 */ 2244 typedef struct ArkUI_CustomSpanMetrics ArkUI_CustomSpanMetrics; 2245 2246 /** 2247 * @brief Defines a struct for the drawing information of a custom span. 2248 * 2249 * @since 12 2250 */ 2251 typedef struct ArkUI_CustomSpanDrawInfo ArkUI_CustomSpanDrawInfo; 2252 2253 /** 2254 * @brief Defines the state of the NavDestination component. 2255 * 2256 * @since 12 2257 */ 2258 typedef enum { 2259 /** The NavDestination show. */ 2260 ARKUI_NAV_DESTINATION_STATE_ON_SHOW = 0, 2261 /** The NavDestination hide. */ 2262 ARKUI_NAV_DESTINATION_STATE_ON_HIDE = 1, 2263 /** The NavDestination is mounted to the component tree. */ 2264 ARKUI_NAV_DESTINATION_STATE_ON_APPEAR = 2, 2265 /** The NavDestination removed from the component tree. */ 2266 ARKUI_NAV_DESTINATION_STATE_ON_DISAPPEAR = 3, 2267 /** Before the NavDestination show. */ 2268 ARKUI_NAV_DESTINATION_STATE_ON_WILL_SHOW = 4, 2269 /** Before the NavDestination hide. */ 2270 ARKUI_NAV_DESTINATION_STATE_ON_WILL_HIDE = 5, 2271 /** Before the NavDestination mount to the component tree. */ 2272 ARKUI_NAV_DESTINATION_STATE_ON_WILL_APPEAR = 6, 2273 /** Before the NavDestination removed from the component tree. */ 2274 ARKUI_NAV_DESTINATION_STATE_ON_WILL_DISAPPEAR = 7, 2275 /** The NavDestination returns from the component.*/ 2276 ARKUI_NAV_DESTINATION_STATE_ON_BACK_PRESS = 100, 2277 } ArkUI_NavDestinationState; 2278 2279 /** 2280 * @brief Define the state of Router Page. 2281 * 2282 * @since 12 2283 */ 2284 typedef enum { 2285 /** The Router Page is about to be created. */ 2286 ARKUI_ROUTER_PAGE_STATE_ABOUT_TO_APPEAR = 0, 2287 /** The Router Page is about to be destroyed. */ 2288 ARKUI_ROUTER_PAGE_STATE_ABOUT_TO_DISAPPEAR = 1, 2289 /** The Router Page show. */ 2290 ARKUI_ROUTER_PAGE_STATE_ON_SHOW = 2, 2291 /** The Router Page hide. */ 2292 ARKUI_ROUTER_PAGE_STATE_ON_HIDE = 3, 2293 /** The Router Page returns. */ 2294 ARKUI_ROUTER_PAGE_STATE_ON_BACK_PRESS = 4, 2295 } ArkUI_RouterPageState; 2296 2297 /** 2298 * @brief defines the enumerated value of the extended security zone. 2299 * 2300 * @since 12 2301 */ 2302 typedef enum { 2303 /** The default security zone includes the status bar and navigation bar. */ 2304 ARKUI_SAFE_AREA_TYPE_SYSTEM = 1, 2305 /** Non-secure areas of the device, such as bangs or hole holes. */ 2306 ARKUI_SAFE_AREA_TYPE_CUTOUT = 1 << 1, 2307 /** Soft keyboard area. */ 2308 ARKUI_SAFE_AREA_TYPE_KEYBOARD = 1 << 2, 2309 } ArkUI_SafeAreaType; 2310 2311 /** 2312 * @brief Define an enum for the areas of the <b>ListItemGroup</b> component. 2313 * 2314 * @since 15 2315 */ 2316 typedef enum { 2317 /** Outside the area of the <b>ListItemGroup</b> component. */ 2318 ARKUI_LIST_ITEM_GROUP_AREA_OUTSIDE = 0, 2319 /** Area when the <b>ListItemGroup</b> component does not have the header, footer, or list item. */ 2320 ARKUI_LIST_ITEM_SWIPE_AREA_NONE, 2321 /** List item area of the <b>ListItemGroup</b> component. */ 2322 ARKUI_LIST_ITEM_SWIPE_AREA_ITEM, 2323 /** Header area of the <b>ListItemGroup</b> component. */ 2324 ARKUI_LIST_ITEM_SWIPE_AREA_HEADER, 2325 /** Footer area of the <b>ListItemGroup</b> component. */ 2326 ARKUI_LIST_ITEM_SWIPE_AREA_FOOTER, 2327 } ArkUI_ListItemGroupArea; 2328 2329 /** 2330 * @brief defines the enumerated value of the direction of the extended security zone. 2331 * 2332 * @since 12 2333 */ 2334 typedef enum { 2335 /** Upper area. */ 2336 ARKUI_SAFE_AREA_EDGE_TOP = 1, 2337 /** Lower area. */ 2338 ARKUI_SAFE_AREA_EDGE_BOTTOM = 1 << 1, 2339 /** Front area. */ 2340 ARKUI_SAFE_AREA_EDGE_START = 1 << 2, 2341 /** Tail area. */ 2342 ARKUI_SAFE_AREA_EDGE_END = 1 << 3, 2343 } ArkUI_SafeAreaEdge; 2344 2345 /** 2346 * @brief defines the enumerated value of the customDialog's keyboard avoid mode. 2347 * 2348 * @since 15 2349 */ 2350 typedef enum { 2351 /** Defines avoid keyboard when keyboard shows. */ 2352 ARKUI_KEYBOARD_AVOID_MODE_DEFAULT = 0, 2353 /** Defines not avoid keyboard when keyboard shows. */ 2354 ARKUI_KEYBOARD_AVOID_MODE_NONE, 2355 } ArkUI_KeyboardAvoidMode; 2356 2357 /** 2358 * @brief defines the enumerated value of area in hover mode. 2359 * 2360 * @since 15 2361 */ 2362 typedef enum { 2363 /** Layout top half screen when the phone in hover mode. */ 2364 ARKUI_HOVER_MODE_AREA_TYPE_TOP = 0, 2365 /** Layout bottom half screen when the phone in hover mode. */ 2366 ARKUI_HOVER_MODE_AREA_TYPE_BOTTOM, 2367 } ArkUI_HoverModeAreaType; 2368 2369 /** 2370 * @brief Enumerates the expand modes. 2371 * 2372 * @since 15 2373 */ 2374 typedef enum { 2375 /** Not expand. */ 2376 ARKUI_NOT_EXPAND = 0, 2377 /** Expand. */ 2378 ARKUI_EXPAND = 1, 2379 /** Lazy expand. Expand the children of node if needed. */ 2380 ARKUI_LAZY_EXPAND = 2, 2381 } ArkUI_ExpandMode; 2382 2383 /** 2384 * @brief Defines parameter used by the system font style callback event. 2385 * 2386 * @since 12 2387 */ 2388 typedef struct ArkUI_SystemFontStyleEvent ArkUI_SystemFontStyleEvent; 2389 2390 /** 2391 * @brief Defines the options for taking snapshot. 2392 * 2393 * @since 15 2394 */ 2395 typedef struct ArkUI_SnapshotOptions ArkUI_SnapshotOptions; 2396 2397 /** 2398 * @brief Creates a size constraint. 2399 * 2400 * @since 12 2401 */ 2402 ArkUI_LayoutConstraint* OH_ArkUI_LayoutConstraint_Create(); 2403 2404 /** 2405 * @brief Creates a deep copy of a size constraint. 2406 * 2407 * @param Constraint Indicates the pointer to the size constraint. 2408 * @return Returns the pointer to the new size constraint. 2409 * @since 12 2410 */ 2411 ArkUI_LayoutConstraint* OH_ArkUI_LayoutConstraint_Copy(const ArkUI_LayoutConstraint* Constraint); 2412 2413 /** 2414 * @brief Destroys the pointer to a size constraint. 2415 * 2416 * @param Constraint Indicates the pointer to the size constraint. 2417 * @since 12 2418 */ 2419 void* OH_ArkUI_LayoutConstraint_Dispose(ArkUI_LayoutConstraint* Constraint); 2420 2421 /** 2422 * @brief Obtains the maximum width for a size constraint, in px. 2423 * 2424 * @param Constraint Indicates the pointer to the size constraint. 2425 * @return Returns the maximum width. 2426 * @since 12 2427 */ 2428 int32_t OH_ArkUI_LayoutConstraint_GetMaxWidth(const ArkUI_LayoutConstraint* Constraint); 2429 2430 /** 2431 * @brief Obtains the minimum width for a size constraint, in px. 2432 * 2433 * @param Constraint Indicates the pointer to the size constraint. 2434 * @return Returns the minimum width. 2435 * @since 12 2436 */ 2437 int32_t OH_ArkUI_LayoutConstraint_GetMinWidth(const ArkUI_LayoutConstraint* Constraint); 2438 2439 /** 2440 * @brief Obtains the maximum height for a size constraint, in px. 2441 * 2442 * @param Constraint Indicates the pointer to the size constraint. 2443 * @return Returns the maximum height. 2444 * @since 12 2445 */ 2446 int32_t OH_ArkUI_LayoutConstraint_GetMaxHeight(const ArkUI_LayoutConstraint* Constraint); 2447 2448 /** 2449 * @brief Obtains the minimum height for a size constraint, in px. 2450 * 2451 * @param Constraint Indicates the pointer to the size constraint. 2452 * @return Returns the minimum height. 2453 * @since 12 2454 */ 2455 int32_t OH_ArkUI_LayoutConstraint_GetMinHeight(const ArkUI_LayoutConstraint* Constraint); 2456 2457 /** 2458 * @brief Obtains the width percentage reference for a size constraint, in px. 2459 * 2460 * @param Constraint Indicates the pointer to the size constraint. 2461 * @return Returns the width percentage reference. 2462 * @since 12 2463 */ 2464 int32_t OH_ArkUI_LayoutConstraint_GetPercentReferenceWidth(const ArkUI_LayoutConstraint* Constraint); 2465 2466 /** 2467 * @brief Obtains the height percentage reference for a size constraint, in px. 2468 * 2469 * @param Constraint Indicates the pointer to the size constraint. 2470 * @return Returns the height percentage reference. 2471 * @since 12 2472 */ 2473 int32_t OH_ArkUI_LayoutConstraint_GetPercentReferenceHeight(const ArkUI_LayoutConstraint* Constraint); 2474 2475 /** 2476 * @brief Sets the maximum width. 2477 * 2478 * @param Constraint Indicates the pointer to the size constraint. 2479 * @param value Indicates the maximum width, in px. 2480 * @since 12 2481 */ 2482 void OH_ArkUI_LayoutConstraint_SetMaxWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2483 2484 /** 2485 * @brief Sets the minimum width. 2486 * 2487 * @param Constraint Indicates the pointer to the size constraint. 2488 * @param value Indicates the minimum width, in px. 2489 * @since 12 2490 */ 2491 void OH_ArkUI_LayoutConstraint_SetMinWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2492 2493 /** 2494 * @brief Sets the maximum height. 2495 * 2496 * @param Constraint Indicates the pointer to the size constraint. 2497 * @param value Indicates the maximum height, in px. 2498 * @since 12 2499 */ 2500 void OH_ArkUI_LayoutConstraint_SetMaxHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2501 2502 /** 2503 * @brief Sets the minimum height. 2504 * 2505 * @param Constraint Indicates the pointer to the size constraint. 2506 * @param value Indicates the minimum height, in px. 2507 * @since 12 2508 */ 2509 void OH_ArkUI_LayoutConstraint_SetMinHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2510 2511 /** 2512 * @brief Sets the width percentage reference. 2513 * 2514 * @param Constraint Indicates the pointer to the size constraint. 2515 * @param value Indicates the width percentage reference, in px. 2516 * @since 12 2517 */ 2518 void OH_ArkUI_LayoutConstraint_SetPercentReferenceWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2519 2520 /** 2521 * @brief Sets the height percentage reference. 2522 * 2523 * @param Constraint Indicates the pointer to the size constraint. 2524 * @param value Indicates the height percentage reference, in px. 2525 * @since 12 2526 */ 2527 void OH_ArkUI_LayoutConstraint_SetPercentReferenceHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2528 2529 /** 2530 * @brief Obtains the pointer to a canvas for drawing, which can be converted into the <b>OH_Drawing_Canvas</b> pointer 2531 * in the <b>Drawing</b> module. 2532 * 2533 * @param context Indicates the pointer to the drawing context. 2534 * @return Returns the pointer to the canvas for drawing. 2535 * @since 12 2536 */ 2537 void* OH_ArkUI_DrawContext_GetCanvas(ArkUI_DrawContext* context); 2538 2539 /** 2540 * @brief Obtains the size of a drawing area. 2541 * 2542 * @param context Indicates the pointer to the drawing context. 2543 * @return Returns the size of the drawing area. 2544 * @since 12 2545 */ 2546 ArkUI_IntSize OH_ArkUI_DrawContext_GetSize(ArkUI_DrawContext* context); 2547 2548 /** 2549 * @brief Creates water flow section configuration. 2550 * 2551 * @return Returns the water flow section configuration. 2552 * @since 12 2553 */ 2554 ArkUI_WaterFlowSectionOption* OH_ArkUI_WaterFlowSectionOption_Create(); 2555 2556 /** 2557 * @brief Destroys the pointer to a water flow section configuration. 2558 * 2559 * @param option Indicates the pointer to a water flow section configuration. 2560 * @since 12 2561 */ 2562 void OH_ArkUI_WaterFlowSectionOption_Dispose(ArkUI_WaterFlowSectionOption* option); 2563 2564 /** 2565 * @brief Sets the FlowItem block configuration information array length. 2566 * 2567 * @param option FlowItem Indicates the packet configuration. 2568 * @param size Array Length. 2569 * @since 12 2570 */ 2571 void OH_ArkUI_WaterFlowSectionOption_SetSize(ArkUI_WaterFlowSectionOption* option, int32_t size); 2572 2573 /** 2574 * @brief Gets the FlowItem grouping configuration information array length. 2575 * 2576 * @param option FlowItem Indicates the packet configuration. 2577 * @return Array size. If -1 is returned, the return fails. 2578 * The possible cause of the failure is that the option parameter is abnormal, such as a null pointer. 2579 * @since 12 2580 */ 2581 int32_t OH_ArkUI_WaterFlowSectionOption_GetSize(ArkUI_WaterFlowSectionOption* option); 2582 2583 /** 2584 * @brief Sets the number of items in a water flow section. 2585 * 2586 * @param option Indicates the pointer to a water flow section configuration. 2587 * @param index Indicates the index of the target water flow section. 2588 * @param itemCount Indicates the number of items in the water flow section. 2589 * @since 12 2590 */ 2591 void OH_ArkUI_WaterFlowSectionOption_SetItemCount(ArkUI_WaterFlowSectionOption* option, 2592 int32_t index, int32_t itemCount); 2593 2594 /** 2595 * @brief Obtains the number of items in the water flow section that matches the specified index. 2596 * 2597 * @param option Indicates the pointer to a water flow section configuration. 2598 * @param index Indicates the index of the target water flow section. 2599 * @return Returns the number of items in the water flow section. 2600 * @since 12 2601 */ 2602 int32_t OH_ArkUI_WaterFlowSectionOption_GetItemCount(ArkUI_WaterFlowSectionOption* option, int32_t index); 2603 2604 /** 2605 * @brief The FlowItem grouping configuration information getsthe spindle size of 2606 * the specified Item based on flowItemIndex. 2607 * 2608 * @param option Indicates the pointer to a water flow section configuration. 2609 * @param index Indicates the index of the target water flow section. 2610 * @param callback Gets the spindle size of the specified Item based on index. 2611 * @since 12 2612 */ 2613 void OH_ArkUI_WaterFlowSectionOption_RegisterGetItemMainSizeCallbackByIndex(ArkUI_WaterFlowSectionOption* option, 2614 int32_t index, float(*callback)(int32_t itemIndex)); 2615 2616 /** 2617 * @brief The FlowItem grouping configuration information getsthe spindle size of 2618 * the specified Item based on flowItemIndex. 2619 * 2620 * @param option Indicates the pointer to a water flow section configuration. 2621 * @param index Indicates the index of the target water flow section. 2622 * @param userData FlowItem Custom data. 2623 * @param callback Gets the spindle size of the specified Item based on index. 2624 * @since 12 2625 */ 2626 void OH_ArkUI_WaterFlowSectionOption_RegisterGetItemMainSizeCallbackByIndexWithUserData( 2627 ArkUI_WaterFlowSectionOption* option, int32_t index, void* userData, 2628 float (*callback)(int32_t itemIndex, void* userData)); 2629 2630 /** 2631 * @brief Sets the number of columns (in a vertical layout) or rows (in a horizontal layout) of a water flow. 2632 * 2633 * @param option Indicates the pointer to a water flow section configuration. 2634 * @param index Indicates the index of the target water flow section. 2635 * @param crossCount Indicates the number of columns or rows, depending on the layout direction. 2636 * @since 12 2637 */ 2638 void OH_ArkUI_WaterFlowSectionOption_SetCrossCount( 2639 ArkUI_WaterFlowSectionOption* option, int32_t index, int32_t crossCount); 2640 2641 /** 2642 * @brief Obtains the number of columns (in a vertical layout) or rows (in a horizontal layout) in the water flow section 2643 * that matches the specified index. 2644 * 2645 * @param option Indicates the pointer to a water flow section configuration. 2646 * @param index Indicates the index of the target water flow section. 2647 * @return Returns the number of columns or rows. 2648 * @since 12 2649 */ 2650 int32_t OH_ArkUI_WaterFlowSectionOption_GetCrossCount(ArkUI_WaterFlowSectionOption* option, int32_t index); 2651 2652 /** 2653 * @brief Sets the gap between columns in the specified water flow section. 2654 * 2655 * @param option Indicates the pointer to a water flow section configuration. 2656 * @param index Indicates the index of the target water flow section. 2657 * @param columnGap Indicates the gap between columns to set. 2658 * @since 12 2659 */ 2660 void OH_ArkUI_WaterFlowSectionOption_SetColumnGap(ArkUI_WaterFlowSectionOption* option, 2661 int32_t index, float columnGap); 2662 2663 /** 2664 * @brief Obtains the gap between columns in the water flow section that matches the specified index. 2665 * 2666 * @param option Indicates the pointer to a water flow section configuration. 2667 * @param index Indicates the index of the target water flow section. 2668 * @return Returns the gap between columns. 2669 * @since 12 2670 */ 2671 float OH_ArkUI_WaterFlowSectionOption_GetColumnGap(ArkUI_WaterFlowSectionOption* option, int32_t index); 2672 2673 /** 2674 * @brief Sets the gap between rows in the specified water flow section. 2675 * 2676 * @param option Indicates the pointer to a water flow section configuration. 2677 * @param index Indicates the index of the target water flow section. 2678 * @param rowGap Indicates the gap between rows to set. 2679 * @since 12 2680 */ 2681 void OH_ArkUI_WaterFlowSectionOption_SetRowGap(ArkUI_WaterFlowSectionOption* option, 2682 int32_t index, float rowGap); 2683 2684 /** 2685 * @brief Obtains the gap between rows in the water flow section that matches the specified index. 2686 * 2687 * @param option Indicates the pointer to a water flow section configuration. 2688 * @param index Indicates the index of the target water flow section. 2689 * @return Returns the gap between rows. 2690 * @since 12 2691 */ 2692 float OH_ArkUI_WaterFlowSectionOption_GetRowGap(ArkUI_WaterFlowSectionOption* option, int32_t index); 2693 2694 /** 2695 * @brief Sets the margins for the specified water flow section. 2696 * 2697 * @param option Indicates the pointer to a water flow section configuration. 2698 * @param index Indicates the index of the target water flow section. 2699 * @param marginTop Indicates the top margin of the water flow section. 2700 * @param marginRight Indicates the right margin of the water flow section. 2701 * @param marginBottom Indicates the bottom margin of the water flow section. 2702 * @param marginLeft Indicates the left margin of the water flow section. 2703 * @since 12 2704 */ 2705 void OH_ArkUI_WaterFlowSectionOption_SetMargin(ArkUI_WaterFlowSectionOption* option, int32_t index, 2706 float marginTop, float marginRight, float marginBottom, float marginLeft); 2707 2708 /** 2709 * @brief Obtains the margins of the water flow section that matches the specified index. 2710 * 2711 * @param option Indicates the pointer to a water flow section configuration. 2712 * @param index Indicates the index of the target water flow section. 2713 * @return Returns the margins. 2714 * @since 12 2715 */ 2716 ArkUI_Margin OH_ArkUI_WaterFlowSectionOption_GetMargin(ArkUI_WaterFlowSectionOption* option, int32_t index); 2717 2718 /** 2719 * @brief Creates a navigation indicator. 2720 * 2721 * @param type Indicates the type of the indicator. 2722 * @return Returns the pointer to the new indicator. 2723 * @since 12 2724 */ 2725 ArkUI_SwiperIndicator* OH_ArkUI_SwiperIndicator_Create(ArkUI_SwiperIndicatorType type); 2726 2727 /** 2728 * @brief Destroys the pointer to the indicator. 2729 * 2730 * @param indicator Indicates the pointer to the indicator. 2731 * @since 12 2732 */ 2733 void OH_ArkUI_SwiperIndicator_Dispose(ArkUI_SwiperIndicator* indicator); 2734 2735 /** 2736 * @brief Sets the distance between the navigation point and the start of the swiper. 2737 * 2738 * @param indicator Indicates the pointer to the indicator. 2739 * @param value Indicates the distance between the navigation point and the start of the swiper. 2740 * @since 12 2741 */ 2742 void OH_ArkUI_SwiperIndicator_SetStartPosition(ArkUI_SwiperIndicator* indicator, float value); 2743 2744 /** 2745 * @brief Obtains the distance between the navigation point and the start of the swiper. 2746 * 2747 * @param indicator Indicates the pointer to the indicator. 2748 * @return Returns the distance between the navigation point and the start of the swiper. 2749 * @since 12 2750 */ 2751 float OH_ArkUI_SwiperIndicator_GetStartPosition(ArkUI_SwiperIndicator* indicator); 2752 2753 /** 2754 * @brief Sets the distance between the navigation point and the top of the swiper. 2755 * 2756 * @param indicator Indicates the pointer to the indicator. 2757 * @param value Indicates the distance between the navigation point and the top of the swiper. 2758 * @since 12 2759 */ 2760 void OH_ArkUI_SwiperIndicator_SetTopPosition(ArkUI_SwiperIndicator* indicator, float value); 2761 2762 /** 2763 * @brief Obtains the distance between the navigation point and the top of the swiper. 2764 * 2765 * @param indicator Indicates the pointer to the indicator. 2766 * @return Returns the distance between the navigation point and the top of the swiper. 2767 * @since 12 2768 */ 2769 float OH_ArkUI_SwiperIndicator_GetTopPosition(ArkUI_SwiperIndicator* indicator); 2770 2771 /** 2772 * @brief Sets the distance between the navigation point and the right of the swiper. 2773 * 2774 * @param indicator Indicates the pointer to the indicator. 2775 * @param value Indicates the distance between the navigation point and the right of the swiper. 2776 * @since 12 2777 */ 2778 void OH_ArkUI_SwiperIndicator_SetEndPosition(ArkUI_SwiperIndicator* indicator, float value); 2779 2780 /** 2781 * @brief Obtains the distance between the navigation point and the end of the swiper. 2782 * 2783 * @param indicator Indicates the pointer to the indicator. 2784 * @return Returns the distance between the navigation point and the end of the swiper. 2785 * @since 12 2786 */ 2787 float OH_ArkUI_SwiperIndicator_GetEndPosition(ArkUI_SwiperIndicator* indicator); 2788 2789 /** 2790 * @brief Sets the distance between the navigation point and the bottom of the swiper. 2791 * 2792 * @param indicator Indicates the pointer to the indicator. 2793 * @param value Indicates the distance between the navigation point and the bottom of the swiper. 2794 * @since 12 2795 */ 2796 void OH_ArkUI_SwiperIndicator_SetBottomPosition(ArkUI_SwiperIndicator* indicator, float value); 2797 2798 /** 2799 * @brief Obtains the distance between the navigation point and the bottom of the swiper. 2800 * 2801 * @param indicator Indicates the pointer to the indicator. 2802 * @return Returns the distance between the navigation point and the bottom of the swiper. 2803 * @since 12 2804 */ 2805 float OH_ArkUI_SwiperIndicator_GetBottomPosition(ArkUI_SwiperIndicator* indicator); 2806 2807 /** 2808 * @brief Sets the width of the dot for the dot indicator. 2809 * 2810 * @param indicator Indicates the pointer to the indicator. 2811 * @param value Indicates the width of the dot for the dot indicator. 2812 * @since 12 2813 */ 2814 void OH_ArkUI_SwiperIndicator_SetItemWidth(ArkUI_SwiperIndicator* indicator, float value); 2815 2816 /** 2817 * @brief Obtains the width of the dot for the dot indicator. 2818 * 2819 * @param indicator Indicates the pointer to the indicator. 2820 * @return Returns the width of the dot for the dot indicator. 2821 * @since 12 2822 */ 2823 float OH_ArkUI_SwiperIndicator_GetItemWidth(ArkUI_SwiperIndicator* indicator); 2824 2825 /** 2826 * @brief Sets the height of the dot for the dot indicator. 2827 * 2828 * @param indicator Indicates the pointer to the indicator. 2829 * @param value Indicates the height of the dot for the dot indicator. 2830 * @since 12 2831 */ 2832 void OH_ArkUI_SwiperIndicator_SetItemHeight(ArkUI_SwiperIndicator* indicator, float value); 2833 2834 /** 2835 * @brief Obtains the height of the dot for the dot indicator. 2836 * 2837 * @param indicator Indicates the pointer to the indicator. 2838 * @return Returns the height of the dot for the dot indicator. 2839 * @since 12 2840 */ 2841 float OH_ArkUI_SwiperIndicator_GetItemHeight(ArkUI_SwiperIndicator* indicator); 2842 2843 /** 2844 * @brief Sets the width of the selected dot for the dot indicator. 2845 * 2846 * @param indicator Indicates the pointer to the indicator. 2847 * @param value Indicates the width of the selected dot for the dot indicator. 2848 * @since 12 2849 */ 2850 void OH_ArkUI_SwiperIndicator_SetSelectedItemWidth(ArkUI_SwiperIndicator* indicator, float value); 2851 2852 /** 2853 * @brief Obtains the width of the selected dot for the dot indicator. 2854 * 2855 * @param indicator Indicates the pointer to the indicator. 2856 * @return Returns the width of the selected dot for the dot indicator. 2857 * @since 12 2858 */ 2859 float OH_ArkUI_SwiperIndicator_GetSelectedItemWidth(ArkUI_SwiperIndicator* indicator); 2860 2861 /** 2862 * @brief Sets the height of the selected dot for the dot indicator. 2863 * 2864 * @param indicator Indicates the pointer to the indicator. 2865 * @param value Indicates the height of the selected dot for the dot indicator. 2866 * @since 12 2867 */ 2868 void OH_ArkUI_SwiperIndicator_SetSelectedItemHeight(ArkUI_SwiperIndicator* indicator, float value); 2869 2870 /** 2871 * @brief Obtains the height of the selected dot for the dot indicator. 2872 * 2873 * @param indicator Indicates the pointer to the indicator. 2874 * @return Returns the height of the selected dot for the dot indicator. 2875 * @since 12 2876 */ 2877 float OH_ArkUI_SwiperIndicator_GetSelectedItemHeight(ArkUI_SwiperIndicator* indicator); 2878 2879 /** 2880 * @brief Sets whether to display the mask style of the dot navigation indicator. 2881 * 2882 * @param indicator Indicates the pointer to the indicator. 2883 * @param mask Whether to display the mask style. True means to display. 2884 * @since 12 2885 */ 2886 void OH_ArkUI_SwiperIndicator_SetMask(ArkUI_SwiperIndicator* indicator, int32_t mask); 2887 2888 /** 2889 * @brief Obtains whether to display the mask style of the dot navigation indicator. 2890 * 2891 * @param indicator Indicates the pointer to the indicator. 2892 * @return Returns whether to display the mask style. True means to display. 2893 * @since 12 2894 */ 2895 int32_t OH_ArkUI_SwiperIndicator_GetMask(ArkUI_SwiperIndicator* indicator); 2896 2897 /** 2898 * @brief Sets the color of the dot navigation indicator. 2899 * 2900 * @param indicator Indicates the pointer to the indicator. 2901 * @param color the color of the dot navigation indicator, in 0xARGB format. 2902 * @since 12 2903 */ 2904 void OH_ArkUI_SwiperIndicator_SetColor(ArkUI_SwiperIndicator* indicator, uint32_t color); 2905 2906 /** 2907 * @brief Obtains the color of the dot navigation indicator. 2908 * 2909 * @param indicator Indicates the pointer to the indicator. 2910 * @return Returns the color of the dot navigation indicator, in 0xARGB format. 2911 * @since 12 2912 */ 2913 uint32_t OH_ArkUI_SwiperIndicator_GetColor(ArkUI_SwiperIndicator* indicator); 2914 2915 /** 2916 * @brief Sets the color of the selected dot for the navigation indicator. 2917 * 2918 * @param indicator Indicates the pointer to the indicator. 2919 * @param color the color of the selected dot, in 0xARGB format. 2920 * @since 12 2921 */ 2922 void OH_ArkUI_SwiperIndicator_SetSelectedColor(ArkUI_SwiperIndicator* indicator, uint32_t selectedColor); 2923 2924 /** 2925 * @brief Obtains the color of the selected dot for the dot navigation indicator. 2926 * 2927 * @param indicator Indicates the pointer to the indicator. 2928 * @return Returns the color of the selected dot, in 0xARGB format. 2929 * @since 12 2930 */ 2931 uint32_t OH_ArkUI_SwiperIndicator_GetSelectedColor(ArkUI_SwiperIndicator* indicator); 2932 2933 /** 2934 * @brief Sets the number of maxDisplayCount for the dot navigation indicator. 2935 * 2936 * @param indicator Indicates the pointer to the indicator. 2937 * @param maxDisplayCount the maxDisplayCount of the navigation dot, span is 6-9. 2938 * @return {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 2939 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} indicator is null or maxDisplayCount less then 6 or 2940 * maxDisplayCount more then 9 2941 * @since 12 2942 */ 2943 int32_t OH_ArkUI_SwiperIndicator_SetMaxDisplayCount(ArkUI_SwiperIndicator* indicator, int32_t maxDisplayCount); 2944 2945 /** 2946 * @brief Obtains the number of maxDisplayCount for the dot navigation indicator. 2947 * 2948 * @param indicator Indicates the pointer to the indicator. 2949 * @return Returns the number of the maxDisplayCount, span is 6-9. 2950 * 0 - indicator is null 2951 * @since 12 2952 */ 2953 int32_t OH_ArkUI_SwiperIndicator_GetMaxDisplayCount(ArkUI_SwiperIndicator* indicator); 2954 2955 /** 2956 * @brief Create auxiliary line information in the RelativeContaine container. 2957 * 2958 * @param size The number of auxiliary lines. 2959 * @return auxiliary line information. 2960 * @since 12 2961 */ 2962 ArkUI_GuidelineOption* OH_ArkUI_GuidelineOption_Create(int32_t size); 2963 2964 /** 2965 * @brief Destroy auxiliary line information. 2966 * 2967 * @param guideline auxiliary line information. 2968 * @since 12 2969 */ 2970 void OH_ArkUI_GuidelineOption_Dispose(ArkUI_GuidelineOption* guideline); 2971 2972 /** 2973 * @brief Set the Id of the auxiliary line. 2974 * 2975 * @param guideline auxiliary line information. 2976 * @param value id, must be unique and cannot have the same name as the component in the container. 2977 * @param index auxiliary line index value. 2978 * @since 12 2979 */ 2980 void OH_ArkUI_GuidelineOption_SetId(ArkUI_GuidelineOption* guideline, const char* value, int32_t index); 2981 2982 /** 2983 * @brief Set the direction of the auxiliary line. 2984 * 2985 * @param guideline auxiliary line information. 2986 * @param value direction. 2987 * @param index auxiliary line index value. 2988 * @since 12 2989 */ 2990 void OH_ArkUI_GuidelineOption_SetDirection(ArkUI_GuidelineOption* guideline, ArkUI_Axis value, int32_t index); 2991 2992 /** 2993 * @brief Set the distance from the left or top of the container. 2994 * 2995 * @param guideline auxiliary line information. 2996 * @param value The distance from the left or top of the container. 2997 * @param index auxiliary line index value. 2998 * @since 12 2999 */ 3000 void OH_ArkUI_GuidelineOption_SetPositionStart(ArkUI_GuidelineOption* guideline, float value, int32_t index); 3001 3002 /** 3003 * @brief Set the distance from the right or bottom of the container. 3004 * 3005 * @param guideline auxiliary line information. 3006 * @param value The distance from the right side or bottom of the container. 3007 * @param index auxiliary line index value. 3008 * @since 12 3009 */ 3010 void OH_ArkUI_GuidelineOption_SetPositionEnd(ArkUI_GuidelineOption* guideline, float value, int32_t index); 3011 3012 /** 3013 * @brief Get the Id of the auxiliary line. 3014 * 3015 * @param guideline auxiliary line information. 3016 * @param index auxiliary line index value. 3017 * @return Id. 3018 * @since 12 3019 */ 3020 const char* OH_ArkUI_GuidelineOption_GetId(ArkUI_GuidelineOption* guideline, int32_t index); 3021 3022 /** 3023 * @brief Get the direction of the auxiliary line. 3024 * 3025 * @param guideline auxiliary line information. 3026 * @param index auxiliary line index value. 3027 * @return direction. 3028 * @since 12 3029 */ 3030 ArkUI_Axis OH_ArkUI_GuidelineOption_GetDirection(ArkUI_GuidelineOption* guideline, int32_t index); 3031 3032 /** 3033 * @brief Get the distance from the left or top of the container. 3034 * 3035 * @param guideline auxiliary line information. 3036 * @param index auxiliary line index value. 3037 * @return The distance from the left or top of the container. 3038 * @since 12 3039 */ 3040 float OH_ArkUI_GuidelineOption_GetPositionStart(ArkUI_GuidelineOption* guideline, int32_t index); 3041 3042 /** 3043 * @brief Get the distance from the right side or bottom of the container. 3044 * 3045 * @param guideline auxiliary line information. 3046 * @param index auxiliary line index value. 3047 * @return The distance from the right side or bottom of the container. 3048 * @since 12 3049 */ 3050 float OH_ArkUI_GuidelineOption_GetPositionEnd(ArkUI_GuidelineOption* guideline, int32_t index); 3051 3052 /** 3053 * @brief creates barrier information within the RelativeContaine container. 3054 * 3055 * @param size Number of barriers. 3056 * @return barrier information. 3057 * @since 12 3058 */ 3059 ArkUI_BarrierOption* OH_ArkUI_BarrierOption_Create(int32_t size); 3060 3061 /** 3062 * @brief Destroy barrier information. 3063 * 3064 * @param barrierStyle barrier information. 3065 * @since 12 3066 */ 3067 void OH_ArkUI_BarrierOption_Dispose(ArkUI_BarrierOption* barrierStyle); 3068 3069 /** 3070 * @brief Set the Id of the barrier. 3071 * 3072 * @param barrierStyle barrier information. 3073 * @param value id, must be unique and cannot have the same name as the component in the container. 3074 * @param index Barrier index value. 3075 * @since 12 3076 */ 3077 void OH_ArkUI_BarrierOption_SetId(ArkUI_BarrierOption* barrierStyle, const char* value, int32_t index); 3078 3079 /** 3080 * @brief Set the direction of the barrier. 3081 * 3082 * @param barrierStyle barrier information. 3083 * @param value direction. 3084 * @param index Barrier index value. 3085 * @since 12 3086 */ 3087 void OH_ArkUI_BarrierOption_SetDirection( 3088 ArkUI_BarrierOption* barrierStyle, ArkUI_BarrierDirection value, int32_t index); 3089 3090 /** 3091 * @brief Sets the dependent component of the barrier. 3092 * 3093 * @param barrierStyle barrier information. 3094 * @param value The ID of the dependent component. 3095 * @param index Barrier index value. 3096 * @since 12 3097 */ 3098 void OH_ArkUI_BarrierOption_SetReferencedId(ArkUI_BarrierOption* barrierStyle, const char* value, int32_t index); 3099 3100 /** 3101 * @brief Get the Id of the barrier. 3102 * 3103 * @param barrierStyle auxiliary line information. 3104 * @param index auxiliary line index value. 3105 * @return The Id of the barrier. 3106 * @since 12 3107 */ 3108 const char* OH_ArkUI_BarrierOption_GetId(ArkUI_BarrierOption* barrierStyle, int32_t index); 3109 3110 /** 3111 * @brief Gets the direction of the barrier. 3112 * 3113 * @param barrierStyle auxiliary line information. 3114 * @param index auxiliary line index value. 3115 * @return The direction of the barrier. 3116 * @since 12 3117 */ 3118 ArkUI_BarrierDirection OH_ArkUI_BarrierOption_GetDirection(ArkUI_BarrierOption* barrierStyle, int32_t index); 3119 3120 /** 3121 * @brief Get the dependent components of the barrier. 3122 * 3123 * @param barrierStyle auxiliary line information. 3124 * @param index auxiliary line index value. 3125 * @param referencedIndex dependent component Id index value. 3126 * @return The barrier's dependent components. 3127 * @since 12 3128 */ 3129 const char* OH_ArkUI_BarrierOption_GetReferencedId( 3130 ArkUI_BarrierOption* barrierStyle, int32_t index, int32_t referencedIndex); 3131 3132 /** 3133 * @brief Gets the number of dependent components of the barrier. 3134 * 3135 * @param barrierStyle auxiliary line information. 3136 * @param index auxiliary line index value. 3137 * @return The number of dependent components of the barrier. 3138 * @since 12 3139 */ 3140 int32_t OH_ArkUI_BarrierOption_GetReferencedIdSize(ArkUI_BarrierOption* barrierStyle, int32_t index); 3141 3142 /** 3143 * @brief creates alignment rule information for subcomponents in relative containers. 3144 * 3145 * @return Alignment rule information. 3146 * @since 12 3147 */ 3148 ArkUI_AlignmentRuleOption* OH_ArkUI_AlignmentRuleOption_Create(); 3149 3150 /** 3151 * @brief Destroys the alignment rule information of subcomponents in relative containers. 3152 * 3153 * @param option Alignment rule information of subcomponents in the relative container. 3154 * @since 12 3155 */ 3156 void OH_ArkUI_AlignmentRuleOption_Dispose(ArkUI_AlignmentRuleOption* option); 3157 3158 /** 3159 * @brief Set the start alignment parameter. 3160 * 3161 * @param option Alignment rule information of subcomponents in the relative container. 3162 * @param id The id value of the anchor component. 3163 * @param value Alignment relative to the anchor component. 3164 * @since 12 3165 */ 3166 void OH_ArkUI_AlignmentRuleOption_SetStart( 3167 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3168 3169 /** 3170 * @brief Set the end alignment parameter. 3171 * 3172 * @param option Alignment rule information of subcomponents in the relative container. 3173 * @param id The id value of the anchor component. 3174 * @param value Alignment relative to the anchor component. 3175 * @since 12 3176 */ 3177 void OH_ArkUI_AlignmentRuleOption_SetEnd( 3178 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3179 3180 /** 3181 * @brief Set the parameters for horizontal center alignment. 3182 * 3183 * @param option Alignment rule information of subcomponents in the relative container. 3184 * @param id The id value of the anchor component. 3185 * @param value Alignment relative to anchor component 3186 * @since 12 3187 */ 3188 void OH_ArkUI_AlignmentRuleOption_SetCenterHorizontal( 3189 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3190 3191 /** 3192 * @brief Set the parameters for top alignment. 3193 * 3194 * @param option Alignment rule information of subcomponents in the relative container. 3195 * @param id The id value of the anchor component. 3196 * @param value Alignment relative to anchor component 3197 * @since 12 3198 */ 3199 void OH_ArkUI_AlignmentRuleOption_SetTop(ArkUI_AlignmentRuleOption* option, const char* id, 3200 ArkUI_VerticalAlignment alignment); 3201 3202 /** 3203 * @brief Set the bottom alignment parameters. 3204 * 3205 * @param option Alignment rule information of subcomponents in the relative container. 3206 * @param id The id value of the anchor component. 3207 * @param value Alignment relative to anchor component 3208 * @since 12 3209 */ 3210 void OH_ArkUI_AlignmentRuleOption_SetBottom( 3211 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_VerticalAlignment alignment); 3212 3213 /** 3214 * @brief Set the parameters for vertical center alignment. 3215 * 3216 * @param option Alignment rule information of subcomponents in the relative container. 3217 * @param id The id value of the anchor component. 3218 * @param value Alignment relative to the anchor component. 3219 * @since 12 3220 */ 3221 void OH_ArkUI_AlignmentRuleOption_SetCenterVertical( 3222 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_VerticalAlignment alignment); 3223 3224 /** 3225 * @brief Sets the horizontal offset parameter of the component under the anchor point constraint. 3226 * 3227 * @param option Alignment rule information of subcomponents in the relative container. 3228 * @param horizontal bias value in the horizontal direction. 3229 * @since 12 3230 */ 3231 void OH_ArkUI_AlignmentRuleOption_SetBiasHorizontal(ArkUI_AlignmentRuleOption* option, float horizontal); 3232 3233 /** 3234 * @brief Set the vertical offset parameter of the component under the anchor point constraint. 3235 * 3236 * @param option Alignment rule information of subcomponents in the relative container. 3237 * @param horizontal bias value in the vertical direction. 3238 * @since 12 3239 */ 3240 void OH_ArkUI_AlignmentRuleOption_SetBiasVertical(ArkUI_AlignmentRuleOption* option, float vertical); 3241 3242 /** 3243 * @brief Get the Id of the start-aligned parameter. 3244 * 3245 * @param option Alignment rule information of subcomponents in the relative container. 3246 * @return The id value of the anchor component. 3247 * @since 12 3248 */ 3249 const char* OH_ArkUI_AlignmentRuleOption_GetStartId(ArkUI_AlignmentRuleOption* option); 3250 3251 /** 3252 * @brief Gets the alignment of the start-aligned parameter. 3253 * 3254 * @param option Alignment rule information of subcomponents in the relative container. 3255 * @return The alignment of the parameters. 3256 * @since 12 3257 */ 3258 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetStartAlignment(ArkUI_AlignmentRuleOption* option); 3259 3260 /** 3261 * @brief Get the end alignment parameter. 3262 * 3263 * @param option Alignment rule information of subcomponents in the relative container. 3264 * @return End-aligned parameter id. 3265 * @since 12 3266 */ 3267 const char* OH_ArkUI_AlignmentRuleOption_GetEndId(ArkUI_AlignmentRuleOption* option); 3268 3269 /** 3270 * @brief Get the end alignment parameter. 3271 * 3272 * @param option Alignment rule information of subcomponents in the relative container. 3273 * @return The alignment of the end-aligned parameter. 3274 * @since 12 3275 */ 3276 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetEndAlignment(ArkUI_AlignmentRuleOption* option); 3277 3278 /** 3279 * @brief Gets the parameters of horizontal center alignment. 3280 * 3281 * @param option Alignment rule information of subcomponents in the relative container. 3282 * @return The id of the parameter of horizontal center alignment. 3283 * @since 12 3284 */ 3285 const char* OH_ArkUI_AlignmentRuleOption_GetCenterIdHorizontal(ArkUI_AlignmentRuleOption* option); 3286 3287 /** 3288 * @brief Gets the parameters of horizontal center alignment. 3289 * 3290 * @param option Alignment rule information of subcomponents in the relative container. 3291 * @return The alignment of the horizontally centered alignment parameter. 3292 * @since 12 3293 */ 3294 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetCenterAlignmentHorizontal(ArkUI_AlignmentRuleOption* option); 3295 3296 /** 3297 * @brief Get the top-aligned parameters. 3298 * 3299 * @param option Alignment rule information of subcomponents in the relative container. 3300 * @return Top aligned parameter id. 3301 * @since 12 3302 */ 3303 const char* OH_ArkUI_AlignmentRuleOption_GetTopId(ArkUI_AlignmentRuleOption* option); 3304 3305 /** 3306 * @brief Get the top-aligned parameters. 3307 * 3308 * @param option Alignment rule information of subcomponents in the relative container. 3309 * @return The alignment of the top-aligned parameter. 3310 * @since 12 3311 */ 3312 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetTopAlignment(ArkUI_AlignmentRuleOption* option); 3313 3314 /** 3315 * @brief Get the bottom alignment parameters. 3316 * 3317 * @param option Alignment rule information of subcomponents in the relative container. 3318 * @return The id of the bottom-aligned parameter. 3319 * @since 12 3320 */ 3321 const char* OH_ArkUI_AlignmentRuleOption_GetBottomId(ArkUI_AlignmentRuleOption* option); 3322 3323 /** 3324 * @brief Get the bottom alignment parameters. 3325 * 3326 * @param option Alignment rule information of subcomponents in the relative container. 3327 * @return The alignment of the bottom-aligned parameter. 3328 * @since 12 3329 */ 3330 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetBottomAlignment(ArkUI_AlignmentRuleOption* option); 3331 3332 /** 3333 * @brief Gets the parameters of vertical center alignment. 3334 * 3335 * @param option Alignment rule information of subcomponents in the relative container. 3336 * @return The id of the vertical center alignment parameter. 3337 * @since 12 3338 */ 3339 const char* OH_ArkUI_AlignmentRuleOption_GetCenterIdVertical(ArkUI_AlignmentRuleOption* option); 3340 3341 /** 3342 * @brief Gets the parameters of vertical center alignment. 3343 * 3344 * @param option Alignment rule information of subcomponents in the relative container. 3345 * @return The alignment of the vertical center alignment parameter. 3346 * @since 12 3347 */ 3348 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetCenterAlignmentVertical(ArkUI_AlignmentRuleOption* option); 3349 3350 /** 3351 * @brief Get the bias value in the horizontal direction. 3352 * 3353 * @param option Alignment rule information of subcomponents in the relative container. 3354 * @return The bias value in the horizontal direction. 3355 * @since 12 3356 */ 3357 float OH_ArkUI_AlignmentRuleOption_GetBiasHorizontal(ArkUI_AlignmentRuleOption* option); 3358 3359 /** 3360 * @brief Get the bias value in the vertical direction. 3361 * 3362 * @param option Alignment rule information of subcomponents in the relative container. 3363 * @return bias value in vertical direction. 3364 * @since 12 3365 */ 3366 float OH_ArkUI_AlignmentRuleOption_GetBiasVertical(ArkUI_AlignmentRuleOption* option); 3367 3368 /** 3369 * @brief Create a configuration item for the ListitemSwipeActionItem interface settings. 3370 * 3371 * @return List Item SwipeActionItem configuration item instance. If the object returns a null pointer, 3372 * it indicates creation failure, and the reason for the failure may be that the address space is full. 3373 * @since 12 3374 */ 3375 ArkUI_ListItemSwipeActionItem* OH_ArkUI_ListItemSwipeActionItem_Create(); 3376 3377 /** 3378 * @brief Destroy the ListitemSwipeActionItem instance. 3379 * 3380 * @param option List Item SwipeActionItem instance to be destroyed. 3381 * @since 12 3382 */ 3383 void OH_ArkUI_ListItemSwipeActionItem_Dispose(ArkUI_ListItemSwipeActionItem* item); 3384 3385 /** 3386 * @brief Set the layout content of ListItem SwipeActionItem. 3387 * 3388 * @param option List Item SwipeActionItem instance. 3389 * @param builder Layout information. 3390 * @since 12 3391 */ 3392 void OH_ArkUI_ListItemSwipeActionItem_SetContent(ArkUI_ListItemSwipeActionItem* item, ArkUI_NodeHandle node); 3393 3394 /** 3395 * @brief Set the threshold for long-distance sliding deletion distance of components. 3396 * 3397 * @param option List Item SwipeActionItem instance. 3398 * @param distance Component long-distance sliding deletion distance threshold. 3399 * @since 12 3400 */ 3401 void OH_ArkUI_ListItemSwipeActionItem_SetActionAreaDistance(ArkUI_ListItemSwipeActionItem* item, float distance); 3402 3403 /** 3404 * @brief Obtain the threshold for long-distance sliding deletion distance of components. 3405 * 3406 * @param option List Item SwipeActionItem instance. 3407 * @return Component long-distance sliding deletion distance threshold. If -1.0f is returned, the return fails. 3408 * The possible cause of the failure is that the item parameter is abnormal, such as a null pointer. 3409 * @since 12 3410 */ 3411 float OH_ArkUI_ListItemSwipeActionItem_GetActionAreaDistance(ArkUI_ListItemSwipeActionItem* item); 3412 3413 /** 3414 * @brief Set the event to be called when a sliding entry enters the deletion area. 3415 * 3416 * @param option List Item SwipeActionItem instance. 3417 * @param callback Callback Events. 3418 * @since 12 3419 */ 3420 void OH_ArkUI_ListItemSwipeActionItem_SetOnEnterActionArea(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 3421 3422 /** 3423 * @brief Set the event triggered when a sliding entry enters the deletion area. 3424 * 3425 * @param option List Item SwipeActionItem instance. 3426 * @param userData User defined data. 3427 * @param callback Callback Events. 3428 * @since 12 3429 */ 3430 void OH_ArkUI_ListItemSwipeActionItem_SetOnEnterActionAreaWithUserData(ArkUI_ListItemSwipeActionItem* item, 3431 void* userData, void (*callback)(void* userData)); 3432 3433 /** 3434 * @brief Set the event to be called when a component enters the long-range deletion area and deletes a ListItem. 3435 * 3436 * @param option List Item SwipeActionItem instance. 3437 * @param callback Callback Events. 3438 * @since 12 3439 */ 3440 void OH_ArkUI_ListItemSwipeActionItem_SetOnAction(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 3441 3442 /** 3443 * @brief Set the event triggered when a component enters the long-range deletion area and deletes a ListItem. 3444 * 3445 * @param option List Item SwipeActionItem instance. 3446 * @param userData User defined data. 3447 * @param callback Callback Events. 3448 * @since 12 3449 */ 3450 void OH_ArkUI_ListItemSwipeActionItem_SetOnActionWithUserData(ArkUI_ListItemSwipeActionItem* item, 3451 void* userData, void (*callback)(void* userData)); 3452 3453 /** 3454 * @brief Set the event to be called when a sliding entry exits the deletion area. 3455 * 3456 * @param option List Item SwipeActionItem instance. 3457 * @param callback Callback Events. 3458 * @since 12 3459 */ 3460 void OH_ArkUI_ListItemSwipeActionItem_SetOnExitActionArea(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 3461 3462 /** 3463 * @brief Set the event triggered when a sliding entry exits the deletion area. 3464 * 3465 * @param option List Item SwipeActionItem instance. 3466 * @param userData User defined data. 3467 * @param callback Callback Events. 3468 * @since 12 3469 */ 3470 void OH_ArkUI_ListItemSwipeActionItem_SetOnExitActionAreaWithUserData(ArkUI_ListItemSwipeActionItem* item, 3471 void* userData, void (*callback)(void* userData)); 3472 3473 /** 3474 * @brief Set the event triggered when the sliding state of a list item changes. 3475 * 3476 * @param option List Item SwipeActionItem instance. 3477 * @param callback Callback Events. 3478 * swipeActionState The changed state. 3479 * @since 12 3480 */ 3481 void OH_ArkUI_ListItemSwipeActionItem_SetOnStateChange(ArkUI_ListItemSwipeActionItem* item, 3482 void (*callback)(ArkUI_ListItemSwipeActionState swipeActionState)); 3483 3484 /** 3485 * @brief Set the event triggered when the sliding state of a list item changes. 3486 * 3487 * @param option List Item SwipeActionItem instance. 3488 * @param userData User defined data. 3489 * @param callback Callback Events. 3490 * swipeActionState The changed state. 3491 * @since 12 3492 */ 3493 void OH_ArkUI_ListItemSwipeActionItem_SetOnStateChangeWithUserData(ArkUI_ListItemSwipeActionItem* item, 3494 void* userData, void (*callback)(ArkUI_ListItemSwipeActionState swipeActionState, void* userData)); 3495 3496 /** 3497 * @brief Create a configuration item for the ListitemSwipeActionOption interface settings. 3498 * 3499 * @return List Item SwipeActionOption configuration item instance.If the object returns a null pointer, 3500 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 3501 * @since 12 3502 */ 3503 ArkUI_ListItemSwipeActionOption* OH_ArkUI_ListItemSwipeActionOption_Create(); 3504 3505 /** 3506 * @brief Destroy the ListitemSwipeActionOption instance. 3507 * 3508 * @param option List Item SwipeActionOption instance to be destroyed. 3509 * @since 12 3510 */ 3511 void OH_ArkUI_ListItemSwipeActionOption_Dispose(ArkUI_ListItemSwipeActionOption* option); 3512 3513 /** 3514 * @brief Set the layout content on the left (vertical layout) or top (horizontal layout) 3515 * of the ListItem SwipeActionItem. 3516 * 3517 * @param option List Item SwipeActionItem instance. 3518 * @param builder Layout information. 3519 * @since 12 3520 */ 3521 void OH_ArkUI_ListItemSwipeActionOption_SetStart(ArkUI_ListItemSwipeActionOption* option, 3522 ArkUI_ListItemSwipeActionItem* item); 3523 3524 /** 3525 * @brief Set the layout content on the right (vertical layout) or bottom (horizontal layout) 3526 * of the ListItem SwipeActionItem. 3527 * 3528 * @param option List Item SwipeActionItem instance. 3529 * @param builder Layout information. 3530 * @since 12 3531 */ 3532 void OH_ArkUI_ListItemSwipeActionOption_SetEnd(ArkUI_ListItemSwipeActionOption* option, 3533 ArkUI_ListItemSwipeActionItem* item); 3534 3535 /** 3536 * @brief Set the sliding effect. 3537 * 3538 * @param option List Item SwipeActionItem instance. 3539 * @param edgeEffect Sliding effect. 3540 * @since 12 3541 */ 3542 void OH_ArkUI_ListItemSwipeActionOption_SetEdgeEffect(ArkUI_ListItemSwipeActionOption* option, 3543 ArkUI_ListItemSwipeEdgeEffect edgeEffect); 3544 3545 /** 3546 * @brief Get the sliding effect. 3547 * 3548 * @param option List Item SwipeActionItem instance. 3549 * @return Sliding effect. The default return value is 0. If -1 is returned, the return fails. 3550 * The possible cause of the failure is that the option parameter is abnormal, such as a null pointer. 3551 * @since 12 3552 */ 3553 int32_t OH_ArkUI_ListItemSwipeActionOption_GetEdgeEffect(ArkUI_ListItemSwipeActionOption* option); 3554 3555 /** 3556 * @brief The event called when the sliding operation offset changes. 3557 * 3558 * @param option List Item SwipeActionItem instance. 3559 * @param callback Callback Events. 3560 * offset Slide offset. 3561 * @since 12 3562 */ 3563 void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChange(ArkUI_ListItemSwipeActionOption* option, 3564 void (*callback)(float offset)); 3565 3566 /** 3567 * @brief Set the event triggered when the sliding operation offset changes. 3568 * 3569 * @param option List Item SwipeActionItem instance. 3570 * @param userData User defined data. 3571 * @param callback Callback Events. 3572 * offset Slide offset. 3573 * @since 12 3574 */ 3575 void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChangeWithUserData(ArkUI_ListItemSwipeActionOption* option, 3576 void* userData, void (*callback)(float offset, void* userData)); 3577 3578 /** 3579 * @brief Create configuration items for the ListChildrenMainSize interface settings. 3580 * 3581 * @return ListChildrenMainSize configuration item instance.If the object returns a null pointer, 3582 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 3583 * @since 12 3584 */ 3585 ArkUI_ListChildrenMainSize* OH_ArkUI_ListChildrenMainSizeOption_Create(); 3586 3587 /** 3588 * @brief Destroy the ListChildrenMainSize instance. 3589 * 3590 * @param option The ListChildrenMainSize instance to be destroyed. 3591 * @since 12 3592 */ 3593 void OH_ArkUI_ListChildrenMainSizeOption_Dispose(ArkUI_ListChildrenMainSize* option); 3594 3595 /** 3596 * @brief Set the default size of ChildrenMainSizeOption for the List component. 3597 * 3598 * @param option ListChildrenMainSize instance. 3599 * @param defaultMainSize The default size of the ListItem under the List, measured in vp. 3600 * @return 0 represents success. If defaultMainSize is less than 0 or option is a null pointer, return 401. 3601 * @since 12 3602 */ 3603 int32_t OH_ArkUI_ListChildrenMainSizeOption_SetDefaultMainSize(ArkUI_ListChildrenMainSize* option, 3604 float defaultMainSize); 3605 3606 /** 3607 * @brief Get the default size of ChildrenMainSizeOption for the List component. 3608 * 3609 * @param option ListChildrenMainSize instance. 3610 * @return The default size of the ListItem under the List is 0, measured in vp. 3611 * When the option is a null pointer, it returns -1. 3612 * @since 12 3613 */ 3614 float OH_ArkUI_ListChildrenMainSizeOption_GetDefaultMainSize(ArkUI_ListChildrenMainSize* option); 3615 3616 /** 3617 * @brief Reset the array size of ChildrenMainSizeOption for the List component. 3618 * 3619 * @param option ListChildrenMainSize instance. 3620 * @param totalSize Array size. 3621 * @since 12 3622 */ 3623 void OH_ArkUI_ListChildrenMainSizeOption_Resize(ArkUI_ListChildrenMainSize* option, int32_t totalSize); 3624 3625 /** 3626 * @brief Resize the ChildrenMainSizeOption array operation on the List component. 3627 * 3628 * @param option ListChildrenMainSize instance. 3629 * @param index To modify the starting position of the MainSize array. 3630 * @param deleteCount The number of MainSize arrays to be deleted starting from index. 3631 * @param addCount The number of MainSize arrays to be added starting from index. 3632 * @return 0 represents success. If the function parameter is abnormal, return 401. 3633 * @since 12 3634 */ 3635 int32_t OH_ArkUI_ListChildrenMainSizeOption_Splice(ArkUI_ListChildrenMainSize* option, int32_t index, 3636 int32_t deleteCount, int32_t addCount); 3637 3638 /** 3639 * @brief Update the value of the ChildrenMainSizeOption array in the List component. 3640 * 3641 * @param option ListChildrenMainSize instance. 3642 * @param index To modify the starting position of the MainSize array. 3643 * @param mainSize The actual modified value. 3644 * @return 0 represents success. If the function parameter is abnormal, return 401. 3645 * @since 12 3646 */ 3647 int32_t OH_ArkUI_ListChildrenMainSizeOption_UpdateSize(ArkUI_ListChildrenMainSize* option, 3648 int32_t index, float mainSize); 3649 3650 /** 3651 * @brief Get the value of the ChildrenMainSizeOption array for the List component. 3652 * 3653 * @param option ListChildrenMainSize instance. 3654 * @param index The index position of the value to be obtained. 3655 * @return The value of the specific position of the array. If the function parameter is abnormal, return -1. 3656 * @since 12 3657 */ 3658 float OH_ArkUI_ListChildrenMainSizeOption_GetMainSize(ArkUI_ListChildrenMainSize* option, int32_t index); 3659 3660 /** 3661 * @brief Creates measurement information for this custom span. 3662 * 3663 * @return Returns a <b>CustomSpanMeasureInfo</b> instance. 3664 * <br> If the result returns nullptr, there may be out of memory. 3665 * @since 12 3666 */ 3667 ArkUI_CustomSpanMeasureInfo* OH_ArkUI_CustomSpanMeasureInfo_Create(void); 3668 3669 /** 3670 * @brief Disposes of measurement information of this custom span. 3671 * 3672 * @param info The CustomSpanMeasureInfo instance to be destroyed. 3673 * @since 12 3674 */ 3675 void OH_ArkUI_CustomSpanMeasureInfo_Dispose(ArkUI_CustomSpanMeasureInfo* info); 3676 3677 /** 3678 * @brief Obtains the font size of a custom span. 3679 * 3680 * @param info Indicates the pointer to the measurement information of a custom span. 3681 * @return Returns the font size. If a parameter error occurs, <b>0.0f</b> is returned. 3682 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3683 * @since 12 3684 */ 3685 float OH_ArkUI_CustomSpanMeasureInfo_GetFontSize(ArkUI_CustomSpanMeasureInfo* info); 3686 3687 /** 3688 * @brief Creates measurement metrics for this custom span. 3689 * 3690 * @return Returns a <b>CustomSpanMetrics</b> instance. 3691 * <br> If the result returns nullptr, there may be out of memory. 3692 * @since 12 3693 */ 3694 ArkUI_CustomSpanMetrics* OH_ArkUI_CustomSpanMetrics_Create(void); 3695 3696 /** 3697 * @brief Disposes of measurement metrics of this custom span. 3698 * 3699 * @param info The CustomSpanMetrics instance to be destroyed. 3700 * @since 12 3701 */ 3702 void OH_ArkUI_CustomSpanMetrics_Dispose(ArkUI_CustomSpanMetrics* metrics); 3703 3704 /** 3705 * @brief Sets the width for a custom span. 3706 * 3707 * @param metrics Indicates the pointer to a <b>CustomSpanMetrics</b> instance. 3708 * @param width Indicates the width, in px. The width should be greater than 0. 3709 * @return Returns the result code. 3710 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 3711 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 3712 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3713 * @since 12 3714 */ 3715 int32_t OH_ArkUI_CustomSpanMetrics_SetWidth(ArkUI_CustomSpanMetrics* metrics, float width); 3716 3717 /** 3718 * @brief Sets the height for a custom span. 3719 * 3720 * @param metrics Indicates the pointer to a <b>CustomSpanMetrics</b> instance. 3721 * @param width Indicates the height, in px. The width should be greater than 0. 3722 * @return Returns the result code. 3723 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 3724 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 3725 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3726 * @since 12 3727 */ 3728 int32_t OH_ArkUI_CustomSpanMetrics_SetHeight(ArkUI_CustomSpanMetrics* metrics, float height); 3729 3730 /** 3731 * @brief Creates drawing information for this custom span. 3732 * 3733 * @return Returns a <b>CustomSpanDrawInfo</b> instance. 3734 * <br> If the result returns nullptr, there may be out of memory. 3735 * @since 12 3736 */ 3737 ArkUI_CustomSpanDrawInfo* OH_ArkUI_CustomSpanDrawInfo_Create(void); 3738 3739 /** 3740 * @brief Disposes of drawing information for this custom span. 3741 * 3742 * @param info The CustomSpanDrawInfo instance to be destroyed. 3743 * @since 12 3744 */ 3745 void OH_ArkUI_CustomSpanDrawInfo_Dispose(ArkUI_CustomSpanDrawInfo* info); 3746 3747 /** 3748 * @brief Obtains the x-axis offset of the custom span relative to the mounted component. 3749 * 3750 * @param info Indicates the pointer to the drawing information of a custom span. 3751 * @return Returns the x-axis offset. If a parameter error occurs, <b>0.0f</b> is returned. 3752 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3753 * @since 12 3754 */ 3755 float OH_ArkUI_CustomSpanDrawInfo_GetXOffset(ArkUI_CustomSpanDrawInfo* info); 3756 3757 /** 3758 * @brief Obtains the top margin of the custom span relative to the mounted component. 3759 * 3760 * @param info Indicates the pointer to the drawing information of a custom span. 3761 * @return Returns the top margin. If a parameter error occurs, <b>0.0f</b> is returned. 3762 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3763 * @since 12 3764 */ 3765 float OH_ArkUI_CustomSpanDrawInfo_GetLineTop(ArkUI_CustomSpanDrawInfo* info); 3766 3767 /** 3768 * @brief Obtains the bottom margin of the custom span relative to the mounted component. 3769 * 3770 * @param info Indicates the pointer to the drawing information of a custom span. 3771 * @return Returns the bottom margin. If a parameter error occurs, <b>0.0f</b> is returned. 3772 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3773 * @since 12 3774 */ 3775 float OH_ArkUI_CustomSpanDrawInfo_GetLineBottom(ArkUI_CustomSpanDrawInfo* info); 3776 3777 /** 3778 * @brief Obtains the baseline offset of the custom span relative to the mounted component. 3779 * 3780 * @param info Indicates the pointer to the drawing information of a custom span. 3781 * @return Returns the baseline offset. If a parameter error occurs, <b>0.0f</b> is returned. 3782 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 3783 * @since 12 3784 */ 3785 float OH_ArkUI_CustomSpanDrawInfo_GetBaseline(ArkUI_CustomSpanDrawInfo* info); 3786 3787 /** 3788 * @brief Create a image frame from the image path. 3789 * @param src Indicates the image path. 3790 * @return Returns the pointer to the image frame object. 3791 * If a null pointer is returned, the object fails to be created. The possible cause is that 3792 * the src parameter is abnormal, for example, the pointer is null. 3793 * @since 12 3794 */ 3795 ArkUI_ImageAnimatorFrameInfo* OH_ArkUI_ImageAnimatorFrameInfo_CreateFromString(char* src); 3796 3797 /** 3798 * @brief Create a image frame from the drawable descriptor. 3799 * 3800 * @param drawable Indicates the pointer to the drawable descriptor. 3801 * @return Returns the pointer to the image frame object. 3802 * If a null pointer is returned, the object fails to be created. The possible cause is that 3803 * the drawable parameter is abnormal, for example, the pointer is null. 3804 * @since 12 3805 */ 3806 ArkUI_ImageAnimatorFrameInfo* OH_ArkUI_ImageAnimatorFrameInfo_CreateFromDrawableDescriptor( 3807 ArkUI_DrawableDescriptor* drawable); 3808 3809 /** 3810 * @brief Destroy the pointer to the image frame. 3811 * 3812 * @param imageInfo Indicates the pointer to the image frame. 3813 * @since 12 3814 */ 3815 void OH_ArkUI_ImageAnimatorFrameInfo_Dispose(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3816 3817 /** 3818 * @brief Set the width of the image frame. 3819 * 3820 * @param imageInfo Indicates the pointer to the image frame. 3821 * @param width Indicates the width of the image frame, and the unit is PX. 3822 * @since 12 3823 */ 3824 void OH_ArkUI_ImageAnimatorFrameInfo_SetWidth(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t width); 3825 3826 /** 3827 * @brief Get the width of the image frame. 3828 * 3829 * @param imageInfo Indicates the pointer to the image frame. 3830 * @return Return the width of the image frame, and the unit is PX. Return 0 when the imageInfo is null. 3831 * @since 12 3832 */ 3833 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetWidth(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3834 3835 /** 3836 * @brief Set the height of the image frame. 3837 * 3838 * @param imageInfo Indicates the pointer to the image frame. 3839 * @param height Indicates the height of the image frame, and the unit is PX. 3840 * @since 12 3841 */ 3842 void OH_ArkUI_ImageAnimatorFrameInfo_SetHeight(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t height); 3843 3844 /** 3845 * @brief Get the height of the image frame. 3846 * 3847 * @param imageInfo Indicates the pointer to the image frame. 3848 * @return Return the height of the image frame, and the unit is PX. Return 0 when the imageInfo is null. 3849 * @since 12 3850 */ 3851 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetHeight(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3852 3853 /** 3854 * @brief Set the vertical coordinate of the image relative to the upper left corner of the widget. 3855 * 3856 * @param imageInfo Indicates the pointer to the image frame. 3857 * @param top Indicates the vertical coordinate of the image relative to the upper left corner of the widget, 3858 * and the unit is PX. 3859 * @since 12 3860 */ 3861 void OH_ArkUI_ImageAnimatorFrameInfo_SetTop(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t top); 3862 3863 /** 3864 * @brief Get the vertical coordinate of the image relative to the upper left corner of the widget. 3865 * 3866 * @param imageInfo Indicates the pointer to the image frame. 3867 * @return Returns the vertical coordinate of the image relative to the upper left corner of the widget, 3868 * and the unit is PX. Return 0 when the imageInfo is null. 3869 * @since 12 3870 */ 3871 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetTop(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3872 3873 /** 3874 * @brief Set the horizontal coordinate of the image relative to the upper left corner of the widget. 3875 * 3876 * @param imageInfo Indicates the pointer to the image frame. 3877 * @param left Indicates the horizontal coordinate of the image relative to the upper left corner of the widget, 3878 * and the unit is PX. 3879 * @since 12 3880 */ 3881 void OH_ArkUI_ImageAnimatorFrameInfo_SetLeft(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t left); 3882 3883 /** 3884 * @brief Get the horizontal coordinate of the image relative to the upper left corner of the widget. 3885 * 3886 * @param imageInfo Indicates the pointer to the image frame. 3887 * @return Returns the horizontal coordinate of the image relative to the upper left corner of the widget, 3888 * and the unit is PX. Return 0 when the imageInfo is null. 3889 * @since 12 3890 */ 3891 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetLeft(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3892 3893 /** 3894 * @brief Set the playback duration of the image frame. 3895 * 3896 * @param imageInfo Indicates the pointer to the image frame. 3897 * @param duration Indicates the playback duration of each image frame, and the unit is milliseconds. 3898 * @since 12 3899 */ 3900 void OH_ArkUI_ImageAnimatorFrameInfo_SetDuration(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t duration); 3901 3902 /** 3903 * @brief Get the playback duration of the image frame. 3904 * 3905 * @param imageInfo Indicates the pointer to the image frame. 3906 * @return Returns the playback duration of the image frame, and the unit is milliseconds. 3907 * Return 0 when the imageInfo is null. 3908 * @since 12 3909 */ 3910 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetDuration(ArkUI_ImageAnimatorFrameInfo* imageInfo); 3911 3912 /** 3913 * @brief Create accessibility state. 3914 * 3915 * @return Returns the pointer to the accessibility state object. 3916 * If a null pointer is returned, the object fails to be created. The possible cause is that the address space is full. 3917 * @since 12 3918 */ 3919 ArkUI_AccessibilityState* OH_ArkUI_AccessibilityState_Create(void); 3920 3921 /** 3922 * @brief Dispose accessibility state. 3923 * 3924 * @param state accessibility state object. 3925 * @since 12 3926 */ 3927 void OH_ArkUI_AccessibilityState_Dispose(ArkUI_AccessibilityState* state); 3928 3929 /** 3930 * @brief Set accessibility state disabled. 3931 * 3932 * @param state accessibility state object. 3933 * @param isDisabled accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. 3934 * @since 12 3935 */ 3936 void OH_ArkUI_AccessibilityState_SetDisabled(ArkUI_AccessibilityState* state, int32_t isDisabled); 3937 3938 /** 3939 * @brief Get accessibility state disabled. 3940 * 3941 * @param state accessibility state object. 3942 * @return accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. The default value is 0. 3943 * If the function parameter is abnormal, return the default value. 3944 * @since 12 3945 */ 3946 int32_t OH_ArkUI_AccessibilityState_IsDisabled(ArkUI_AccessibilityState* state); 3947 3948 /** 3949 * @brief Set accessibility state selected. 3950 * 3951 * @param state accessibility state object. 3952 * @param isSelected accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. 3953 * The default value is 0. 3954 * @since 12 3955 */ 3956 void OH_ArkUI_AccessibilityState_SetSelected(ArkUI_AccessibilityState* state, int32_t isSelected); 3957 3958 /** 3959 * @brief Get accessibility state selected. 3960 * 3961 * @param state accessibility state object. 3962 * @return accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. 3963 * The default value is 0. 3964 * If the function parameter is abnormal, return the default value. 3965 * @since 12 3966 */ 3967 int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); 3968 3969 /** 3970 * @brief Set accessibility checked state. 3971 * 3972 * @param state accessibility state object. 3973 * @param checkedState checked state, and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, 3974 * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. 3975 * @since 12 3976 */ 3977 void OH_ArkUI_AccessibilityState_SetCheckedState(ArkUI_AccessibilityState* state, int32_t checkedState); 3978 3979 /** 3980 * @brief Get accessibility checked state. 3981 * 3982 * @param state accessibility state object. 3983 * @return checked state, and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, 3984 * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. 3985 * If the function parameter is abnormal, return the default value. 3986 * @since 12 3987 */ 3988 int32_t OH_ArkUI_AccessibilityState_GetCheckedState(ArkUI_AccessibilityState* state); 3989 3990 /** 3991 * @brief Create accessibility value. 3992 * 3993 * @return Returns the pointer to the accessibility state object. 3994 * If a null pointer is returned, the object fails to be created. The possible cause is that the address space is full. 3995 * @since 12 3996 */ 3997 ArkUI_AccessibilityValue* OH_ArkUI_AccessibilityValue_Create(void); 3998 3999 /** 4000 * @brief Dispose accessibility value. 4001 * 4002 * @param value accessibility value object. 4003 * @since 12 4004 */ 4005 void OH_ArkUI_AccessibilityValue_Dispose(ArkUI_AccessibilityValue* value); 4006 4007 /** 4008 * @brief Set accessibility minimum value. 4009 * 4010 * @param value accessibility value object. 4011 * @param min minimum value based on range components, The default value is -1. 4012 * @since 12 4013 */ 4014 void OH_ArkUI_AccessibilityValue_SetMin(ArkUI_AccessibilityValue* value, int32_t min); 4015 4016 /** 4017 * @brief Get accessibility minimum value. 4018 * 4019 * @param value accessibility value object. 4020 * @return minimum value based on range components, The default value is -1. 4021 * If the function parameter is abnormal, return -1. 4022 * @since 12 4023 */ 4024 int32_t OH_ArkUI_AccessibilityValue_GetMin(ArkUI_AccessibilityValue* value); 4025 4026 /** 4027 * @brief Set accessibility minimum value. 4028 * 4029 * @param value accessibility value object. 4030 * @param max maximum value based on range components, The default value is -1. 4031 * @since 12 4032 */ 4033 void OH_ArkUI_AccessibilityValue_SetMax(ArkUI_AccessibilityValue* value, int32_t max); 4034 4035 /** 4036 * @brief Get accessibility minimum value. 4037 * 4038 * @param value accessibility value object. 4039 * @return maximum value based on range components, The default value is -1. 4040 * If the function parameter is abnormal, return -1. 4041 * @since 12 4042 */ 4043 int32_t OH_ArkUI_AccessibilityValue_GetMax(ArkUI_AccessibilityValue* value); 4044 4045 /** 4046 * @brief Set accessibility current value. 4047 * 4048 * @param value accessibility value object. 4049 * @param current value based on range components, The default value is -1. 4050 * @since 12 4051 */ 4052 void OH_ArkUI_AccessibilityValue_SetCurrent(ArkUI_AccessibilityValue* value, int32_t current); 4053 4054 /** 4055 * @brief Get accessibility current value. 4056 * 4057 * @param value accessibility value object. 4058 * @return current value based on range components, The default value is -1. 4059 * If the function parameter is abnormal, return -1. 4060 * @since 12 4061 */ 4062 int32_t OH_ArkUI_AccessibilityValue_GetCurrent(ArkUI_AccessibilityValue* value); 4063 4064 /** 4065 * @brief Set accessibility text value. 4066 * 4067 * @param value accessibility value object. 4068 * @param text The textual description information of the component, which defaults to an empty string. 4069 * @since 12 4070 */ 4071 void OH_ArkUI_AccessibilityValue_SetText(ArkUI_AccessibilityValue* value, const char* text); 4072 4073 /** 4074 * @brief Get accessibility text value. 4075 * 4076 * @param value accessibility value object. 4077 * @return The textual description information of the component, which defaults to an empty string; 4078 * If the function parameter is abnormal, return null. 4079 * @since 12 4080 */ 4081 const char* OH_ArkUI_AccessibilityValue_GetText(ArkUI_AccessibilityValue* value); 4082 4083 /** 4084 * @brief Destroy the instance of Customs Property. 4085 * 4086 * @param handle The instance of Customs Property to be destroyed. 4087 * @since 14 4088 */ 4089 void OH_ArkUI_CustomProperty_Destroy(ArkUI_CustomProperty* handle); 4090 4091 /** 4092 * @brief Get custom attribute value information. 4093 * 4094 * @param handle Custom attribute object pointer. 4095 * @return Customize the value information within the attribute structure. 4096 * @since 14 4097 */ 4098 const char* OH_ArkUI_CustomProperty_GetStringValue(ArkUI_CustomProperty* handle); 4099 4100 /** 4101 * @brief Get window name from HostWindowInfo. 4102 * 4103 * @param info HostWindowInfo object pointer. 4104 * @return Window name in HostWindowInfo. 4105 * @since 15 4106 */ 4107 const char* OH_ArkUI_HostWindowInfo_GetName(ArkUI_HostWindowInfo* info); 4108 4109 /** 4110 * @brief Destroy the instance of HostWindowInfo. 4111 * 4112 * @param info Instance of HostWindowInfo to be destroyed. 4113 * @since 15 4114 */ 4115 void OH_ArkUI_HostWindowInfo_Destroy(ArkUI_HostWindowInfo* info); 4116 4117 /** 4118 * @brief Destroy ActiveChildenInfo instance. 4119 * 4120 * @param handle ActiveChild instance to be destroyed. 4121 * @since 14 4122 */ 4123 void OH_ArkUI_ActiveChildrenInfo_Destroy(ArkUI_ActiveChildrenInfo* handle); 4124 4125 /** 4126 * @brief Retrieve the child nodes of ActiveChildenInfo with the structure index. 4127 * 4128 * @param handle The ActiveChildenInfo instance for obtaining information. 4129 * @param index The index of child nodes. 4130 * @return The child node pointer corresponding to the index. Return nullptr in case of exception. 4131 * @since 14 4132 */ 4133 ArkUI_NodeHandle OH_ArkUI_ActiveChildrenInfo_GetNodeByIndex(ArkUI_ActiveChildrenInfo* handle, int32_t index); 4134 4135 /** 4136 * @brief Retrieve the number of nodes within the structure of ActiveChildenInfo. 4137 * 4138 * @param handle The ActiveChildenInfo instance for obtaining information. 4139 * @return Number of child nodes. Default value: 0. 4140 * @since 14 4141 */ 4142 int32_t OH_ArkUI_ActiveChildrenInfo_GetCount(ArkUI_ActiveChildrenInfo* handle); 4143 4144 /** 4145 * @brief Create linear progress indicator style information. 4146 * 4147 * @return Returns a <b>ProgressLinearStyleOption</b> instance. 4148 * <br> If the result returns nullptr, there may be out of memory. 4149 * @since 15 4150 */ 4151 ArkUI_ProgressLinearStyleOption* OH_ArkUI_ProgressLinearStyleOption_Create(void); 4152 4153 /** 4154 * @brief Destroy linear progress indicator style information. 4155 * 4156 * @param option Linear progress indicator style information. 4157 * @since 15 4158 */ 4159 void OH_ArkUI_ProgressLinearStyleOption_Destroy(ArkUI_ProgressLinearStyleOption* option); 4160 4161 /** 4162 * @brief Set whether the scan effect is enabled. 4163 * 4164 * @param option Linear progress indicator style information. 4165 * @param enabled Whether to enable the scan effect. Default value: false. 4166 * @since 15 4167 */ 4168 void OH_ArkUI_ProgressLinearStyleOption_SetScanEffectEnabled(ArkUI_ProgressLinearStyleOption* option, bool enabled); 4169 4170 /** 4171 * @brief Set whether smoothing effect is enabled. 4172 * 4173 * @param option Linear progress indicator style information. 4174 * @param enabled Whether to enable the smooth effect. When this effect is enabled, the progress change to 4175 * the set value takes place gradually. Otherwise, it takes place immediately. Default value: true. 4176 * @since 15 4177 */ 4178 void OH_ArkUI_ProgressLinearStyleOption_SetSmoothEffectEnabled(ArkUI_ProgressLinearStyleOption* option, bool enabled); 4179 4180 /** 4181 * @brief Set linear progress indicator stroke width. 4182 * 4183 * @param option Linear progress indicator style information. 4184 * @param strokeWidth Stroke width of the progress indicator. It cannot be set in percentage. 4185 * Default value: 4.0vp. 4186 * @since 15 4187 */ 4188 void OH_ArkUI_ProgressLinearStyleOption_SetStrokeWidth(ArkUI_ProgressLinearStyleOption* option, float strokeWidth); 4189 4190 /** 4191 * @brief Set linear progress indicator stroke radius. 4192 * 4193 * @param option Linear progress indicator style information. 4194 * @param strokeRadius Rounded corner radius of the progress indicator. Value range: [0, strokeWidth/2]. 4195 * Default value: strokeWidth/2. 4196 * @since 15 4197 */ 4198 void OH_ArkUI_ProgressLinearStyleOption_SetStrokeRadius(ArkUI_ProgressLinearStyleOption* option, float strokeRadius); 4199 4200 /** 4201 * @brief Get whether scan effect is enable. 4202 * 4203 * @param option Linear progress indicator style information. 4204 * @return Whether to enable the scan effect. 4205 * @since 15 4206 */ 4207 bool OH_ArkUI_ProgressLinearStyleOption_GetScanEffectEnabled(ArkUI_ProgressLinearStyleOption* option); 4208 4209 /** 4210 * @brief Get whether smoothing effect is enabled. 4211 * 4212 * @param option Linear progress indicator style information. 4213 * @return Whether to enable the smooth effect. 4214 * @since 15 4215 */ 4216 bool OH_ArkUI_ProgressLinearStyleOption_GetSmoothEffectEnabled(ArkUI_ProgressLinearStyleOption* option); 4217 4218 /** 4219 * @brief Get linear progress indicator stroke width. 4220 * 4221 * @param option Linear progress indicator style information. 4222 * @return Stroke width of the progress indicator. 4223 * @since 15 4224 */ 4225 float OH_ArkUI_ProgressLinearStyleOption_GetStrokeWidth(ArkUI_ProgressLinearStyleOption* option); 4226 4227 /** 4228 * @brief Get linear progress indicator stroke radius. 4229 * 4230 * @param option Linear progress indicator style information. 4231 * @return Rounded corner radius of the progress indicator. 4232 * @since 15 4233 */ 4234 float OH_ArkUI_ProgressLinearStyleOption_GetStrokeRadius(ArkUI_ProgressLinearStyleOption* option); 4235 4236 /** 4237 * @brief Creates an option for taking snapshot, the returned value must be released through 4238 * {@link OH_ArkUI_DestroySnapshotOptions} when it's not used anymore. 4239 * 4240 * @return Returns the pointer to the created snapshot options object.If the object returns a null pointer, 4241 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 4242 * @since 15 4243 */ 4244 ArkUI_SnapshotOptions* OH_ArkUI_CreateSnapshotOptions(); 4245 4246 /** 4247 * @brief Dispose a snapshot option object. 4248 * 4249 * @param snapshotOptions Indicates the pointer to the snapshot option. 4250 * @since 15 4251 */ 4252 void OH_ArkUI_DestroySnapshotOptions(ArkUI_SnapshotOptions* snapshotOptions); 4253 4254 /** 4255 * @brief Config the snapshot option with scale. 4256 * 4257 * @param snapshotOptions Indicates the pointer to the snapshot option. 4258 * @param scale Indicates the scale property to take the snapshot. 4259 * @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 4260 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 4261 * @since 15 4262 */ 4263 int32_t OH_ArkUI_SnapshotOptions_SetScale(ArkUI_SnapshotOptions* snapshotOptions, float scale); 4264 4265 /** 4266 * @brief Create a cross-language option instance. 4267 * 4268 * @return Returns a cross-language option instance. If the result is a null pointer, it may be out of memory. 4269 * @since 15 4270 */ 4271 ArkUI_CrossLanguageOption* OH_ArkUI_CrossLanguageOption_Create(void); 4272 4273 /** 4274 * @brief Destroy the cross-language option instance. 4275 * 4276 * @param option The cross-language option instance. 4277 * @since 15 4278 */ 4279 void OH_ArkUI_CrossLanguageOption_Destroy(ArkUI_CrossLanguageOption* option); 4280 4281 /** 4282 * @brief Enable the attribute setting in the cross-language option. 4283 * 4284 * @param option The cross-language option. 4285 * @param enabled The attribute setting in the cross-language option. 4286 * Default value: false. 4287 * @since 15 4288 */ 4289 void OH_ArkUI_CrossLanguageOption_SetAttributeSettingStatus(ArkUI_CrossLanguageOption* option, bool enabled); 4290 4291 /** 4292 * @brief Get the attribute setting enable of the cross-language option. 4293 * 4294 * @param option The cross-language option. 4295 * @return The attribute setting enable of the cross-language option. 4296 * @since 15 4297 */ 4298 bool OH_ArkUI_CrossLanguageOption_GetAttributeSettingStatus(ArkUI_CrossLanguageOption* option); 4299 4300 #ifdef __cplusplus 4301 }; 4302 #endif 4303 4304 #endif // ARKUI_NATIVE_TYPE_H 4305 /** @} */ 4306