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 * @since 12 34 */ 35 36 #ifndef ARKUI_NATIVE_TYPE_H 37 #define ARKUI_NATIVE_TYPE_H 38 39 #ifdef __cplusplus 40 #include <cstdint> 41 #else 42 #include <stdint.h> 43 #endif 44 45 #include "drawable_descriptor.h" 46 47 #ifdef __cplusplus 48 extern "C" { 49 #endif 50 51 /** 52 * @brief Defines the ArkUI native component object. 53 * 54 * @since 12 55 */ 56 struct ArkUI_Node; 57 /** 58 * @brief Defines the custom dialog box controller of ArkUI on the native side. 59 * 60 * @since 12 61 */ 62 struct ArkUI_NativeDialog; 63 64 /** 65 * @brief Sets the size constraints of a component during component layout. 66 * 67 * @since 12 68 */ 69 typedef struct ArkUI_LayoutConstraint ArkUI_LayoutConstraint; 70 71 /** 72 * @brief Defines the structure of the component drawing context. 73 * 74 * @since 12 75 */ 76 typedef struct ArkUI_DrawContext ArkUI_DrawContext; 77 78 /** 79 * @brief Defines the pointer to the ArkUI native component object. 80 * 81 * @since 12 82 */ 83 typedef struct ArkUI_Node* ArkUI_NodeHandle; 84 85 /** 86 * @brief Defines the pointer to the custom dialog box controller of ArkUI on the native side. 87 * 88 * @since 12 89 */ 90 typedef struct ArkUI_NativeDialog* ArkUI_NativeDialogHandle; 91 92 /** 93 * @brief 提供ArkUI native UI的上下文实例对象定义。 94 * 95 * @since 12 96 */ 97 98 struct ArkUI_Context; 99 100 /** 101 * @brief 定义ArkUI native UI的上下文实例对象指针定义。 102 * 103 * @since 12 104 */ 105 typedef struct ArkUI_Context* ArkUI_ContextHandle; 106 107 /** 108 * @brief Defines the pointer type of the ArkUI native node content object. 109 * 110 * @since 12 111 */ 112 typedef struct ArkUI_NodeContent* ArkUI_NodeContentHandle; 113 114 /** 115 * @brief Defines the event callback type. 116 * 117 * @since 12 118 */ 119 typedef struct { 120 /** Custom type. */ 121 void* userData; 122 /** Event callback. */ 123 void (*callback)(void* userData); 124 } ArkUI_ContextCallback; 125 126 /** 127 * @brief Defines the water flow section configuration. 128 * 129 * @since 12 130 */ 131 typedef struct ArkUI_WaterFlowSectionOption ArkUI_WaterFlowSectionOption; 132 133 /** 134 * @brief Define the configuration information of the Item within the ListitemSwipeActionOption method. 135 * 136 * @since 12 137 */ 138 typedef struct ArkUI_ListItemSwipeActionItem ArkUI_ListItemSwipeActionItem; 139 140 /** 141 * @brief Define the configuration information for the ListitemSwipeActionOption method. 142 * 143 * @since 12 144 */ 145 typedef struct ArkUI_ListItemSwipeActionOption ArkUI_ListItemSwipeActionOption; 146 147 /** 148 * @brief 指定设置在相对容器中子组件的对齐规则。 149 * 150 * @since 12 151 */ 152 typedef struct ArkUI_AlignmentRuleOption ArkUI_AlignmentRuleOption; 153 154 /** 155 * @brief guideLine参数,用于定义guideline的id、方向和位置。 156 * 157 * @since 12 158 */ 159 typedef struct ArkUI_GuidelineOption ArkUI_GuidelineOption; 160 161 /** 162 * @brief barrier参数,用于定义barrier的id、方向和生成时所依赖的组件。 163 * 164 * @since 12 165 */ 166 typedef struct ArkUI_BarrierOption ArkUI_BarrierOption; 167 168 /** 169 * @brief Defines the navigation indicator style for the swiper. 170 * 171 * @since 12 172 */ 173 typedef struct ArkUI_SwiperIndicator ArkUI_SwiperIndicator; 174 175 /** 176 * @brief Defines the digital indicator style for the swiper. 177 * 178 * @since 16 179 */ 180 typedef struct ArkUI_SwiperDigitIndicator ArkUI_SwiperDigitIndicator; 181 182 /** 183 * @brief Defines the arrow style for the swiper. 184 * 185 * @since 16 186 */ 187 typedef struct ArkUI_SwiperArrowStyle ArkUI_SwiperArrowStyle; 188 189 /** 190 * @brief Defines formatted string data objects supported by the text component. 191 * 192 * @since 12 193 */ 194 typedef struct ArkUI_StyledString ArkUI_StyledString; 195 196 /** 197 * @brief Defines image animator frame infomation. 198 * 199 * @since 12 200 */ 201 typedef struct ArkUI_ImageAnimatorFrameInfo ArkUI_ImageAnimatorFrameInfo; 202 203 /** 204 * @brief Define the ChildrenMainSize class information for a List. 205 * 206 * @since 12 207 */ 208 typedef struct ArkUI_ListChildrenMainSize ArkUI_ListChildrenMainSize; 209 210 /** 211 * @brief Define the information of the Custom Property class for custom properties. 212 * 213 * @since 14 214 */ 215 typedef struct ArkUI_CustomProperty ArkUI_CustomProperty; 216 217 /** 218 * @brief Define the information of the HostWindowInfo class for window properties. 219 * 220 * @since 15 221 */ 222 typedef struct ArkUI_HostWindowInfo ArkUI_HostWindowInfo; 223 224 /** 225 * @brief Define ActiveChildenInfo class information. 226 * 227 * @since 14 228 */ 229 typedef struct ArkUI_ActiveChildrenInfo ArkUI_ActiveChildrenInfo; 230 231 /** 232 * @brief Set the linear progress indicator style. 233 * 234 * @since 15 235 */ 236 typedef struct ArkUI_ProgressLinearStyleOption ArkUI_ProgressLinearStyleOption; 237 238 /** 239 * @brief The cross-language option. 240 * 241 * @since 15 242 */ 243 typedef struct ArkUI_CrossLanguageOption ArkUI_CrossLanguageOption; 244 245 /** 246 * @brief Declares the Ability base want. 247 * 248 * @since 20 249 */ 250 typedef struct AbilityBase_Want AbilityBase_Want; 251 252 /** 253 * @brief Define the EmbeddedComponentOption for the EmbeddedComponent. 254 * 255 * @since 20 256 */ 257 typedef struct ArkUI_EmbeddedComponentOption ArkUI_EmbeddedComponentOption; 258 259 /** 260 * @brief Provides the number types of ArkUI in the native code. 261 * 262 * @since 12 263 */ 264 typedef union { 265 /** Floating-point type. */ 266 float f32; 267 /** Signed integer. */ 268 int32_t i32; 269 /** Unsigned integer. */ 270 uint32_t u32; 271 } ArkUI_NumberValue; 272 273 /** 274 * @brief Enumerates the alignment modes. 275 * 276 * @since 12 277 */ 278 typedef enum { 279 /** Top start. */ 280 ARKUI_ALIGNMENT_TOP_START = 0, 281 /** Top center. */ 282 ARKUI_ALIGNMENT_TOP, 283 /** Top end. */ 284 ARKUI_ALIGNMENT_TOP_END, 285 /** Vertically centered start. */ 286 ARKUI_ALIGNMENT_START, 287 /** Horizontally and vertically centered. */ 288 ARKUI_ALIGNMENT_CENTER, 289 /** Vertically centered end. */ 290 ARKUI_ALIGNMENT_END, 291 /** Bottom start. */ 292 ARKUI_ALIGNMENT_BOTTOM_START, 293 /** Horizontally centered on the bottom. */ 294 ARKUI_ALIGNMENT_BOTTOM, 295 /** Bottom end. */ 296 ARKUI_ALIGNMENT_BOTTOM_END, 297 } ArkUI_Alignment; 298 299 /** 300 * @brief Enumerates the image repeat patterns. 301 * 302 * @since 12 303 */ 304 typedef enum { 305 /** The image is not repeatedly drawn. */ 306 ARKUI_IMAGE_REPEAT_NONE = 0, 307 /** The image is repeatedly drawn only along the x-axis. */ 308 ARKUI_IMAGE_REPEAT_X, 309 /** The image is repeatedly drawn only along the y-axis. */ 310 ARKUI_IMAGE_REPEAT_Y, 311 /** The image is repeatedly drawn along both axes. */ 312 ARKUI_IMAGE_REPEAT_XY, 313 } ArkUI_ImageRepeat; 314 315 /** 316 * @brief Enumerates the font styles. 317 * 318 * @since 12 319 */ 320 typedef enum { 321 /** Standard font style. */ 322 ARKUI_FONT_STYLE_NORMAL = 0, 323 /** Italic font style. */ 324 ARKUI_FONT_STYLE_ITALIC 325 } ArkUI_FontStyle; 326 327 /** 328 * @brief Enumerates the font weights. 329 * 330 * @since 12 331 */ 332 typedef enum { 333 /** 100 */ 334 ARKUI_FONT_WEIGHT_W100 = 0, 335 /** 200 */ 336 ARKUI_FONT_WEIGHT_W200, 337 /** 300 */ 338 ARKUI_FONT_WEIGHT_W300, 339 /** 400 */ 340 ARKUI_FONT_WEIGHT_W400, 341 /** 500 */ 342 ARKUI_FONT_WEIGHT_W500, 343 /** 600 */ 344 ARKUI_FONT_WEIGHT_W600, 345 /** 700 */ 346 ARKUI_FONT_WEIGHT_W700, 347 /** 800 */ 348 ARKUI_FONT_WEIGHT_W800, 349 /** 900 */ 350 ARKUI_FONT_WEIGHT_W900, 351 /** The font weight is bold. */ 352 ARKUI_FONT_WEIGHT_BOLD, 353 /** The font weight is normal. */ 354 ARKUI_FONT_WEIGHT_NORMAL, 355 /** The font weight is bolder. */ 356 ARKUI_FONT_WEIGHT_BOLDER, 357 /** The font weight is lighter. */ 358 ARKUI_FONT_WEIGHT_LIGHTER, 359 /** The font weight is medium. */ 360 ARKUI_FONT_WEIGHT_MEDIUM, 361 /** The font weight is normal. */ 362 ARKUI_FONT_WEIGHT_REGULAR, 363 } ArkUI_FontWeight; 364 365 /** 366 * @brief Enumerates the text alignment mode. 367 * 368 * @since 12 369 */ 370 typedef enum { 371 /** Aligned with the start. */ 372 ARKUI_TEXT_ALIGNMENT_START = 0, 373 /** Horizontally centered. */ 374 ARKUI_TEXT_ALIGNMENT_CENTER, 375 /** Aligned with the end. */ 376 ARKUI_TEXT_ALIGNMENT_END, 377 /** Aligned with both margins. */ 378 ARKUI_TEXT_ALIGNMENT_JUSTIFY, 379 } ArkUI_TextAlignment; 380 381 /** 382 * @brief 定义文本垂直对齐样式枚举值。 383 * 384 * @since 20 385 */ 386 typedef enum { 387 /** 基线对齐。 */ 388 ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE = 0, 389 /** 底部对齐。 */ 390 ARKUI_TEXT_VERTICAL_ALIGNMENT_BOTTOM, 391 /** 居中对齐。 */ 392 ARKUI_TEXT_VERTICAL_ALIGNMENT_CENTER, 393 /** 顶部对齐。 */ 394 ARKUI_TEXT_VERTICAL_ALIGNMENT_TOP, 395 } ArkUI_TextVerticalAlignment; 396 397 /** 398 * @brief Enumerates the types of the Enter key for a single-line text box. 399 * 400 * @since 12 401 */ 402 typedef enum { 403 /** The Enter key is labeled "Go." */ 404 ARKUI_ENTER_KEY_TYPE_GO = 2, 405 /** The Enter key is labeled "Search." */ 406 ARKUI_ENTER_KEY_TYPE_SEARCH = 3, 407 /** The Enter key is labeled "Send." */ 408 ARKUI_ENTER_KEY_TYPE_SEND, 409 /** The Enter key is labeled "Next." */ 410 ARKUI_ENTER_KEY_TYPE_NEXT, 411 /** The Enter key is labeled "Done." */ 412 ARKUI_ENTER_KEY_TYPE_DONE, 413 /** The Enter key is labeled "Previous." */ 414 ARKUI_ENTER_KEY_TYPE_PREVIOUS, 415 /** The Enter key is labeled "New Line." */ 416 ARKUI_ENTER_KEY_TYPE_NEW_LINE, 417 } ArkUI_EnterKeyType; 418 419 /** 420 * @brief Enumerates the text input types. 421 * 422 * @since 12 423 */ 424 typedef enum { 425 /** Normal input mode. */ 426 ARKUI_TEXTINPUT_TYPE_NORMAL = 0, 427 /** Number input mode. */ 428 ARKUI_TEXTINPUT_TYPE_NUMBER = 2, 429 /** Phone number input mode. */ 430 ARKUI_TEXTINPUT_TYPE_PHONE_NUMBER = 3, 431 /** Email address input mode. */ 432 ARKUI_TEXTINPUT_TYPE_EMAIL = 5, 433 /** Password input mode. */ 434 ARKUI_TEXTINPUT_TYPE_PASSWORD = 7, 435 /** Numeric password input mode. */ 436 ARKUI_TEXTINPUT_TYPE_NUMBER_PASSWORD = 8, 437 /** Lock screen password input mode. */ 438 ARKUI_TEXTINPUT_TYPE_SCREEN_LOCK_PASSWORD = 9, 439 /** Username input mode. */ 440 ARKUI_TEXTINPUT_TYPE_USER_NAME = 10, 441 /** New password input mode. */ 442 ARKUI_TEXTINPUT_TYPE_NEW_PASSWORD = 11, 443 /** Number input mode with a decimal point. */ 444 ARKUI_TEXTINPUT_TYPE_NUMBER_DECIMAL = 12, 445 /** 446 * One time code input mode. 447 * @since 18 448 */ 449 ARKUI_TEXTINPUT_TYPE_ONE_TIME_CODE = 14, 450 } ArkUI_TextInputType; 451 452 /** 453 * @brief Enumerates the text box types. 454 * 455 * @since 12 456 */ 457 typedef enum { 458 /** Normal input mode. */ 459 ARKUI_TEXTAREA_TYPE_NORMAL = 0, 460 /** Number input mode. */ 461 ARKUI_TEXTAREA_TYPE_NUMBER = 2, 462 /** Phone number input mode. */ 463 ARKUI_TEXTAREA_TYPE_PHONE_NUMBER = 3, 464 /** Email address input mode. */ 465 ARKUI_TEXTAREA_TYPE_EMAIL = 5, 466 /** 467 * One time code input mode. 468 * @since 18 469 */ 470 ARKUI_TEXTAREA_TYPE_ONE_TIME_CODE = 14, 471 } ArkUI_TextAreaType; 472 473 /** 474 * @brief Enumerates the styles of the Cancel button. 475 * 476 * @since 12 477 */ 478 typedef enum { 479 /** The Cancel button is always displayed. */ 480 ARKUI_CANCELBUTTON_STYLE_CONSTANT = 0, 481 /** The Cancel button is always hidden. */ 482 ARKUI_CANCELBUTTON_STYLE_INVISIBLE, 483 /** The Cancel button is displayed when there is text input. */ 484 ARKUI_CANCELBUTTON_STYLE_INPUT, 485 } ArkUI_CancelButtonStyle; 486 487 /** 488 * @brief Enumerates the types of the <b><XComponent></b> component. 489 * 490 * @since 12 491 */ 492 typedef enum { 493 /** The custom content of EGL/OpenGL ES and media data is displayed individually on the screen. */ 494 ARKUI_XCOMPONENT_TYPE_SURFACE = 0, 495 /** The custom content of EGL/OpenGL ES and media data is grouped and displayed together with content 496 * of the component. 497 */ 498 ARKUI_XCOMPONENT_TYPE_TEXTURE = 2, 499 } ArkUI_XComponentType; 500 501 /** 502 * @brief Enumerates the styles of the progress indicator. 503 * 504 * @since 12 505 */ 506 typedef enum { 507 /** Linear style. */ 508 ARKUI_PROGRESS_TYPE_LINEAR = 0, 509 /** Indeterminate ring style. */ 510 ARKUI_PROGRESS_TYPE_RING, 511 /** Eclipse style. */ 512 ARKUI_PROGRESS_TYPE_ECLIPSE, 513 /** Determinate ring style. */ 514 ARKUI_PROGRESS_TYPE_SCALE_RING, 515 /** Capsule style. */ 516 ARKUI_PROGRESS_TYPE_CAPSULE, 517 }ArkUI_ProgressType; 518 519 /** 520 * @brief Enumerates the text decoration types. 521 * 522 * @since 12 523 */ 524 typedef enum { 525 /** No text decoration. */ 526 ARKUI_TEXT_DECORATION_TYPE_NONE = 0, 527 /** Line under the text. */ 528 ARKUI_TEXT_DECORATION_TYPE_UNDERLINE, 529 /** Line over the text. */ 530 ARKUI_TEXT_DECORATION_TYPE_OVERLINE, 531 /** Line through the text. */ 532 ARKUI_TEXT_DECORATION_TYPE_LINE_THROUGH, 533 } ArkUI_TextDecorationType; 534 535 /** 536 * @brief Enumerates the text decoration styles. 537 * 538 * @since 12 539 */ 540 typedef enum { 541 /** Single solid line. */ 542 ARKUI_TEXT_DECORATION_STYLE_SOLID = 0, 543 /** Double solid line. */ 544 ARKUI_TEXT_DECORATION_STYLE_DOUBLE, 545 /** Dotted line. */ 546 ARKUI_TEXT_DECORATION_STYLE_DOTTED, 547 /** Dashed line. */ 548 ARKUI_TEXT_DECORATION_STYLE_DASHED, 549 /** Wavy line. */ 550 ARKUI_TEXT_DECORATION_STYLE_WAVY, 551 } ArkUI_TextDecorationStyle; 552 553 /** 554 * @brief Enumerates the text cases. 555 * 556 * @since 12 557 */ 558 typedef enum { 559 /** The original case of the text is retained. */ 560 ARKUI_TEXT_CASE_NORMAL = 0, 561 /** All letters in the text are in lowercase. */ 562 ARKUI_TEXT_CASE_LOWER, 563 /** All letters in the text are in uppercase. */ 564 ARKUI_TEXT_CASE_UPPER, 565 } ArkUI_TextCase; 566 567 /** 568 * @brief Enumerates the text copy and paste modes. 569 * 570 * @since 12 571 */ 572 typedef enum { 573 /** Copy is not allowed. */ 574 ARKUI_COPY_OPTIONS_NONE = 0, 575 /** Intra-application copy is allowed. */ 576 ARKUI_COPY_OPTIONS_IN_APP, 577 /** Intra-device copy is allowed. */ 578 ARKUI_COPY_OPTIONS_LOCAL_DEVICE, 579 /** Cross-device copy is allowed. */ 580 ARKUI_COPY_OPTIONS_CROSS_DEVICE, 581 } ArkUI_CopyOptions; 582 583 /** 584 * @brief Enumerates the shadow types. 585 * 586 * @since 12 587 */ 588 typedef enum { 589 /** Color. */ 590 ARKUI_SHADOW_TYPE_COLOR = 0, 591 /** Blur. */ 592 ARKUI_SHADOW_TYPE_BLUR 593 } ArkUI_ShadowType; 594 595 /** 596 * @brief Enumerates the modes of the date picker. 597 * 598 * @since 18 599 */ 600 typedef enum { 601 /** A mode that displays the date in months, days of month, and years. */ 602 ARKUI_DATEPICKER_MODE_DATE = 0, 603 /** A mode that displays the date in months and years. */ 604 ARKUI_DATEPICKER_YEAR_AND_MONTH = 1, 605 /** A mode that displays the date in months and days of the month. */ 606 ARKUI_DATEPICKER_MONTH_AND_DAY = 2, 607 } ArkUI_DatePickerMode; 608 609 /** 610 * @brief Enumerates the types of the text picker. 611 * 612 * @since 12 613 */ 614 typedef enum { 615 /** Single-column text picker. */ 616 ARKUI_TEXTPICKER_RANGETYPE_SINGLE = 0, 617 /** Multi-column text picker. */ 618 ARKUI_TEXTPICKER_RANGETYPE_MULTI, 619 /** Single-column text picker with image resources. */ 620 ARKUI_TEXTPICKER_RANGETYPE_RANGE_CONTENT, 621 /** Interconnected multi-column text picker. */ 622 ARKUI_TEXTPICKER_RANGETYPE_CASCADE_RANGE_CONTENT, 623 } ArkUI_TextPickerRangeType; 624 625 /** 626 * @brief Defines the input structure of the single-column text picker with image resources. 627 * 628 * @since 12 629 */ 630 typedef struct { 631 /** Image resource. */ 632 const char* icon; 633 /** Text information. */ 634 const char* text; 635 } ARKUI_TextPickerRangeContent; 636 637 /** 638 * @brief Defines the input structure of the interconnected multi-column text picker. 639 * 640 * @since 12 641 */ 642 typedef struct { 643 /** Text information. */ 644 const char* text; 645 /** Interconnected data. */ 646 const ARKUI_TextPickerRangeContent* children; 647 /** Size of the interconnected data array. */ 648 int32_t size; 649 } ARKUI_TextPickerCascadeRangeContent; 650 651 /** 652 * @brief 定义无障碍复选框状态类型枚举值。 653 * 654 * @since 12 655 */ 656 typedef enum { 657 /** 复选框未被选中。*/ 658 ARKUI_ACCESSIBILITY_UNCHECKED = 0, 659 /** 复选框被选中。*/ 660 ARKUI_ACCESSIBILITY_CHECKED, 661 } ArkUI_AccessibilityCheckedState; 662 663 664 /** 665 * @brief Define accessible action types. 666 * 667 * @since 12 668 */ 669 typedef enum { 670 /** click action. */ 671 ARKUI_ACCESSIBILITY_ACTION_CLICK = 1 << 0, 672 /** long click action. */ 673 ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK = 1 << 1, 674 /** cut action. */ 675 ARKUI_ACCESSIBILITY_ACTION_CUT = 1 << 2, 676 /** copy action. */ 677 ARKUI_ACCESSIBILITY_ACTION_COPY = 1 << 3, 678 /** paste action. */ 679 ARKUI_ACCESSIBILITY_ACTION_PASTE = 1 << 4, 680 } ArkUI_AccessibilityActionType; 681 682 /** 683 * @brief 定义组件无障碍状态。 684 * 685 * @since 12 686 */ 687 typedef struct ArkUI_AccessibilityState ArkUI_AccessibilityState; 688 689 /** 690 * @brief 定义组件无障碍信息值。 691 * 692 * @since 12 693 */ 694 typedef struct ArkUI_AccessibilityValue ArkUI_AccessibilityValue; 695 696 /** 697 * @brief Enumerates the effects used at the edges of the component when the boundary of the 698 * scrollable content is reached. 699 * 700 * @since 12 701 */ 702 typedef enum { 703 /** Spring effect. When at one of the edges, the component can move beyond the bounds based on the 704 * initial speed or through touches, and produces a bounce effect when the user releases their finger. 705 */ 706 ARKUI_EDGE_EFFECT_SPRING = 0, 707 /** Fade effect. When at one of the edges, the component produces a fade effect. */ 708 ARKUI_EDGE_EFFECT_FADE, 709 /** No effect after the scrollbar is moved to the edge. */ 710 ARKUI_EDGE_EFFECT_NONE, 711 } ArkUI_EdgeEffect; 712 713 /** 714 * @brief Enumerates the scroll directions for the <b><Scroll></b> component. 715 * 716 * @since 12 717 */ 718 typedef enum { 719 /** Only vertical scrolling is supported. */ 720 ARKUI_SCROLL_DIRECTION_VERTICAL = 0, 721 /** Only horizontal scrolling is supported. */ 722 ARKUI_SCROLL_DIRECTION_HORIZONTAL, 723 /** Scrolling is not allowed. */ 724 ARKUI_SCROLL_DIRECTION_NONE = 3, 725 /** 726 * @brief Scrolling is allowed in both horizontal and vertical directions. Only available in Scroll component. 727 * @since 20 728 */ 729 ARKUI_SCROLL_DIRECTION_FREE = 4, 730 } ArkUI_ScrollDirection; 731 732 /** 733 * @brief Enumerates the alignment modes of list items when scrolling ends. 734 * 735 * @since 12 736 */ 737 typedef enum { 738 /** No alignment. This is the default value. */ 739 ARKUI_SCROLL_SNAP_ALIGN_NONE = 0, 740 /** The first item in the view is aligned at the start of the list. */ 741 ARKUI_SCROLL_SNAP_ALIGN_START, 742 /** The middle items in the view are aligned in the center of the list. */ 743 ARKUI_SCROLL_SNAP_ALIGN_CENTER, 744 /** The last item in the view is aligned at the end of the list. */ 745 ARKUI_SCROLL_SNAP_ALIGN_END, 746 } ArkUI_ScrollSnapAlign; 747 748 /** 749 * @brief Enumerates the scrollbar display modes. 750 * 751 * @since 12 752 */ 753 typedef enum { 754 /** Hide. */ 755 ARKUI_SCROLL_BAR_DISPLAY_MODE_OFF = 0, 756 /** Display on demand (displays when the screen is touched and disappears after 2s). */ 757 ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO, 758 /** Always display. */ 759 ARKUI_SCROLL_BAR_DISPLAY_MODE_ON, 760 } ArkUI_ScrollBarDisplayMode; 761 762 /** 763 * @brief Enumerates the scroll directions for the <b><List></b> component. 764 * 765 * @since 12 766 */ 767 typedef enum { 768 /** Only vertical scrolling is supported. */ 769 ARKUI_AXIS_VERTICAL = 0, 770 /** Only horizontal scrolling is supported. */ 771 ARKUI_AXIS_HORIZONTAL, 772 } ArkUI_Axis; 773 774 /** 775 * @brief Enumerates the modes for pinning the header to the top or the footer to the bottom. 776 * 777 * @since 12 778 */ 779 typedef enum { 780 /** In the list item group, the header is not pinned to the top, and the footer is not pinned to the bottom. */ 781 ARKUI_STICKY_STYLE_NONE = 0, 782 /** In the list item group, the header is pinned to the top, and the footer is not pinned to the bottom. */ 783 ARKUI_STICKY_STYLE_HEADER = 1, 784 /** In the list item group, the footer is pinned to the bottom, and the header is not pinned to the top. */ 785 ARKUI_STICKY_STYLE_FOOTER = 2, 786 /** In the list item group, the footer is pinned to the bottom, and the header is pinned to the top. */ 787 ARKUI_STICKY_STYLE_BOTH = 3, 788 } ArkUI_StickyStyle; 789 790 /** 791 * @brief Enumerates the content clipping modes of scrollable components. 792 * 793 * @since 16 794 */ 795 typedef enum { 796 /** Clip to the content area only. */ 797 ARKUI_CONTENT_CLIP_MODE_CONTENT_ONLY = 0, 798 /** Clip to the component's boundary area. */ 799 ARKUI_CONTENT_CLIP_MODE_BOUNDARY, 800 /** Clip to the safe area configured for the component. */ 801 ARKUI_CONTENT_CLIP_MODE_SAFE_AREA, 802 } ArkUI_ContentClipMode; 803 804 /** 805 * @brief Enumerates the layout modes of the <b>WaterFlow</b> component. 806 * 807 * @since 16 808 */ 809 typedef enum { 810 /** Layout from top to bottom. In scenarios where column switching occurs, the layout starts from the first water 811 * flow item to the currently displayed water flow item. */ 812 ARKUI_WATER_FLOW_LAYOUT_MODE_ALWAYS_TOP_DOWN = 0, 813 /** Sliding window layout. In scenarios where column switching occurs, only the range of water flow items currently 814 * on display is re-laid out. As the user scrolls down with their finger, water flow items that enter the display 815 * range from above are subsequently laid out. */ 816 ARKUI_WATER_FLOW_LAYOUT_MODE_SLIDING_WINDOW, 817 } ArkUI_WaterFlowLayoutMode; 818 819 /** 820 * @brief Enumerates the border styles. 821 * 822 * @since 12 823 */ 824 typedef enum { 825 /** Solid border. */ 826 ARKUI_BORDER_STYLE_SOLID = 0, 827 /** Dashed border. */ 828 ARKUI_BORDER_STYLE_DASHED, 829 /** Dotted border. */ 830 ARKUI_BORDER_STYLE_DOTTED, 831 } ArkUI_BorderStyle; 832 833 /** 834 * @brief Enumerates the hit test modes. 835 * 836 * @since 12 837 */ 838 typedef enum { 839 /** Both the node and its child node respond to the hit test of a touch event, 840 * but its sibling node is blocked from the hit test. 841 */ 842 ARKUI_HIT_TEST_MODE_DEFAULT = 0, 843 /** The node responds to the hit test of a touch event, but its child node and sibling node are blocked from 844 * the hit test. 845 */ 846 ARKUI_HIT_TEST_MODE_BLOCK, 847 /** Both the node and its child node respond to the hit test of a touch event, and its sibling node is also 848 * considered during the hit test. 849 */ 850 ARKUI_HIT_TEST_MODE_TRANSPARENT, 851 /** The node does not respond to the hit test of a touch event. */ 852 ARKUI_HIT_TEST_MODE_NONE, 853 /** 854 * Blocks all lower priority siblings and parents node from receiving the event. 855 * @since 20 856 */ 857 ARKUI_HIT_TEST_MODE_BLOCK_HIERARCHY, 858 /** 859 * Self not respond to the hit test for touch events, 860 * and all descendants (children, grandchildren, etc.) not respond to the hit test for touch events too. 861 * @since 20 862 */ 863 ARKUI_HIT_TEST_MODE_BLOCK_DESCENDANTS, 864 } ArkUI_HitTestMode; 865 866 /** 867 * @brief Enumerates the shadow styles. 868 * 869 * @since 12 870 */ 871 typedef enum { 872 /** Mini shadow. */ 873 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_XS = 0, 874 /** Little shadow. */ 875 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_SM, 876 /** Medium shadow. */ 877 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_MD, 878 /** Large shadow. */ 879 ARKUI_SHADOW_STYLE_OUTER_DEFAULT_LG, 880 /** Floating small shadow. */ 881 ARKUI_SHADOW_STYLE_OUTER_FLOATING_SM, 882 /** Floating medium shadow. */ 883 ARKUI_SHADOW_STYLE_OUTER_FLOATING_MD, 884 } ArkUI_ShadowStyle; 885 886 /** 887 * @brief Enumerates the animation curves. 888 * 889 * @since 12 890 */ 891 typedef enum { 892 /** The animation speed keeps unchanged. */ 893 ARKUI_CURVE_LINEAR = 0, 894 /** The animation starts slowly, accelerates, and then slows down towards the end. */ 895 ARKUI_CURVE_EASE, 896 /** The animation starts at a low speed and then picks up speed until the end. */ 897 ARKUI_CURVE_EASE_IN, 898 /** The animation ends at a low speed. */ 899 ARKUI_CURVE_EASE_OUT, 900 /** The animation starts and ends at a low speed. */ 901 ARKUI_CURVE_EASE_IN_OUT, 902 /** The animation uses the standard curve */ 903 ARKUI_CURVE_FAST_OUT_SLOW_IN, 904 /** The animation uses the deceleration curve. */ 905 ARKUI_CURVE_LINEAR_OUT_SLOW_IN, 906 /** The animation uses the acceleration curve. */ 907 ARKUI_CURVE_FAST_OUT_LINEAR_IN, 908 /** The animation uses the extreme deceleration curve. */ 909 ARKUI_CURVE_EXTREME_DECELERATION, 910 /** The animation uses the sharp curve. */ 911 ARKUI_CURVE_SHARP, 912 /** The animation uses the rhythm curve. */ 913 ARKUI_CURVE_RHYTHM, 914 /** The animation uses the smooth curve. */ 915 ARKUI_CURVE_SMOOTH, 916 /** The animation uses the friction curve */ 917 ARKUI_CURVE_FRICTION, 918 } ArkUI_AnimationCurve; 919 920 /** 921 * @brief Enumerates arrow styles of the navigation point indicator. 922 * 923 * @since 12 924 */ 925 typedef enum { 926 /** The arrow is not displayed for the navigation point indicator. */ 927 ARKUI_SWIPER_ARROW_HIDE = 0, 928 /** The arrow is displayed for the navigation point indicator. */ 929 ARKUI_SWIPER_ARROW_SHOW, 930 /** The arrow is displayed only when the mouse pointer hovers over the navigation point indicator. */ 931 ARKUI_SWIPER_ARROW_SHOW_ON_HOVER, 932 } ArkUI_SwiperArrow; 933 934 /** 935 * @brief Nested scrolling mode for Swiper components and parent components. 936 * 937 * @since 12 938 */ 939 typedef enum { 940 /** Swiper only scrolls on its own and is not linked to its parent component. */ 941 ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY = 0, 942 /** The Swiper itself scrolls first, and the parent component scrolls after it reaches the edge. After the parent 943 * component scrolls to the edge, if the parent component has an edge effect, the parent component triggers the edge 944 * effect; otherwise, the Swiper triggers the edge effect. */ 945 ARKUI_SWIPER_NESTED_SRCOLL_SELF_FIRST, 946 } ArkUI_SwiperNestedScrollMode; 947 948 /** 949 * @brief Enumerates the page flipping modes using the mouse wheel for the <b>Swiper</b> component. 950 * 951 * @since 15 952 */ 953 typedef enum { 954 /** When the mouse wheel is scrolled continuously, multiple pages are flipped, which is determined by the number of 955 * times that mouse events are reported. */ 956 ARKUI_PAGE_FLIP_MODE_CONTINUOUS = 0, 957 /** The system does not respond to other mouse wheel events until the page flipping animation ends. */ 958 ARKUI_PAGE_FLIP_MODE_SINGLE, 959 } ArkUI_PageFlipMode; 960 961 /** 962 * @brief Enumerates the accessibility modes. 963 * 964 * @since 12 965 */ 966 typedef enum { 967 /** Whether the component can be identified by the accessibility service is dependent on the component. */ 968 ARKUI_ACCESSIBILITY_MODE_AUTO = 0, 969 /** The component can be identified by the accessibility service. */ 970 ARKUI_ACCESSIBILITY_MODE_ENABLED, 971 /** The component cannot be identified by the accessibility service. */ 972 ARKUI_ACCESSIBILITY_MODE_DISABLED, 973 /** The component and all its child components cannot be identified by the accessibility service. */ 974 ARKUI_ACCESSIBILITY_MODE_DISABLED_FOR_DESCENDANTS, 975 } ArkUI_AccessibilityMode; 976 977 /** 978 * @brief Defines whether copy and paste is allowed for text content. 979 * 980 * @since 12 981 */ 982 typedef enum { 983 /** Copy is not allowed. */ 984 ARKUI_TEXT_COPY_OPTIONS_NONE = 0, 985 /** Intra-application copy is allowed. */ 986 ARKUI_TEXT_COPY_OPTIONS_IN_APP, 987 /** Intra-device copy is allowed. */ 988 ARKUI_TEXT_COPY_OPTIONS_LOCAL_DEVICE, 989 /** Cross-device copy is allowed. */ 990 ARKUI_TEXT_COPY_OPTIONS_CROSS_DEVICE, 991 } ArkUI_TextCopyOptions; 992 993 994 /** 995 * @brief Defines how the adaptive height is determined for the text. 996 * 997 * @since 12 998 */ 999 typedef enum { 1000 /** Prioritize the <b>maxLines</b> settings. */ 1001 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_MAX_LINES_FIRST = 0, 1002 /** Prioritize the <b>minFontSize</b> settings. */ 1003 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_MIN_FONT_SIZE_FIRST, 1004 /** Prioritize the layout constraint settings in terms of height. */ 1005 ARKUI_TEXT_HEIGHT_ADAPTIVE_POLICY_LAYOUT_CONSTRAINT_FIRST, 1006 } ArkUI_TextHeightAdaptivePolicy; 1007 1008 1009 /** 1010 * @brief Defines nested scrolling options. 1011 * 1012 * @since 12 1013 */ 1014 typedef enum { 1015 /** The scrolling is contained within the component, and no scroll chaining occurs, that is, the parent component 1016 * does not scroll when the component scrolling reaches the boundary. 1017 */ 1018 ARKUI_SCROLL_NESTED_MODE_SELF_ONLY = 0, 1019 /** The component scrolls first, and when it hits the boundary, the parent component scrolls. 1020 * When the parent component hits the boundary, its edge effect is displayed. If no edge effect is specified for 1021 * the parent component, the edge effect of the child component is displayed instead. 1022 */ 1023 ARKUI_SCROLL_NESTED_MODE_SELF_FIRST, 1024 /** The parent component scrolls first, and when it hits the boundary, the component scrolls. 1025 * When the component hits the boundary, its edge effect is displayed. If no edge effect is specified for the 1026 * component, the edge effect of the parent component is displayed instead. 1027 */ 1028 ARKUI_SCROLL_NESTED_MODE_PARENT_FIRST, 1029 /** The component and its parent component scroll at the same time. When both the component and its parent component 1030 * hit the boundary, the edge effect of the component is displayed. If no edge effect is specified for the 1031 * component, the edge effect of the parent component is displayed instead. 1032 */ 1033 ARKUI_SCROLL_NESTED_MODE_PARALLEL, 1034 } ArkUI_ScrollNestedMode; 1035 1036 1037 /** 1038 * @brief Defines the edge to which the component scrolls. 1039 * 1040 * @since 12 1041 */ 1042 typedef enum { 1043 /** Top edge in the vertical direction. */ 1044 ARKUI_SCROLL_EDGE_TOP = 0, 1045 /** Bottom edge in the vertical direction. */ 1046 ARKUI_SCROLL_EDGE_BOTTOM, 1047 /** Start position in the horizontal direction. */ 1048 ARKUI_SCROLL_EDGE_START, 1049 /** End position in the horizontal direction. */ 1050 ARKUI_SCROLL_EDGE_END, 1051 } ArkUI_ScrollEdge; 1052 1053 1054 /** 1055 * @brief Alignment when scrolling to specific items. 1056 * 1057 * @since 12 1058 */ 1059 typedef enum { 1060 /** Align the head. Align the head of the specified item with the head of the container.*/ 1061 ARKUI_SCROLL_ALIGNMENT_START = 0, 1062 /** Center alignment. Align the axis direction of the specified item to the center of the container.*/ 1063 ARKUI_SCROLL_ALIGNMENT_CENTER, 1064 /** Tail alignment. Align the tail of the specified item with the tail of the container.*/ 1065 ARKUI_SCROLL_ALIGNMENT_END, 1066 /** Automatic alignment. If the specified item is completely in the display area, no adjustments will be made. 1067 * Otherwise, according to the principle of the shortest sliding distance, align the head or tail of the specified 1068 * item with the container, so that the specified item is completely in the display area.*/ 1069 ARKUI_SCROLL_ALIGNMENT_AUTO, 1070 /** None alignment. Use default alignment by default*/ 1071 ARKUI_SCROLL_ALIGNMENT_NONE, 1072 } ArkUI_ScrollAlignment; 1073 1074 /** 1075 * @brief Define the current scrolling state. 1076 * 1077 * @since 12 1078 */ 1079 typedef enum { 1080 /** Idle state. Trigger when using the method provided by the controller to control scrolling, and trigger when 1081 * dragging the scroll bar to scroll.*/ 1082 ARKUI_SCROLL_STATE_IDLE = 0, 1083 /** Scroll state. Triggered when dragging the container with fingers to scroll.*/ 1084 ARKUI_SCROLL_STATE_SCROLL, 1085 /** Inertial rolling state. Triggered when inertia rolling and bouncing back to the edge are performed after 1086 * releasing the hand quickly.*/ 1087 ARKUI_SCROLL_STATE_FLING, 1088 } ArkUI_ScrollState; 1089 1090 /** 1091 * @brief Enumerates the types of the slider in the block direction. 1092 * 1093 * @since 12 1094 */ 1095 typedef enum { 1096 /** Round slider. */ 1097 ARKUI_SLIDER_BLOCK_STYLE_DEFAULT = 0, 1098 /** Slider with an image background. */ 1099 ARKUI_SLIDER_BLOCK_STYLE_IMAGE, 1100 /** Slider in a custom shape. */ 1101 ARKUI_SLIDER_BLOCK_STYLE_SHAPE, 1102 } ArkUI_SliderBlockStyle; 1103 1104 /** 1105 * @brief Enumerates the scroll directions of the slider. 1106 * 1107 * @since 12 1108 */ 1109 typedef enum { 1110 /** Vertical direction. */ 1111 ARKUI_SLIDER_DIRECTION_VERTICAL = 0, 1112 /** Horizontal direction. */ 1113 ARKUI_SLIDER_DIRECTION_HORIZONTAL, 1114 } ArkUI_SliderDirection; 1115 1116 /** 1117 * @brief Enumerates the slider styles. 1118 * 1119 * @since 12 1120 */ 1121 typedef enum { 1122 /** The slider is on the slider track. */ 1123 ARKUI_SLIDER_STYLE_OUT_SET = 0, 1124 /** The slider is in the slider track. */ 1125 ARKUI_SLIDER_STYLE_IN_SET, 1126 /** No slider. */ 1127 ARKUI_SLIDER_STYLE_NONE, 1128 } ArkUI_SliderStyle; 1129 1130 /** 1131 * @brief Enumerates the shapes of the check box 1132 * 1133 * @since 12 1134 */ 1135 typedef enum { 1136 /** Circle. */ 1137 ArkUI_CHECKBOX_SHAPE_CIRCLE = 0, 1138 /** Rounded square. */ 1139 ArkUI_CHECKBOX_SHAPE_ROUNDED_SQUARE, 1140 } ArkUI_CheckboxShape; 1141 1142 /** 1143 * @brief Enumerates the animation playback modes. 1144 * 1145 * @since 12 1146 */ 1147 typedef enum { 1148 /** The animation is played forwards. */ 1149 ARKUI_ANIMATION_PLAY_MODE_NORMAL = 0, 1150 /** The animation is played reversely. */ 1151 ARKUI_ANIMATION_PLAY_MODE_REVERSE, 1152 /** The animation is played normally for an odd number of times (1, 3, 5...) and reversely for an even number of 1153 * times (2, 4, 6...). 1154 */ 1155 ARKUI_ANIMATION_PLAY_MODE_ALTERNATE, 1156 /** The animation is played reversely for an odd number of times (1, 3, 5...) and normally for an even number of 1157 * times (2, 4, 6...). 1158 */ 1159 ARKUI_ANIMATION_PLAY_MODE_ALTERNATE_REVERSE, 1160 } ArkUI_AnimationPlayMode; 1161 1162 /** 1163 * @brief Defines the image size. 1164 * 1165 * @since 12 1166 */ 1167 typedef enum { 1168 /** The original image aspect ratio is retained. */ 1169 ARKUI_IMAGE_SIZE_AUTO = 0, 1170 /** Default value. The image is scaled with its aspect ratio retained for both sides to be greater than or equal to 1171 * the display boundaries. 1172 */ 1173 ARKUI_IMAGE_SIZE_COVER, 1174 /** The image is scaled with its aspect ratio retained for the content to be completely displayed within the 1175 * display boundaries. 1176 */ 1177 ARKUI_IMAGE_SIZE_CONTAIN, 1178 } ArkUI_ImageSize; 1179 1180 /** 1181 * @brief Enumerates the adaptive color modes. 1182 * 1183 * @since 12 1184 */ 1185 typedef enum { 1186 /** Adaptive color mode is not used. */ 1187 ARKUI_ADAPTIVE_COLOR_DEFAULT = 0, 1188 /** Adaptive color mode is used. */ 1189 ARKUI_ADAPTIVE_COLOR_AVERAGE, 1190 } ArkUI_AdaptiveColor; 1191 1192 /** 1193 * @brief Enumerates the color modes. 1194 * 1195 * @since 12 1196 */ 1197 typedef enum { 1198 /** Following the system color mode. */ 1199 ARKUI_COLOR_MODE_SYSTEM = 0, 1200 /** Light color mode. */ 1201 ARKUI_COLOR_MODE_LIGHT, 1202 /** Dark color mode. */ 1203 ARKUI_COLOR_MODE_DARK, 1204 } ArkUI_ColorMode; 1205 1206 /** 1207 * @brief Enumerates the activation policies for the background blur effect. 1208 * 1209 * @since 19 1210 */ 1211 typedef enum { 1212 /** The blur effect changes according to the window's focus state; 1213 * it is inactive when the window is not in focus and active when the window is in focus. */ 1214 ARKUI_BLUR_STYLE_ACTIVE_POLICY_FOLLOWS_WINDOW_ACTIVE_STATE = 0, 1215 /** The blur effect is always active. */ 1216 ARKUI_BLUR_STYLE_ACTIVE_POLICY_ALWAYS_ACTIVE, 1217 /** The blur effect is always inactive. */ 1218 ARKUI_BLUR_STYLE_ACTIVE_POLICY_ALWAYS_INACTIVE, 1219 } ArkUI_BlurStyleActivePolicy; 1220 1221 /** 1222 * @brief Enumerates the system color modes. 1223 * 1224 * @since 12 1225 */ 1226 typedef enum { 1227 /** Light color mode. */ 1228 ARKUI_SYSTEM_COLOR_MODE_LIGHT = 0, 1229 /** Dark color mode. */ 1230 ARKUI_SYSTEM_COLOR_MODE_DARK, 1231 } ArkUI_SystemColorMode; 1232 1233 /** 1234 * @brief Enumerates the blur styles. 1235 * 1236 * @since 12 1237 */ 1238 typedef enum { 1239 /** Thin material. */ 1240 ARKUI_BLUR_STYLE_THIN = 0, 1241 /** Regular material. */ 1242 ARKUI_BLUR_STYLE_REGULAR, 1243 /** Thick material. */ 1244 ARKUI_BLUR_STYLE_THICK, 1245 /** Material that creates the minimum depth of field effect. */ 1246 ARKUI_BLUR_STYLE_BACKGROUND_THIN, 1247 /** Material that creates a medium shallow depth of field effect. */ 1248 ARKUI_BLUR_STYLE_BACKGROUND_REGULAR, 1249 /** Material that creates a high shallow depth of field effect. */ 1250 ARKUI_BLUR_STYLE_BACKGROUND_THICK, 1251 /** Material that creates the maximum depth of field effect. */ 1252 ARKUI_BLUR_STYLE_BACKGROUND_ULTRA_THICK, 1253 /** No blur. */ 1254 ARKUI_BLUR_STYLE_NONE, 1255 /** Component ultra-thin material. */ 1256 ARKUI_BLUR_STYLE_COMPONENT_ULTRA_THIN, 1257 /** Component thin material. */ 1258 ARKUI_BLUR_STYLE_COMPONENT_THIN, 1259 /** Component regular material. */ 1260 ARKUI_BLUR_STYLE_COMPONENT_REGULAR, 1261 /** Component thick material. */ 1262 ARKUI_BLUR_STYLE_COMPONENT_THICK, 1263 /** Component ultra-thick material. */ 1264 ARKUI_BLUR_STYLE_COMPONENT_ULTRA_THICK, 1265 } ArkUI_BlurStyle; 1266 1267 /** 1268 * @brief Enumerates the vertical alignment modes. 1269 * 1270 * @since 12 1271 */ 1272 typedef enum { 1273 /** Top aligned. */ 1274 ARKUI_VERTICAL_ALIGNMENT_TOP = 0, 1275 /** Center aligned. This is the default alignment mode. */ 1276 ARKUI_VERTICAL_ALIGNMENT_CENTER, 1277 /** Bottom aligned. */ 1278 ARKUI_VERTICAL_ALIGNMENT_BOTTOM, 1279 } ArkUI_VerticalAlignment; 1280 1281 /** 1282 * @brief Enumerates the alignment mode in the horizontal direction. 1283 * 1284 * @since 12 1285 */ 1286 typedef enum { 1287 /** Aligned with the start edge in the same direction as the language in use. */ 1288 ARKUI_HORIZONTAL_ALIGNMENT_START = 0, 1289 /** Center aligned. This is the default alignment mode. */ 1290 ARKUI_HORIZONTAL_ALIGNMENT_CENTER, 1291 /** Aligned with the end edge in the same direction as the language in use. */ 1292 ARKUI_HORIZONTAL_ALIGNMENT_END, 1293 } ArkUI_HorizontalAlignment; 1294 1295 /** 1296 * @brief Enumerates the display modes when the text is too long. 1297 * 1298 * @since 12 1299 */ 1300 typedef enum { 1301 /** Extra-long text is not clipped. */ 1302 ARKUI_TEXT_OVERFLOW_NONE = 0, 1303 /** Extra-long text is clipped. */ 1304 ARKUI_TEXT_OVERFLOW_CLIP, 1305 /** An ellipsis (...) is used to represent text overflow. */ 1306 ARKUI_TEXT_OVERFLOW_ELLIPSIS, 1307 /** Text continuously scrolls when text overflow occurs. */ 1308 ARKUI_TEXT_OVERFLOW_MARQUEE, 1309 } ArkUI_TextOverflow; 1310 1311 /** 1312 * @brief Enumerates the alignment mode of the image with the text. 1313 * 1314 * @since 12 1315 */ 1316 typedef enum { 1317 /** The image is bottom aligned with the text baseline. */ 1318 ARKUI_IMAGE_SPAN_ALIGNMENT_BASELINE = 0, 1319 /** The image is bottom aligned with the text. */ 1320 ARKUI_IMAGE_SPAN_ALIGNMENT_BOTTOM, 1321 /** The image is centered aligned with the text. */ 1322 ARKUI_IMAGE_SPAN_ALIGNMENT_CENTER, 1323 /** The image is top aligned with the text. */ 1324 ARKUI_IMAGE_SPAN_ALIGNMENT_TOP, 1325 /** The image follow with the text's alignment. */ 1326 ARKUI_IMAGE_SPAN_ALIGNMENT_FOLLOW_PARAGRAPH, 1327 } ArkUI_ImageSpanAlignment; 1328 1329 /** 1330 * @brief Defines how the image is resized to fit its container. 1331 *ImageSpanAlignment 1332 * @since 12 1333 */ 1334 typedef enum { 1335 /** The image is scaled with its aspect ratio retained for the content to be completely displayed within the 1336 * display boundaries. 1337 */ 1338 ARKUI_OBJECT_FIT_CONTAIN = 0, 1339 /** The image is scaled with its aspect ratio retained for both sides to be greater than or equal to the 1340 * display boundaries. 1341 */ 1342 ARKUI_OBJECT_FIT_COVER, 1343 /** The image is scaled automatically to fit the display area. */ 1344 ARKUI_OBJECT_FIT_AUTO, 1345 /** The image is scaled to fill the display area, and its aspect ratio is not retained. */ 1346 ARKUI_OBJECT_FIT_FILL, 1347 /** The image content is displayed with its aspect ratio retained. The size is smaller than or equal to the 1348 * original size. 1349 */ 1350 ARKUI_OBJECT_FIT_SCALE_DOWN, 1351 /** The original size is retained. */ 1352 ARKUI_OBJECT_FIT_NONE, 1353 /** Not resized, the image is aligned with the start edge of the top of the container. */ 1354 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP_START, 1355 /** Not resized, the image is horizontally centered at the top of the container. */ 1356 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP, 1357 /** Not resized, the image is aligned with the end edge at the top of the container. */ 1358 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_TOP_END, 1359 /** Not resized, the image is vertically centered on the start edge of the container. */ 1360 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_START, 1361 /** Not resized, the image is horizontally and vertically centered in the container. */ 1362 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_CENTER, 1363 /** Not resized, the image is vertically centered on the end edge of the container. */ 1364 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_END, 1365 /** Not resized, the image is aligned with the start edge at the bottom of the container. */ 1366 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM_START, 1367 /** Not resized, the image is horizontally centered at the bottom of the container. */ 1368 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM, 1369 /** Not resized, the image is aligned with the end edge at the bottom of the container. */ 1370 ARKUI_OBJECT_FIT_NONE_AND_ALIGN_BOTTOM_END, 1371 } ArkUI_ObjectFit; 1372 1373 /** 1374 * @brief Enumerates the image interpolation effect. 1375 * 1376 * @since 12 1377 */ 1378 typedef enum { 1379 /** No image interpolation. */ 1380 ARKUI_IMAGE_INTERPOLATION_NONE = 0, 1381 /** Low quality interpolation. */ 1382 ARKUI_IMAGE_INTERPOLATION_LOW, 1383 /** Medium quality interpolation. */ 1384 ARKUI_IMAGE_INTERPOLATION_MEDIUM, 1385 /** High quality interpolation. This mode produces scaled images of the highest possible quality. */ 1386 ARKUI_IMAGE_INTERPOLATION_HIGH, 1387 } ArkUI_ImageInterpolation; 1388 1389 /** 1390 * @brief Enumerates the image dynamic range mode. 1391 * 1392 * @since 21 1393 */ 1394 typedef enum { 1395 /** high dynamic range mode. */ 1396 ARKUI_DYNAMIC_RANGE_MODE_HIGH = 0, 1397 /** constraint dynamic range mode. */ 1398 ARKUI_DYNAMIC_RANGE_MODE_CONSTRAINT, 1399 /** standard dynamic range mode. */ 1400 ARKUI_DYNAMIC_RANGE_MODE_STANDARD, 1401 } ArkUI_DynamicRangeMode; 1402 1403 /** 1404 * @brief Enumerates the image rotate orientation. 1405 * 1406 * @since 21 1407 */ 1408 typedef enum { 1409 /** Use EXIF metadata for display orientation, with support for rotation and mirroring. */ 1410 ARKUI_ORIENTATION_AUTO = 0, 1411 /** Display original pixel data without transformation. */ 1412 ARKUI_ORIENTATION_UP, 1413 /** Display the image after rotating it 90 degrees clockwise. */ 1414 ARKUI_ORIENTATION_RIGHT, 1415 /** Display the image after rotating it 180 degrees clockwise. */ 1416 ARKUI_ORIENTATION_DOWN, 1417 /** Display the image after rotating it 270 degrees clockwise. */ 1418 ARKUI_ORIENTATION_LEFT, 1419 /** Display the image after flipping it horizontally. */ 1420 ARKUI_ORIENTATION_UP_MIRRORED, 1421 /** Display the image after flipping it horizontally and then rotating it 90 degrees clockwise. */ 1422 ARKUI_ORIENTATION_RIGHT_MIRRORED, 1423 /** Display the image after flipping it vertically. */ 1424 ARKUI_ORIENTATION_DOWN_MIRRORED, 1425 /** Display the image after flipping it horizontally and then rotating it 270 degrees clockwise. */ 1426 ARKUI_ORIENTATION_LEFT_MIRRORED, 1427 } ArkUI_ImageRotateOrientation; 1428 1429 /** 1430 * @brief Enumerates the blend modes. 1431 * 1432 * @since 12 1433 */ 1434 typedef enum { 1435 /** The top image is superimposed on the bottom image without any blending. */ 1436 ARKUI_BLEND_MODE_NONE = 0, 1437 /** The target pixels covered by the source pixels are erased by being turned to completely transparent. */ 1438 ARKUI_BLEND_MODE_CLEAR, 1439 /** r = s: Only the source pixels are displayed. */ 1440 ARKUI_BLEND_MODE_SRC, 1441 /** r = d: Only the target pixels are displayed. */ 1442 ARKUI_BLEND_MODE_DST, 1443 /** r = s + (1 - sa) * d: The source pixels are blended based on opacity and cover the target pixels. */ 1444 ARKUI_BLEND_MODE_SRC_OVER, 1445 /** r = d + (1 - da) * s: The target pixels are blended based on opacity and cover on the source pixels. */ 1446 ARKUI_BLEND_MODE_DST_OVER, 1447 /** r = s * da: Only the part of the source pixels that overlap with the target pixels is displayed. */ 1448 ARKUI_BLEND_MODE_SRC_IN, 1449 /** r = d * sa: Only the part of the target pixels that overlap with the source pixels is displayed. */ 1450 ARKUI_BLEND_MODE_DST_IN, 1451 /** r = s * (1 - da): Only the part of the source pixels that do not overlap with the target pixels is displayed. */ 1452 ARKUI_BLEND_MODE_SRC_OUT, 1453 /** r = d * (1 - sa): Only the part of the target pixels that do not overlap with the source pixels is displayed. */ 1454 ARKUI_BLEND_MODE_DST_OUT, 1455 /** r = s * da + d * (1 - sa): The part of the source pixels that overlap with the target pixels is displayed and 1456 * the part of the target pixels that do not overlap with the source pixels are displayed. 1457 */ 1458 ARKUI_BLEND_MODE_SRC_ATOP, 1459 /** r = d * sa + s * (1 - da): The part of the target pixels that overlap with the source pixels and the part of 1460 * the source pixels that do not overlap with the target pixels are displayed. 1461 */ 1462 ARKUI_BLEND_MODE_DST_ATOP, 1463 /** r = s * (1 - da) + d * (1 - sa): Only the non-overlapping part between the source pixels and the target pixels 1464 * is displayed. 1465 */ 1466 ARKUI_BLEND_MODE_XOR, 1467 /** r = min(s + d, 1): New pixels resulting from adding the source pixels to the target pixels are displayed. */ 1468 ARKUI_BLEND_MODE_PLUS, 1469 /** r = s * d: New pixels resulting from multiplying the source pixels with the target pixels are displayed. */ 1470 ARKUI_BLEND_MODE_MODULATE, 1471 /** r = s + d - s * d: Pixels are blended by adding the source pixels to the target pixels and subtracting the 1472 * product of their multiplication. 1473 */ 1474 ARKUI_BLEND_MODE_SCREEN, 1475 /** The MULTIPLY or SCREEN mode is used based on the target pixels. */ 1476 ARKUI_BLEND_MODE_OVERLAY, 1477 /** rc = s + d - max(s * da, d * sa), ra = kSrcOver: When two colors overlap, whichever is darker is used. */ 1478 ARKUI_BLEND_MODE_DARKEN, 1479 /** rc = s + d - min(s * da, d * sa), ra = 1480 * kSrcOver: The final pixels are composed of the lightest values of pixels. 1481 */ 1482 ARKUI_BLEND_MODE_LIGHTEN, 1483 /** The colors of the target pixels are lightened to reflect the source pixels. */ 1484 ARKUI_BLEND_MODE_COLOR_DODGE, 1485 /** The colors of the target pixels are darkened to reflect the source pixels. */ 1486 ARKUI_BLEND_MODE_COLOR_BURN, 1487 /** The MULTIPLY or SCREEN mode is used, depending on the source pixels. */ 1488 ARKUI_BLEND_MODE_HARD_LIGHT, 1489 /** The LIGHTEN or DARKEN mode is used, depending on the source pixels. */ 1490 ARKUI_BLEND_MODE_SOFT_LIGHT, 1491 /** rc = s + d - 2 * (min(s * da, d * sa)), ra = 1492 kSrcOver: The final pixel is the result of subtracting the darker of the two pixels (source and target) from 1493 the lighter one. */ 1494 ARKUI_BLEND_MODE_DIFFERENCE, 1495 /** rc = s + d - two(s * d), ra = kSrcOver: The final pixel is similar to <b>DIFFERENCE</b>, but with less contrast. 1496 */ 1497 ARKUI_BLEND_MODE_EXCLUSION, 1498 /** r = s * (1 - da) + d * (1 - sa) + s * d: The final pixel is the result of multiplying the source pixel 1499 * by the target pixel. */ 1500 ARKUI_BLEND_MODE_MULTIPLY, 1501 /** The resultant image is created with the luminance and saturation of the source image and the hue of the target 1502 * image. */ 1503 ARKUI_BLEND_MODE_HUE, 1504 /** The resultant image is created with the luminance and hue of the target image and the saturation of the source 1505 * image. */ 1506 ARKUI_BLEND_MODE_SATURATION, 1507 /** The resultant image is created with the saturation and hue of the source image and the luminance of the target 1508 * image. */ 1509 ARKUI_BLEND_MODE_COLOR, 1510 /** The resultant image is created with the saturation and hue of the target image and the luminance of the source 1511 * image. */ 1512 ARKUI_BLEND_MODE_LUMINOSITY, 1513 } ArkUI_BlendMode; 1514 1515 /** 1516 * @brief Enumerates the modes in which components are laid out along the main axis of the container. 1517 * 1518 * @since 12 1519 */ 1520 typedef enum { 1521 /** Components are arranged from left to right. */ 1522 ARKUI_DIRECTION_LTR = 0, 1523 /** Components are arranged from right to left. */ 1524 ARKUI_DIRECTION_RTL, 1525 /** The default layout direction is used. */ 1526 ARKUI_DIRECTION_AUTO = 3, 1527 } ArkUI_Direction; 1528 1529 /** 1530 * @brief Enumerates the modes in which components are laid out along the cross axis of the container. 1531 * 1532 * @since 12 1533 */ 1534 typedef enum { 1535 /** The default configuration in the container is used. */ 1536 ARKUI_ITEM_ALIGNMENT_AUTO = 0, 1537 /** The items in the container are aligned with the cross-start edge. */ 1538 ARKUI_ITEM_ALIGNMENT_START, 1539 /** The items in the container are centered along the cross axis. */ 1540 ARKUI_ITEM_ALIGNMENT_CENTER, 1541 /** The items in the container are aligned with the cross-end edge. */ 1542 ARKUI_ITEM_ALIGNMENT_END, 1543 /** The items in the container are stretched and padded along the cross axis. */ 1544 ARKUI_ITEM_ALIGNMENT_STRETCH, 1545 /** The items in the container are aligned in such a manner that their text baselines are aligned along the 1546 * cross axis. */ 1547 ARKUI_ITEM_ALIGNMENT_BASELINE, 1548 } ArkUI_ItemAlignment; 1549 1550 /** 1551 * @brief Enumerates the foreground colors. 1552 * 1553 * @since 12 1554 */ 1555 typedef enum { 1556 /** The foreground colors are the inverse of the component background colors. */ 1557 ARKUI_COLOR_STRATEGY_INVERT = 0, 1558 /** The shadow colors of the component are the average color obtained from the component background shadow area. */ 1559 ARKUI_COLOR_STRATEGY_AVERAGE, 1560 /** The shadow colors of the component are the primary color obtained from the component background shadow area. */ 1561 ARKUI_COLOR_STRATEGY_PRIMARY, 1562 } ArkUI_ColorStrategy; 1563 1564 /** 1565 * @brief Enumerates the vertical alignment modes. 1566 * 1567 * @since 12 1568 */ 1569 typedef enum { 1570 /** The child components are aligned with the start edge of the main axis. */ 1571 ARKUI_FLEX_ALIGNMENT_START = 1, 1572 /** The child components are aligned in the center of the main axis. */ 1573 ARKUI_FLEX_ALIGNMENT_CENTER = 2, 1574 /** The child components are aligned with the end edge of the main axis. */ 1575 ARKUI_FLEX_ALIGNMENT_END = 3, 1576 /** The child components are evenly distributed along the main axis. The space between any two adjacent components 1577 * is the same. The first component is aligned with the main-start, and the last component is aligned with 1578 * the main-end. 1579 */ 1580 ARKUI_FLEX_ALIGNMENT_SPACE_BETWEEN = 6, 1581 /** The child components are evenly distributed along the main axis. The space between any two adjacent components 1582 * is the same. The space between the first component and main-start, and that between the last component and 1583 * cross-main are both half the size of the space between two adjacent components. 1584 */ 1585 ARKUI_FLEX_ALIGNMENT_SPACE_AROUND = 7, 1586 /** The child components are evenly distributed along the main axis. The space between the first component 1587 * and main-start, the space between the last component and main-end, and the space between any two adjacent 1588 * components are the same. 1589 */ 1590 ARKUI_FLEX_ALIGNMENT_SPACE_EVENLY = 8, 1591 } ArkUI_FlexAlignment; 1592 1593 /** 1594 * @brief Enumerates the directions of the main axis in the flex container. 1595 * 1596 * @since 12 1597 */ 1598 typedef enum { 1599 /** The child components are arranged in the same direction as the main axis runs along the rows. */ 1600 ARKUI_FLEX_DIRECTION_ROW = 0, 1601 /** The child components are arranged in the same direction as the main axis runs down the columns. */ 1602 ARKUI_FLEX_DIRECTION_COLUMN, 1603 /** The child components are arranged opposite to the <b>ROW</b> direction. */ 1604 ARKUI_FLEX_DIRECTION_ROW_REVERSE, 1605 /** The child components are arranged opposite to the <b>COLUMN</b> direction. */ 1606 ARKUI_FLEX_DIRECTION_COLUMN_REVERSE, 1607 } ArkUI_FlexDirection; 1608 1609 /** 1610 * @brief Defines whether the flex container has a single line or multiple lines. 1611 * 1612 * @since 12 1613 */ 1614 typedef enum { 1615 /** The child components in the flex container are arranged in a single line, and they cannot overflow. */ 1616 ARKUI_FLEX_WRAP_NO_WRAP = 0, 1617 /** The child components in the flex container are arranged in multiple lines, and they may overflow. */ 1618 ARKUI_FLEX_WRAP_WRAP, 1619 /** The child components in the flex container are reversely arranged in multiple lines, and they may overflow. */ 1620 ARKUI_FLEX_WRAP_WRAP_REVERSE, 1621 } ArkUI_FlexWrap; 1622 1623 /** 1624 * @brief Enumerates the visibility values. 1625 * 1626 * @since 12 1627 */ 1628 typedef enum { 1629 /** The component is visible. */ 1630 ARKUI_VISIBILITY_VISIBLE = 0, 1631 /** The component is hidden, and a placeholder is used for it in the layout. */ 1632 ARKUI_VISIBILITY_HIDDEN, 1633 /** The component is hidden. It is not involved in the layout, and no placeholder is used for it. */ 1634 ARKUI_VISIBILITY_NONE, 1635 } ArkUI_Visibility; 1636 1637 /** 1638 * @brief Enumerates the alignment modes between the calendar picker and the entry component. 1639 * 1640 * @since 12 1641 */ 1642 typedef enum { 1643 /** Left aligned. */ 1644 ARKUI_CALENDAR_ALIGNMENT_START = 0, 1645 /** Center aligned. */ 1646 ARKUI_CALENDAR_ALIGNMENT_CENTER, 1647 /** Right aligned. */ 1648 ARKUI_CALENDAR_ALIGNMENT_END, 1649 } ArkUI_CalendarAlignment; 1650 1651 /** 1652 * @brief Enumerates the mask types. 1653 * 1654 * @since 12 1655 */ 1656 typedef enum { 1657 /** Rectangle. */ 1658 ARKUI_MASK_TYPE_RECTANGLE = 0, 1659 /** Circle. */ 1660 ARKUI_MASK_TYPE_CIRCLE, 1661 /** Ellipse. */ 1662 ARKUI_MASK_TYPE_ELLIPSE, 1663 /** Path. */ 1664 ARKUI_MASK_TYPE_PATH, 1665 /** Progress indicator. */ 1666 ARKUI_MASK_TYPE_PROGRESS, 1667 } ArkUI_MaskType; 1668 1669 /** 1670 * @brief Enumerates the clipping region types. 1671 * 1672 * @since 12 1673 */ 1674 typedef enum { 1675 /** Rectangle. */ 1676 ARKUI_CLIP_TYPE_RECTANGLE = 0, 1677 /** Circle. */ 1678 ARKUI_CLIP_TYPE_CIRCLE, 1679 /** Ellipse. */ 1680 ARKUI_CLIP_TYPE_ELLIPSE, 1681 /** Path. */ 1682 ARKUI_CLIP_TYPE_PATH, 1683 } ArkUI_ClipType; 1684 1685 /** 1686 * @brief Defines the gradient color stop structure. 1687 * 1688 * @since 12 1689 */ 1690 typedef struct { 1691 /** Color array. */ 1692 const uint32_t* colors; 1693 /** Position array. */ 1694 float* stops; 1695 /** Length array. */ 1696 int size; 1697 } ArkUI_ColorStop; 1698 1699 /** 1700 * @brief Enumerates the custom shapes. 1701 * 1702 * @since 12 1703 */ 1704 typedef enum { 1705 /** Rectangle. */ 1706 ARKUI_SHAPE_TYPE_RECTANGLE = 0, 1707 /** Circle. */ 1708 ARKUI_SHAPE_TYPE_CIRCLE, 1709 /** Ellipse. */ 1710 ARKUI_SHAPE_TYPE_ELLIPSE, 1711 /** Path. */ 1712 ARKUI_SHAPE_TYPE_PATH, 1713 } ArkUI_ShapeType; 1714 1715 /** 1716 * @brief Enumerates the gradient directions. 1717 * 1718 * @since 12 1719 */ 1720 typedef enum { 1721 /** From right to left. */ 1722 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT = 0, 1723 /** From bottom to top. */ 1724 ARKUI_LINEAR_GRADIENT_DIRECTION_TOP, 1725 /** From left to right. */ 1726 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT, 1727 /** From top to bottom. */ 1728 ARKUI_LINEAR_GRADIENT_DIRECTION_BOTTOM, 1729 /** From lower right to upper left. */ 1730 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT_TOP, 1731 /** From upper right to lower left. */ 1732 ARKUI_LINEAR_GRADIENT_DIRECTION_LEFT_BOTTOM, 1733 /** From lower left to upper right. */ 1734 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT_TOP, 1735 /** From upper left to lower right. */ 1736 ARKUI_LINEAR_GRADIENT_DIRECTION_RIGHT_BOTTOM, 1737 /** No gradient. */ 1738 ARKUI_LINEAR_GRADIENT_DIRECTION_NONE, 1739 /** Custom direction. */ 1740 ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM, 1741 } ArkUI_LinearGradientDirection; 1742 1743 /** 1744 * @brief Enumerates the word break rules. 1745 * 1746 * @since 12 1747 */ 1748 typedef enum { 1749 /** Word breaks can occur between any two characters for Chinese, Japanese, and Korean (CJK) text, but can occur 1750 * only at a space character for non-CJK text (such as English). */ 1751 ARKUI_WORD_BREAK_NORMAL = 0, 1752 /** Word breaks can occur between any two characters for non-CJK text. CJK text behavior is the same as for 1753 * <b>NORMAL</b>. */ 1754 ARKUI_WORD_BREAK_BREAK_ALL, 1755 /** This option has the same effect as <b>BREAK_ALL</b> for non-CJK text, except that if it preferentially wraps 1756 * lines at appropriate characters (for example, spaces) whenever possible. 1757 CJK text behavior is the same as for <b>NORMAL</b>. */ 1758 ARKUI_WORD_BREAK_BREAK_WORD, 1759 /** For supported languages, line breaks can be performed by syllables. */ 1760 ARKUI_WORD_BREAK_HYPHENATION, 1761 } ArkUI_WordBreak; 1762 1763 /** 1764 * @brief Enumerates the ellipsis positions. 1765 * 1766 * @since 12 1767 */ 1768 typedef enum { 1769 /** An ellipsis is used at the start of the line of text. */ 1770 ARKUI_ELLIPSIS_MODE_START = 0, 1771 /** An ellipsis is used at the center of the line of text. */ 1772 ARKUI_ELLIPSIS_MODE_CENTER, 1773 /** An ellipsis is used at the end of the line of text. */ 1774 ARKUI_ELLIPSIS_MODE_END, 1775 } ArkUI_EllipsisMode; 1776 1777 /** 1778 * @brief Enumerates the image rendering modes. 1779 * 1780 * @since 12 1781 */ 1782 typedef enum { 1783 /** Render image pixels as they are in the original source image. */ 1784 ARKUI_IMAGE_RENDER_MODE_ORIGINAL = 0, 1785 /** Render image pixels to create a monochrome template image. */ 1786 ARKUI_IMAGE_RENDER_MODE_TEMPLATE, 1787 } ArkUI_ImageRenderMode; 1788 1789 /** 1790 * @brief Enumerates the slide-in and slide-out positions of the component from the screen edge during transition. 1791 * 1792 * @since 12 1793 */ 1794 typedef enum { 1795 /** Top edge of the window. */ 1796 ARKUI_TRANSITION_EDGE_TOP = 0, 1797 /** Bottom edge of the window. */ 1798 ARKUI_TRANSITION_EDGE_BOTTOM, 1799 /** Left edge of the window. */ 1800 ARKUI_TRANSITION_EDGE_START, 1801 /** Right edge of the window. */ 1802 ARKUI_TRANSITION_EDGE_END, 1803 } ArkUI_TransitionEdge; 1804 1805 /** 1806 * @brief Defines how the specified blend mode is applied. 1807 * 1808 * @since 12 1809 */ 1810 typedef enum { 1811 /** The content of the view is blended in sequence on the target image. */ 1812 BLEND_APPLY_TYPE_FAST = 0, 1813 /** The content of the component and its child components are drawn on the offscreen canvas, and then blended with 1814 the existing content on the canvas. */ 1815 BLEND_APPLY_TYPE_OFFSCREEN, 1816 } ArkUI_BlendApplyType; 1817 1818 /** 1819 * @brief Defines a mask area. 1820 * 1821 * @since 12 1822 */ 1823 typedef struct { 1824 /** X coordinate of the mask area. */ 1825 float x; 1826 /** Y coordinate of the mask area. */ 1827 float y; 1828 /** Width of the mask area. */ 1829 float width; 1830 /** Height of the mask area. */ 1831 float height; 1832 } ArkUI_Rect; 1833 1834 /** 1835 * @brief Describes the width and height of a component. 1836 * 1837 * @since 12 1838 */ 1839 typedef struct { 1840 /** Width, in px. */ 1841 int32_t width; 1842 /** Height, in px. */ 1843 int32_t height; 1844 } ArkUI_IntSize; 1845 1846 /** 1847 * @brief Describes the position of a component. 1848 * 1849 * @since 12 1850 */ 1851 typedef struct { 1852 /** Horizontal coordinate, in px. */ 1853 int32_t x; 1854 /** Vertical coordinate, in px. */ 1855 int32_t y; 1856 } ArkUI_IntOffset; 1857 1858 1859 /** 1860 * @brief Describes the margins of a component. 1861 * 1862 * @since 12 1863 */ 1864 typedef struct { 1865 /** Top margin, in vp. */ 1866 float top; 1867 /** Right margin, in vp. */ 1868 float right; 1869 /** Bottom margin, in vp. */ 1870 float bottom; 1871 /** Left margin, in vp. */ 1872 float left; 1873 } ArkUI_Margin; 1874 1875 /** 1876 * @brief Enumerates the animation onFinish callback types. 1877 * 1878 * @since 12 1879 */ 1880 typedef enum { 1881 /** The callback is invoked when the entire animation is removed once it has finished. */ 1882 ARKUI_FINISH_CALLBACK_REMOVED = 0, 1883 /** The callback is invoked when the animation logically enters the falling state, though it may still be in its 1884 * long tail state. */ 1885 ARKUI_FINISH_CALLBACK_LOGICALLY, 1886 } ArkUI_FinishCallbackType; 1887 1888 /** 1889 * @brief defines the direction of the barrier line. 1890 * 1891 * @since 12 1892 */ 1893 typedef enum { 1894 /** The barrier is the leftmost of all its referencedIds. */ 1895 ARKUI_BARRIER_DIRECTION_START = 0, 1896 /** The barrier is on the rightmost side of all its referencedIds. */ 1897 ARKUI_BARRIER_DIRECTION_END, 1898 /** The barrier is at the top of all its referencedIds. */ 1899 ARKUI_BARRIER_DIRECTION_TOP, 1900 /** The barrier is at the bottom of all its referencedIds. */ 1901 ARKUI_BARRIER_DIRECTION_BOTTOM 1902 } ArkUI_BarrierDirection; 1903 1904 1905 /** 1906 * @brief defines the style of the chain. 1907 * 1908 * @since 12 1909 */ 1910 typedef enum { 1911 /** Components are evenly distributed among constraint anchor points. */ 1912 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_SPREAD = 0, 1913 /** Except for the first and last two sub-components, 1914 * other components are evenly distributed between the constraint anchor points. */ 1915 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_SPREAD_INSIDE, 1916 /** No gaps in subcomponents within the chain. */ 1917 ARKUI_RELATIVE_LAYOUT_CHAIN_STYLE_PACKED, 1918 } ArkUI_RelativeLayoutChainStyle; 1919 1920 1921 /** 1922 * @brief Enumerates the alignment modes of items along the cross axis. 1923 * 1924 * @since 12 1925 */ 1926 typedef enum { 1927 /** The list items are packed toward the start edge of the list container along the cross axis. */ 1928 ARKUI_LIST_ITEM_ALIGNMENT_START = 0, 1929 /** The list items are centered in the list container along the cross axis. */ 1930 ARKUI_LIST_ITEM_ALIGNMENT_CENTER, 1931 /** The list items are packed toward the end edge of the list container along the cross axis. */ 1932 ARKUI_LIST_ITEM_ALIGNMENT_END, 1933 } ArkUI_ListItemAlignment; 1934 1935 /** 1936 * @brief Enumerates the component units. 1937 * 1938 * @since 12 1939 */ 1940 typedef enum { 1941 /** Default, which is fp for fonts and vp for non-fonts. */ 1942 ARKUI_LENGTH_METRIC_UNIT_DEFAULT = -1, 1943 /** px. */ 1944 ARKUI_LENGTH_METRIC_UNIT_PX = 0, 1945 /** vp. */ 1946 ARKUI_LENGTH_METRIC_UNIT_VP, 1947 /** fp. */ 1948 ARKUI_LENGTH_METRIC_UNIT_FP 1949 } ArkUI_LengthMetricUnit; 1950 1951 typedef enum { 1952 ARKUI_RENDER_FIT_CENTER = 0, 1953 ARKUI_RENDER_FIT_TOP, 1954 ARKUI_RENDER_FIT_BOTTOM, 1955 ARKUI_RENDER_FIT_LEFT, 1956 ARKUI_RENDER_FIT_RIGHT, 1957 ARKUI_RENDER_FIT_TOP_LEFT, 1958 ARKUI_RENDER_FIT_TOP_RIGHT, 1959 ARKUI_RENDER_FIT_BOTTOM_LEFT, 1960 ARKUI_RENDER_FIT_BOTTOM_RIGHT, 1961 ARKUI_RENDER_FIT_RESIZE_FILL, 1962 ARKUI_RENDER_FIT_RESIZE_CONTAIN, 1963 ARKUI_RENDER_FIT_RESIZE_CONTAIN_TOP_LEFT, 1964 ARKUI_RENDER_FIT_RESIZE_CONTAIN_BOTTOM_RIGHT, 1965 ARKUI_RENDER_FIT_RESIZE_COVER, 1966 ARKUI_RENDER_FIT_RESIZE_COVER_TOP_LEFT, 1967 ARKUI_RENDER_FIT_RESIZE_COVER_BOTTOM_RIGHT 1968 } ArkUI_RenderFit; 1969 1970 /** 1971 * @brief Enumerates the autofill types. 1972 * 1973 * @since 12 1974 */ 1975 typedef enum { 1976 /** Username. Password Vault, when enabled, can automatically save and fill in usernames. */ 1977 ARKUI_TEXTINPUT_CONTENT_TYPE_USER_NAME = 0, 1978 /** Password. Password Vault, when enabled, can automatically save and fill in passwords. */ 1979 ARKUI_TEXTINPUT_CONTENT_TYPE_PASSWORD, 1980 /** New password. Password Vault, when enabled, can automatically generate a new password. */ 1981 ARKUI_TEXTINPUT_CONTENT_TYPE_NEW_PASSWORD, 1982 /** Full street address. The scenario-based autofill feature, when enabled, can automatically save and fill in full 1983 * street addresses. */ 1984 ARKUI_TEXTINPUT_CONTENT_TYPE_FULL_STREET_ADDRESS, 1985 /** House number. The scenario-based autofill feature, when enabled, can automatically save and fill in house 1986 * numbers. */ 1987 ARKUI_TEXTINPUT_CONTENT_TYPE_HOUSE_NUMBER, 1988 /** District and county. The scenario-based autofill feature, when enabled, can automatically save and fill in 1989 * districts and counties. */ 1990 ARKUI_TEXTINPUT_CONTENT_TYPE_DISTRICT_ADDRESS, 1991 /** City. The scenario-based autofill feature, when enabled, can automatically save and fill in cities. */ 1992 ARKUI_TEXTINPUT_CONTENT_TYPE_CITY_ADDRESS, 1993 /** Province. The scenario-based autofill feature, when enabled, can automatically save and fill in provinces. */ 1994 ARKUI_TEXTINPUT_CONTENT_TYPE_PROVINCE_ADDRESS, 1995 /** Country. The scenario-based autofill feature, when enabled, can automatically save and fill in countries. */ 1996 ARKUI_TEXTINPUT_CONTENT_TYPE_COUNTRY_ADDRESS, 1997 /** Full name. The scenario-based autofill feature, when enabled, can automatically save and fill in full names. */ 1998 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_FULL_NAME, 1999 /** Last name. The scenario-based autofill feature, when enabled, can automatically save and fill in last names. */ 2000 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_LAST_NAME, 2001 /** First name. The scenario-based autofill feature, when enabled, can automatically save and fill in first names. 2002 */ 2003 ARKUI_TEXTINPUT_CONTENT_TYPE_PERSON_FIRST_NAME, 2004 /** Phone number. The scenario-based autofill feature, when enabled, can automatically save and fill in phone 2005 * numbers. */ 2006 ARKUI_TEXTINPUT_CONTENT_TYPE_PHONE_NUMBER, 2007 /** Country code. The scenario-based autofill feature, when enabled, can automatically save and fill in country 2008 * codes. */ 2009 ARKUI_TEXTINPUT_CONTENT_TYPE_PHONE_COUNTRY_CODE, 2010 /** Phone number with country code. The scenario-based autofill feature, when enabled, can automatically save and 2011 * fill in phone numbers with country codes. */ 2012 ARKUI_TEXTINPUT_CONTENT_TYPE_FULL_PHONE_NUMBER, 2013 /** Email address. The scenario-based autofill feature, when enabled, can automatically save and fill in email 2014 * addresses. */ 2015 ARKUI_TEXTINPUT_CONTENT_EMAIL_ADDRESS, 2016 /** Bank card number. The scenario-based autofill feature, when enabled, can automatically save and fill in bank 2017 * card numbers. */ 2018 ARKUI_TEXTINPUT_CONTENT_TYPE_BANK_CARD_NUMBER, 2019 /** ID card number. The scenario-based autofill feature, when enabled, can automatically save and fill in ID card 2020 * numbers. */ 2021 ARKUI_TEXTINPUT_CONTENT_TYPE_ID_CARD_NUMBER, 2022 /** Nickname. The scenario-based autofill feature, when enabled, can automatically save and fill in nicknames. */ 2023 ARKUI_TEXTINPUT_CONTENT_TYPE_NICKNAME, 2024 /** Address information without street address. The scenario-based autofill feature, when enabled, can automatically 2025 * save and fill in address information without street addresses. */ 2026 ARKUI_TEXTINPUT_CONTENT_TYPE_DETAIL_INFO_WITHOUT_STREET, 2027 /** Standard address. The scenario-based autofill feature, when enabled, can automatically save and fill in standard 2028 * addresses. */ 2029 ARKUI_TEXTINPUT_CONTENT_TYPE_FORMAT_ADDRESS, 2030 /** 2031 * Passport number. The scenario-based autofill feature, when enabled, can automatically save and fill in passport 2032 * numbers. 2033 * @since 16 2034 */ 2035 ARKUI_TEXTINPUT_CONTENT_TYPE_PASSPORT_NUMBER, 2036 /** 2037 * Passport validity. The scenario-based autofill feature, when enabled, can automatically save and fill in 2038 * passport validities. 2039 * @since 16 2040 */ 2041 ARKUI_TEXTINPUT_CONTENT_TYPE_VALIDITY, 2042 /** 2043 * Place of issue. The scenario-based autofill feature, when enabled, can automatically save and fill in 2044 * place of issues. 2045 * @since 16 2046 */ 2047 ARKUI_TEXTINPUT_CONTENT_TYPE_ISSUE_AT, 2048 /** 2049 * Tax organization. The scenario-based autofill feature, when enabled, can automatically save and fill in tax 2050 * organizations. 2051 * @since 16 2052 */ 2053 ARKUI_TEXTINPUT_CONTENT_TYPE_ORGANIZATION, 2054 /** 2055 * Tax id. The scenario-based autofill feature, when enabled, can automatically save and fill in standard Tax ids. 2056 * @since 16 2057 */ 2058 ARKUI_TEXTINPUT_CONTENT_TYPE_TAX_ID, 2059 /** 2060 * City name and state name or state code. The scenario-based autofill feature, when enabled, can automatically 2061 * save and fill in city names and state names or state codes. 2062 * @since 16 2063 */ 2064 ARKUI_TEXTINPUT_CONTENT_TYPE_ADDRESS_CITY_AND_STATE, 2065 /** 2066 * Flight number. The scenario-based autofill feature, when enabled, can automatically save and fill in flight 2067 * numbers. 2068 * @since 16 2069 */ 2070 ARKUI_TEXTINPUT_CONTENT_TYPE_FLIGHT_NUMBER, 2071 /** 2072 * License number. The scenario-based autofill feature, when enabled, can automatically save and fill in license 2073 * numbers. 2074 * @since 16 2075 */ 2076 ARKUI_TEXTINPUT_CONTENT_TYPE_LICENSE_NUMBER, 2077 /** 2078 * License file number. The scenario-based autofill feature, when enabled, can automatically save and fill in 2079 * license file numbers. 2080 * @since 16 2081 */ 2082 ARKUI_TEXTINPUT_CONTENT_TYPE_LICENSE_FILE_NUMBER, 2083 /** 2084 * License plate number. The scenario-based autofill feature, when enabled, can automatically save and fill in 2085 * license plate numbers. 2086 * @since 16 2087 */ 2088 ARKUI_TEXTINPUT_CONTENT_TYPE_LICENSE_PLATE, 2089 /** 2090 * Engine number. The scenario-based autofill feature, when enabled, can automatically save and fill in engine 2091 * numbers. 2092 * @since 16 2093 */ 2094 ARKUI_TEXTINPUT_CONTENT_TYPE_ENGINE_NUMBER, 2095 /** 2096 * License chassis number. The scenario-based autofill feature, when enabled, can automatically save and fill in 2097 * license chassis numbers. 2098 * @since 16 2099 */ 2100 ARKUI_TEXTINPUT_CONTENT_TYPE_LICENSE_CHASSIS_NUMBER, 2101 }ArkUI_TextInputContentType; 2102 2103 /** 2104 * @brief Defines the text input style. 2105 * 2106 * @since 12 2107 */ 2108 typedef enum { 2109 /** Default style. The caret width is fixed at 1.5 vp, and the caret height is subject to the background height and 2110 * font size of the selected text. */ 2111 ARKUI_TEXTINPUT_STYLE_DEFAULT = 0, 2112 /** Inline input style. The background height of the selected text is the same as the height of the text box. */ 2113 ARKUI_TEXTINPUT_STYLE_INLINE 2114 } ArkUI_TextInputStyle; 2115 2116 /** 2117 * @brief Defines the keyboard style of input box 2118 * 2119 * @since 15 2120 */ 2121 typedef enum { 2122 /** 2123 * Default appearance mode, won't adopt immersive styles. 2124 * @since 15 2125 */ 2126 ARKUI_KEYBOARD_APPEARANCE_NONE_IMMERSIVE = 0, 2127 /** 2128 * Immersive mode. 2129 * @since 15 2130 */ 2131 ARKUI_KEYBOARD_APPEARANCE_IMMERSIVE = 1, 2132 /** 2133 * Light immersive style. 2134 * @since 15 2135 */ 2136 ARKUI_KEYBOARD_APPEARANCE_LIGHT_IMMERSIVE = 2, 2137 /** 2138 * Dark immersive style. 2139 * @since 15 2140 */ 2141 ARKUI_KEYBOARD_APPEARANCE_DARK_IMMERSIVE = 3, 2142 } ArkUI_KeyboardAppearance; 2143 2144 /** 2145 * @brief Defines the state of the NavDestination component. 2146 * 2147 * @since 12 2148 */ 2149 typedef enum { 2150 /** The NavDestination show. */ 2151 ARKUI_NAV_DESTINATION_STATE_ON_SHOW = 0, 2152 /** The NavDestination hide. */ 2153 ARKUI_NAV_DESTINATION_STATE_ON_HIDE = 1, 2154 /** The NavDestination is mounted to the component tree. */ 2155 ARKUI_NAV_DESTINATION_STATE_ON_APPEAR = 2, 2156 /** The NavDestination removed from the component tree. */ 2157 ARKUI_NAV_DESTINATION_STATE_ON_DISAPPEAR = 3, 2158 /** Before the NavDestination show. */ 2159 ARKUI_NAV_DESTINATION_STATE_ON_WILL_SHOW = 4, 2160 /** Before the NavDestination hide. */ 2161 ARKUI_NAV_DESTINATION_STATE_ON_WILL_HIDE = 5, 2162 /** Before the NavDestination mount to the component tree. */ 2163 ARKUI_NAV_DESTINATION_STATE_ON_WILL_APPEAR = 6, 2164 /** Before the NavDestination removed from the component tree. */ 2165 ARKUI_NAV_DESTINATION_STATE_ON_WILL_DISAPPEAR = 7, 2166 /** The NavDestination returns from the component.*/ 2167 ARKUI_NAV_DESTINATION_STATE_ON_BACK_PRESS = 100, 2168 } ArkUI_NavDestinationState; 2169 2170 /** 2171 * @brief Define the state of Router Page. 2172 * 2173 * @since 12 2174 */ 2175 typedef enum { 2176 /** The Router Page is about to be created. */ 2177 ARKUI_ROUTER_PAGE_STATE_ABOUT_TO_APPEAR = 0, 2178 /** The Router Page is about to be destroyed. */ 2179 ARKUI_ROUTER_PAGE_STATE_ABOUT_TO_DISAPPEAR = 1, 2180 /** The Router Page show. */ 2181 ARKUI_ROUTER_PAGE_STATE_ON_SHOW = 2, 2182 /** The Router Page hide. */ 2183 ARKUI_ROUTER_PAGE_STATE_ON_HIDE = 3, 2184 /** The Router Page returns. */ 2185 ARKUI_ROUTER_PAGE_STATE_ON_BACK_PRESS = 4, 2186 } ArkUI_RouterPageState; 2187 2188 /** 2189 * @brief 定义文本识别的实体类型。 2190 * 2191 * @since 12 2192 */ 2193 typedef enum { 2194 /** 电话号码。*/ 2195 ARKUI_TEXT_DATA_DETECTOR_TYPE_PHONE_NUMBER = 0, 2196 /** 链接。 */ 2197 ARKUI_TEXT_DATA_DETECTOR_TYPE_URL, 2198 /** 邮箱。 */ 2199 ARKUI_TEXT_DATA_DETECTOR_TYPE_EMAIL, 2200 /** 地址。 */ 2201 ARKUI_TEXT_DATA_DETECTOR_TYPE_ADDRESS, 2202 } ArkUI_TextDataDetectorType; 2203 2204 /** 2205 * @brief Enumerates the button types. 2206 * 2207 * @since 12 2208 */ 2209 typedef enum { 2210 /** Normal button (without rounded corners by default). */ 2211 ARKUI_BUTTON_TYPE_NORMAL = 0, 2212 /** Capsule-type button (the round corner is half of the height by default). */ 2213 ARKUI_BUTTON_TYPE_CAPSULE, 2214 /** Circle button. */ 2215 ARKUI_BUTTON_TYPE_CIRCLE, 2216 /** 2217 * Rounded rectangle button. 2218 * @since 19 2219 */ 2220 ARKUI_BUTTON_ROUNDED_RECTANGLE = 8 2221 } ArkUI_ButtonType; 2222 2223 /** 2224 * @brief Define the navigation indicator type of the swiper. 2225 * 2226 * @since 12 2227 */ 2228 typedef enum { 2229 /** dot type. */ 2230 ARKUI_SWIPER_INDICATOR_TYPE_DOT, 2231 /** digit type. */ 2232 ARKUI_SWIPER_INDICATOR_TYPE_DIGIT, 2233 } ArkUI_SwiperIndicatorType; 2234 2235 2236 typedef enum { 2237 ARKUI_ANIMATION_DIRECTION_NORMAL = 0, 2238 ARKUI_ANIMATION_DIRECTION_REVERSE, 2239 ARKUI_ANIMATION_DIRECTION_ALTERNATE, 2240 ARKUI_ANIMATION_DIRECTION_ALTERNATE_REVERSE, 2241 } ArkUI_AnimationDirection; 2242 2243 typedef enum { 2244 /** In the folded state, when the ListItem slides in the opposite direction to the main axis, 2245 * the operation item is hidden.*/ 2246 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_COLLAPSED = 0, 2247 /** In the folded state, when the ListItem slides in the opposite direction to the spindle, 2248 * the operation item is displayed.*/ 2249 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_EXPANDED, 2250 /** Long distance state, the state of deleting a ListItem after it enters the long distance deletion area.*/ 2251 ARKUI_LIST_ITEM_SWIPE_ACTION_STATE_ACTIONING, 2252 } ArkUI_ListItemSwipeActionState; 2253 2254 typedef enum { 2255 /** The ListItem can continue to be scratched after the distance exceeds the size of the scratched component.*/ 2256 ARKUI_LIST_ITEM_SWIPE_EDGE_EFFECT_SPRING = 0, 2257 /** The sliding distance of the ListItem cannot exceed the size of the scratched component.*/ 2258 ARKUI_LIST_ITEM_SWIPE_EDGE_EFFECT_NONE, 2259 } ArkUI_ListItemSwipeEdgeEffect; 2260 2261 /** 2262 * @brief 定义帧动画的播放状态。 2263 * 2264 * @since 12 2265 */ 2266 typedef enum { 2267 /** 动画初始状态。 */ 2268 ARKUI_ANIMATION_STATUS_INITIAL, 2269 /** 动画处于播放状态。*/ 2270 ARKUI_ANIMATION_STATUS_RUNNING, 2271 /** 动画处于暂停状态。*/ 2272 ARKUI_ANIMATION_STATUS_PAUSED, 2273 /** 动画处于停止状态。*/ 2274 ARKUI_ANIMATION_STATUS_STOPPED, 2275 } ArkUI_AnimationStatus; 2276 2277 /** 2278 * @brief Enumerates the states before and after execution of the frame-by-frame animation. 2279 * 2280 * @since 12 2281 */ 2282 typedef enum { 2283 /** Before execution, the animation does not apply any styles to the target component. After execution, the 2284 * animation restores the target component to its default state. */ 2285 ARKUI_ANIMATION_FILL_MODE_NONE, 2286 /** The target component retains the state set by the last keyframe encountered during execution of the 2287 * animation. */ 2288 ARKUI_ANIMATION_FILL_MODE_FORWARDS, 2289 /** The animation applies the values defined in the first relevant keyframe once it is applied to the target 2290 * component, and retains the values during the period set by <b>delay</b>. */ 2291 ARKUI_ANIMATION_FILL_MODE_BACKWARDS, 2292 /** The animation follows the rules for both <b><b>Forwards</b></b> and <b><b>Backwards</b></b>, extending the 2293 * animation attributes in both directions. */ 2294 ARKUI_ANIMATION_FILL_MODE_BOTH, 2295 } ArkUI_AnimationFillMode; 2296 2297 /** 2298 * @brief Enumerates the error codes. 2299 * 2300 * @since 12 2301 */ 2302 typedef enum { 2303 /** No error. */ 2304 ARKUI_ERROR_CODE_NO_ERROR = 0, 2305 /** Invalid parameters. */ 2306 ARKUI_ERROR_CODE_PARAM_INVALID = 401, 2307 /** CAPI init error. */ 2308 ARKUI_ERROR_CODE_CAPI_INIT_ERROR = 500, 2309 /** 2310 * @error Internal error occurs, such as failure occurs because of the internal environment error, 2311 * or operation failed because of the internal execution failed. 2312 * @since 15 2313 */ 2314 ARKUI_ERROR_CODE_INTERNAL_ERROR = 100001, 2315 /** The component does not support specific attributes or events. */ 2316 ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED = 106102, 2317 /** The specific operation is not allowed on the node created by ArkTS. */ 2318 ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE = 106103, 2319 /** The adapter for lazy loading is not bound to the component. */ 2320 ARKUI_ERROR_CODE_NODE_ADAPTER_NONE_HOST = 106104, 2321 /** The adapter already exists. */ 2322 ARKUI_ERROR_CODE_NODE_ADAPTER_EXIST_IN_HOST = 106105, 2323 /** Failed to add the adapter because the corresponding node already has a subnode. */ 2324 ARKUI_ERROR_CODE_NODE_ADAPTER_CHILD_NODE_EXIST = 106106, 2325 /** The index value is invalid. */ 2326 ARKUI_ERROR_CODE_NODE_INDEX_INVALID = 106200, 2327 /** Failed to query route navigation information. */ 2328 ARKUI_ERROR_CODE_GET_INFO_FAILED = 106201, 2329 /** The buffer size is not large enough. */ 2330 ARKUI_ERROR_CODE_BUFFER_SIZE_ERROR = 106202, 2331 /** 2332 * @error The snapshot taking is timeout. 2333 * @since 15 2334 */ 2335 ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT = 160002, 2336 /** The node is not on main tree. */ 2337 ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE = 106203, 2338 /** 2339 * @error The node is running on invalid thread. 2340 * @since 20 2341 */ 2342 ARKUI_ERROR_CODE_NODE_ON_INVALID_THREAD = 106204, 2343 /** 2344 * @error Force dark config is invalid. 2345 * @since 20 2346 */ 2347 ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID = 106205, 2348 /** 2349 * @error The node type is not custom node. 2350 * @since 20 2351 */ 2352 ARKUI_ERROR_CODE_NOT_CUSTOM_NODE = 106401, 2353 /** 2354 * @error Node already has children. 2355 * @since 20 2356 */ 2357 ARKUI_ERROR_CODE_CHILD_EXISTED = 106402, 2358 /** 2359 * @error RenderNode parent is existed. 2360 * @since 20 2361 */ 2362 ARKUI_ERROR_CODE_RENDER_PARENT_EXISTED = 106403, 2363 /** 2364 * @error RenderNode child is not exist. 2365 * @since 20 2366 */ 2367 ARKUI_ERROR_CODE_RENDER_CHILD_NOT_EXIST = 106404, 2368 /** 2369 * @error Param is out of range. 2370 * @since 20 2371 */ 2372 ARKUI_ERROR_CODE_PARAM_OUT_OF_RANGE = 106405, 2373 /** 2374 * @error The node requesting focus is not focusable. 2375 * @since 15 2376 */ 2377 ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE = 150001, 2378 /** 2379 * @error The node requesting focus has unfocusable ancestor. 2380 * @since 15 2381 */ 2382 ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE_ANCESTOR = 150002, 2383 /** 2384 * @error The node requesting focus does not exists. 2385 * @since 15 2386 */ 2387 ARKUI_ERROR_CODE_FOCUS_NON_EXISTENT = 150003, 2388 /** The component is not a scroll container. */ 2389 ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER = 180001, 2390 /** The buffer is not large enough. */ 2391 ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH = 180002, 2392 /** 2393 * @error The event is not a clone event. 2394 * @since 15 2395 */ 2396 ARKUI_ERROR_CODE_NOT_CLONED_POINTER_EVENT = 180003, 2397 /** 2398 * @error The component status is abnormal. 2399 * @since 15 2400 */ 2401 ARKUI_ERROR_CODE_POST_CLONED_COMPONENT_STATUS_ABNORMAL = 180004, 2402 /** 2403 * @error No component hit to respond to the event. 2404 * @since 15 2405 */ 2406 ARKUI_ERROR_CODE_POST_CLONED_NO_COMPONENT_HIT_TO_RESPOND_TO_THE_EVENT = 180005, 2407 /** 2408 * @error input event type is not supported. 2409 * @since 20 2410 */ 2411 ARKUI_ERROR_INPUT_EVENT_TYPE_NOT_SUPPORT = 180006, 2412 /** invalid styled string */ 2413 ARKUI_ERROR_CODE_INVALID_STYLED_STRING = 180101, 2414 /** 2415 * @error The gesture recognizer type is not supported. 2416 * @since 18 2417 */ 2418 ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED = 180102, 2419 /** The uiContext is invalid. */ 2420 ARKUI_ERROR_CODE_UI_CONTEXT_INVALID = 190001, 2421 /** The callback function is invalid. */ 2422 ARKUI_ERROR_CODE_CALLBACK_INVALID = 190002, 2423 /** 2424 * @error operation is not allowed for current drag drop phase. 2425 * @since 19 2426 */ 2427 ARKUI_ERROR_CODE_DRAG_DROP_OPERATION_NOT_ALLOWED = 190004, 2428 /** 2429 * @error The XComponent is in invalid state. 2430 * @since 16 2431 */ 2432 ARKUI_ERROR_CODE_XCOMPONENT_STATE_INVALID = 103501, 2433 } ArkUI_ErrorCode; 2434 2435 /** 2436 * @brief defines the enumerated value of the extended security zone. 2437 * 2438 * @since 12 2439 */ 2440 typedef enum { 2441 /** The default security zone includes the status bar and navigation bar. */ 2442 ARKUI_SAFE_AREA_TYPE_SYSTEM = 1, 2443 /** Non-secure areas of the device, such as bangs or hole holes. */ 2444 ARKUI_SAFE_AREA_TYPE_CUTOUT = 1 << 1, 2445 /** Soft keyboard area. */ 2446 ARKUI_SAFE_AREA_TYPE_KEYBOARD = 1 << 2, 2447 } ArkUI_SafeAreaType; 2448 2449 /** 2450 * @brief Define an enum for the areas of the <b>ListItemGroup</b> component. 2451 * 2452 * @since 15 2453 */ 2454 typedef enum { 2455 /** Outside the area of the <b>ListItemGroup</b> component. */ 2456 ARKUI_LIST_ITEM_GROUP_AREA_OUTSIDE = 0, 2457 /** Area when the <b>ListItemGroup</b> component does not have the header, footer, or list item. */ 2458 ARKUI_LIST_ITEM_SWIPE_AREA_NONE, 2459 /** List item area of the <b>ListItemGroup</b> component. */ 2460 ARKUI_LIST_ITEM_SWIPE_AREA_ITEM, 2461 /** Header area of the <b>ListItemGroup</b> component. */ 2462 ARKUI_LIST_ITEM_SWIPE_AREA_HEADER, 2463 /** Footer area of the <b>ListItemGroup</b> component. */ 2464 ARKUI_LIST_ITEM_SWIPE_AREA_FOOTER, 2465 } ArkUI_ListItemGroupArea; 2466 2467 /** 2468 * @brief Enumerates the keyboard avoidance modes. 2469 * 2470 * @since 15 2471 */ 2472 typedef enum { 2473 /** Automatically avoids the soft keyboard and compresses the height when reaching the maximum limit. */ 2474 ARKUI_KEYBOARD_AVOID_MODE_DEFAULT = 0, 2475 /** Does not avoid the keyboard. */ 2476 ARKUI_KEYBOARD_AVOID_MODE_NONE, 2477 }ArkUI_KeyboardAvoidMode; 2478 2479 /** 2480 * @brief Enumerates the types of display areas for the hover mode. 2481 * 2482 * @since 15 2483 */ 2484 typedef enum { 2485 /** Upper half screen. */ 2486 ARKUI_HOVER_MODE_AREA_TYPE_TOP = 0, 2487 /** Lower half screen. */ 2488 ARKUI_HOVER_MODE_AREA_TYPE_BOTTOM, 2489 }ArkUI_HoverModeAreaType; 2490 2491 /** 2492 * @brief defines the enumerated value of the direction of the extended security zone. 2493 * 2494 * @since 12 2495 */ 2496 typedef enum { 2497 /** Upper area. */ 2498 ARKUI_SAFE_AREA_EDGE_TOP = 1, 2499 /** Lower area. */ 2500 ARKUI_SAFE_AREA_EDGE_BOTTOM = 1 << 1, 2501 /** Front area. */ 2502 ARKUI_SAFE_AREA_EDGE_START = 1 << 2, 2503 /** Tail area. */ 2504 ARKUI_SAFE_AREA_EDGE_END = 1 << 3, 2505 } ArkUI_SafeAreaEdge; 2506 2507 /** 2508 * @brief Enumerates the expand modes. 2509 * 2510 * @since 15 2511 */ 2512 typedef enum { 2513 /** Not expand. */ 2514 ARKUI_NOT_EXPAND = 0, 2515 /** Expand. */ 2516 ARKUI_EXPAND = 1, 2517 /** Lazy expand. Expand the children of node if needed. */ 2518 ARKUI_LAZY_EXPAND = 2, 2519 } ArkUI_ExpandMode; 2520 2521 /** 2522 * @brief Defines the navigation point indicator style of the <b><Swiper></b> component. 2523 * @brief Enumerates the UI states of a component, used for handling state-specific styles. 2524 * 2525 * @since 20 2526 */ 2527 typedef enum { 2528 /** Normal state. */ 2529 UI_STATE_NORMAL = 0, 2530 /** Pressed state. */ 2531 UI_STATE_PRESSED = 1 << 0, 2532 /** Focused state. */ 2533 UI_STATE_FOCUSED = 1 << 1, 2534 /** Disabled state. */ 2535 UI_STATE_DISABLED = 1 << 2, 2536 /** 2537 * Selected state. This state is supported only by specific component types: 2538 * <b>Checkbox</b>, <b>Radio</b>, <b>Toggle</b>, <b>List</b>, <b>Grid</b>, and <b>MenuItem</b>. 2539 */ 2540 UI_STATE_SELECTED = 1 << 3, 2541 } ArkUI_UIState; 2542 2543 /** 2544 * @brief Define an enum for the focus movement directions. 2545 * 2546 * @since 18 2547 */ 2548 typedef enum { 2549 /** Move focus forward. */ 2550 ARKUI_FOCUS_MOVE_FORWARD = 0, 2551 /** Move focus backward. */ 2552 ARKUI_FOCUS_MOVE_BACKWARD, 2553 /** Move focus up. */ 2554 ARKUI_FOCUS_MOVE_UP, 2555 /** Move focus down. */ 2556 ARKUI_FOCUS_MOVE_DOWN, 2557 /** Move focus left. */ 2558 ARKUI_FOCUS_MOVE_LEFT, 2559 /** Move focus right. */ 2560 ARKUI_FOCUS_MOVE_RIGHT, 2561 } ArkUI_FocusMove; 2562 2563 /** 2564 * @brief Enumerates the edge derection. 2565 * 2566 * @since 20 2567 */ 2568 typedef enum { 2569 /** Set all edge derection. */ 2570 ARKUI_EDGE_DIRECTION_ALL = 0, 2571 /** Set left edge derection. */ 2572 ARKUI_EDGE_DIRECTION_LEFT, 2573 /** Set right edge derection. */ 2574 ARKUI_EDGE_DIRECTION_RIGHT, 2575 /** Set top edge derection. */ 2576 ARKUI_EDGE_DIRECTION_TOP, 2577 /** Set bottom edge derection. */ 2578 ARKUI_EDGE_DIRECTION_BOTTOM, 2579 } ArkUI_EdgeDirection; 2580 2581 /** 2582 * @brief Enumerates the corner derection. 2583 * 2584 * @since 20 2585 */ 2586 typedef enum { 2587 /** Set all corner derection. */ 2588 ARKUI_CORNER_DIRECTION_ALL = 0, 2589 /** Set top left corner derection. */ 2590 ARKUI_CORNER_DIRECTION_TOP_LEFT, 2591 /** Set top right corner derection. */ 2592 ARKUI_CORNER_DIRECTION_TOP_RIGHT, 2593 /** Set bottom left corner derection. */ 2594 ARKUI_CORNER_DIRECTION_BOTTOM_LEFT, 2595 /** Set bottom right corner derection. */ 2596 ARKUI_CORNER_DIRECTION_BOTTOM_RIGHT, 2597 } ArkUI_CornerDirection; 2598 2599 /** 2600 * @brief Defines parameter used by the system font style callback event. 2601 * 2602 * @since 12 2603 */ 2604 typedef struct ArkUI_SystemFontStyleEvent ArkUI_SystemFontStyleEvent; 2605 2606 /** 2607 * @brief Defines the options for taking snapshot. 2608 * 2609 * @since 15 2610 */ 2611 typedef struct ArkUI_SnapshotOptions ArkUI_SnapshotOptions; 2612 2613 /** 2614 * @brief TextPicker single column selector, supports mixing text and images. 2615 * 2616 * @since 19 2617 */ 2618 typedef struct ArkUI_TextPickerRangeContentArray ArkUI_TextPickerRangeContentArray; 2619 2620 /** 2621 * @brief TextPicker multi column selector, supports mixing text and images. 2622 * 2623 * @since 19 2624 */ 2625 typedef struct ArkUI_TextCascadePickerRangeContentArray ArkUI_TextCascadePickerRangeContentArray; 2626 2627 typedef struct { 2628 float x; 2629 float y; 2630 float z; 2631 } ArkUI_TranslationOptions; 2632 2633 typedef struct { 2634 float x; 2635 float y; 2636 float z; 2637 float centerX; 2638 float centerY; 2639 } ArkUI_ScaleOptions; 2640 2641 typedef struct { 2642 float x; 2643 float y; 2644 float z; 2645 float angle; 2646 float centerX; 2647 float centerY; 2648 float centerZ; 2649 float perspective; 2650 } ArkUI_RotationOptions; 2651 2652 /** 2653 * @brief defines the measure info of the custom span. 2654 * 2655 * @since 12 2656 */ 2657 typedef struct ArkUI_CustomSpanMeasureInfo ArkUI_CustomSpanMeasureInfo; 2658 2659 /** 2660 * @brief defines the metrics of the custom span. 2661 * 2662 * @since 12 2663 */ 2664 typedef struct ArkUI_CustomSpanMetrics ArkUI_CustomSpanMetrics; 2665 2666 /** 2667 * @brief defines the draw info of the custom span. 2668 * 2669 * @since 12 2670 */ 2671 typedef struct ArkUI_CustomSpanDrawInfo ArkUI_CustomSpanDrawInfo; 2672 2673 /** 2674 * @brief Creates a size constraint. 2675 * 2676 * @since 12 2677 */ 2678 ArkUI_LayoutConstraint* OH_ArkUI_LayoutConstraint_Create(void); 2679 2680 /** 2681 * @brief Creates a deep copy of a size constraint. 2682 * 2683 * @param Constraint Indicates the pointer to the size constraint. 2684 * @return Returns the pointer to the new size constraint. 2685 * @since 12 2686 */ 2687 ArkUI_LayoutConstraint* OH_ArkUI_LayoutConstraint_Copy(const ArkUI_LayoutConstraint* Constraint); 2688 2689 /** 2690 * @brief Destroys the pointer to a size constraint. 2691 * 2692 * @param Constraint Indicates the pointer to the size constraint. 2693 * @since 12 2694 */ 2695 void* OH_ArkUI_LayoutConstraint_Dispose(ArkUI_LayoutConstraint* Constraint); 2696 2697 /** 2698 * @brief Obtains the maximum width for a size constraint, in px. 2699 * 2700 * @param Constraint Indicates the pointer to the size constraint. 2701 * @return Returns the maximum width. 2702 * @since 12 2703 */ 2704 int32_t OH_ArkUI_LayoutConstraint_GetMaxWidth(const ArkUI_LayoutConstraint* Constraint); 2705 2706 /** 2707 * @brief Obtains the minimum width for a size constraint, in px. 2708 * 2709 * @param Constraint Indicates the pointer to the size constraint. 2710 * @return Returns the minimum width. 2711 * @since 12 2712 */ 2713 int32_t OH_ArkUI_LayoutConstraint_GetMinWidth(const ArkUI_LayoutConstraint* Constraint); 2714 2715 /** 2716 * @brief Obtains the maximum height for a size constraint, in px. 2717 * 2718 * @param Constraint Indicates the pointer to the size constraint. 2719 * @return Returns the maximum height. 2720 * @since 12 2721 */ 2722 int32_t OH_ArkUI_LayoutConstraint_GetMaxHeight(const ArkUI_LayoutConstraint* Constraint); 2723 2724 /** 2725 * @brief Obtains the minimum height for a size constraint, in px. 2726 * 2727 * @param Constraint Indicates the pointer to the size constraint. 2728 * @return Returns the minimum height. 2729 * @since 12 2730 */ 2731 int32_t OH_ArkUI_LayoutConstraint_GetMinHeight(const ArkUI_LayoutConstraint* Constraint); 2732 2733 /** 2734 * @brief Obtains the width percentage reference for a size constraint, in px. 2735 * 2736 * @param Constraint Indicates the pointer to the size constraint. 2737 * @return Returns the width percentage reference. 2738 * @since 12 2739 */ 2740 int32_t OH_ArkUI_LayoutConstraint_GetPercentReferenceWidth(const ArkUI_LayoutConstraint* Constraint); 2741 2742 /** 2743 * @brief Obtains the height percentage reference for a size constraint, in px. 2744 * 2745 * @param Constraint Indicates the pointer to the size constraint. 2746 * @return Returns the height percentage reference. 2747 * @since 12 2748 */ 2749 int32_t OH_ArkUI_LayoutConstraint_GetPercentReferenceHeight(const ArkUI_LayoutConstraint* Constraint); 2750 2751 /** 2752 * @brief Sets the maximum width. 2753 * 2754 * @param Constraint Indicates the pointer to the size constraint. 2755 * @param value Indicates the maximum width, in px. 2756 * @since 12 2757 */ 2758 void OH_ArkUI_LayoutConstraint_SetMaxWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2759 2760 /** 2761 * @brief Sets the minimum width. 2762 * 2763 * @param Constraint Indicates the pointer to the size constraint. 2764 * @param value Indicates the minimum width, in px. 2765 * @since 12 2766 */ 2767 void OH_ArkUI_LayoutConstraint_SetMinWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2768 2769 /** 2770 * @brief Sets the maximum height. 2771 * 2772 * @param Constraint Indicates the pointer to the size constraint. 2773 * @param value Indicates the maximum height, in px. 2774 * @since 12 2775 */ 2776 void OH_ArkUI_LayoutConstraint_SetMaxHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2777 2778 /** 2779 * @brief Sets the minimum height. 2780 * 2781 * @param Constraint Indicates the pointer to the size constraint. 2782 * @param value Indicates the minimum height, in px. 2783 * @since 12 2784 */ 2785 void OH_ArkUI_LayoutConstraint_SetMinHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2786 2787 /** 2788 * @brief Sets the width percentage reference. 2789 * 2790 * @param Constraint Indicates the pointer to the size constraint. 2791 * @param value Indicates the width percentage reference, in px. 2792 * @since 12 2793 */ 2794 void OH_ArkUI_LayoutConstraint_SetPercentReferenceWidth(ArkUI_LayoutConstraint* Constraint, int32_t value); 2795 2796 /** 2797 * @brief Sets the height percentage reference. 2798 * 2799 * @param Constraint Indicates the pointer to the size constraint. 2800 * @param value Indicates the height percentage reference, in px. 2801 * @since 12 2802 */ 2803 void OH_ArkUI_LayoutConstraint_SetPercentReferenceHeight(ArkUI_LayoutConstraint* Constraint, int32_t value); 2804 2805 /** 2806 * @brief Obtains the pointer to a canvas for drawing, which can be converted into the <b>OH_Drawing_Canvas</b> pointer 2807 * in the <b>Drawing</b> module. 2808 * 2809 * @param context Indicates the pointer to the drawing context. 2810 * @return Returns the pointer to the canvas for drawing. 2811 * @since 12 2812 */ 2813 void* OH_ArkUI_DrawContext_GetCanvas(ArkUI_DrawContext* context); 2814 2815 /** 2816 * @brief Obtains the size of a drawing area. 2817 * 2818 * @param context Indicates the pointer to the drawing context. 2819 * @return Returns the size of the drawing area. 2820 * @since 12 2821 */ 2822 ArkUI_IntSize OH_ArkUI_DrawContext_GetSize(ArkUI_DrawContext* context); 2823 2824 /** 2825 * @brief Creates water flow section configuration. 2826 * 2827 * @return Returns the water flow section configuration. 2828 * @since 12 2829 */ 2830 ArkUI_WaterFlowSectionOption* OH_ArkUI_WaterFlowSectionOption_Create(void); 2831 2832 /** 2833 * @brief Destroys the pointer to a water flow section configuration. 2834 * 2835 * @param option Indicates the pointer to a water flow section configuration. 2836 * @since 12 2837 */ 2838 void OH_ArkUI_WaterFlowSectionOption_Dispose(ArkUI_WaterFlowSectionOption* option); 2839 2840 /** 2841 * @brief Sets the FlowItem block configuration information array length. 2842 * 2843 * @param option FlowItem Indicates the packet configuration. 2844 * @param size Array Length. 2845 * @since 12 2846 */ 2847 void OH_ArkUI_WaterFlowSectionOption_SetSize(ArkUI_WaterFlowSectionOption* option, 2848 int32_t size); 2849 2850 /** 2851 * @brief Sets the number of items in a water flow section. 2852 * 2853 * @param option Indicates the pointer to a water flow section configuration. 2854 * @param index Indicates the index of the target water flow section. 2855 * @param itemCount Indicates the number of items in the water flow section. 2856 * @since 12 2857 */ 2858 void OH_ArkUI_WaterFlowSectionOption_SetItemCount(ArkUI_WaterFlowSectionOption* option, 2859 int32_t index, int32_t itemCount); 2860 2861 /** 2862 * @brief Gets the FlowItem grouping configuration information array length. 2863 * 2864 * @param option FlowItem Indicates the packet configuration. 2865 * @return array size. 2866 * @since 12 2867 */ 2868 int32_t OH_ArkUI_WaterFlowSectionOption_GetSize(ArkUI_WaterFlowSectionOption* option); 2869 2870 /** 2871 * @brief Obtains the number of items in the water flow section that matches the specified index. 2872 * 2873 * @param option Indicates the pointer to a water flow section configuration. 2874 * @param index Indicates the index of the target water flow section. 2875 * @return Returns the number of items in the water flow section. 2876 * @since 12 2877 */ 2878 int32_t OH_ArkUI_WaterFlowSectionOption_GetItemCount(ArkUI_WaterFlowSectionOption* option, int32_t index); 2879 2880 /** 2881 * @brief Sets the number of columns (in a vertical layout) or rows (in a horizontal layout) of a water flow. 2882 * 2883 * @param option Indicates the pointer to a water flow section configuration. 2884 * @param index Indicates the index of the target water flow section. 2885 * @param crossCount Indicates the number of columns or rows, depending on the layout direction. 2886 * @since 12 2887 */ 2888 void OH_ArkUI_WaterFlowSectionOption_SetCrossCount(ArkUI_WaterFlowSectionOption* option, 2889 int32_t index, int32_t crossCount); 2890 2891 /** 2892 * @brief Obtains the number of columns (in a vertical layout) or rows (in a horizontal layout) in the water flow section 2893 * that matches the specified index. 2894 * 2895 * @param option Indicates the pointer to a water flow section configuration. 2896 * @param index Indicates the index of the target water flow section. 2897 * @return Returns the number of columns or rows. 2898 * @since 12 2899 */ 2900 int32_t OH_ArkUI_WaterFlowSectionOption_GetCrossCount(ArkUI_WaterFlowSectionOption* option, int32_t index); 2901 2902 /** 2903 * @brief Sets the gap between columns in the specified water flow section. 2904 * 2905 * @param option Indicates the pointer to a water flow section configuration. 2906 * @param index Indicates the index of the target water flow section. 2907 * @param columnGap Indicates the gap between columns to set. 2908 * @since 12 2909 */ 2910 void OH_ArkUI_WaterFlowSectionOption_SetColumnGap(ArkUI_WaterFlowSectionOption* option, 2911 int32_t index, float columnGap); 2912 2913 /** 2914 * @brief Obtains the gap between columns in the water flow section that matches the specified index. 2915 * 2916 * @param option Indicates the pointer to a water flow section configuration. 2917 * @param index Indicates the index of the target water flow section. 2918 * @return Returns the gap between columns. 2919 * @since 12 2920 */ 2921 float OH_ArkUI_WaterFlowSectionOption_GetColumnGap(ArkUI_WaterFlowSectionOption* option, int32_t index); 2922 2923 /** 2924 * @brief Sets the gap between rows in the specified water flow section. 2925 * 2926 * @param option Indicates the pointer to a water flow section configuration. 2927 * @param index Indicates the index of the target water flow section. 2928 * @param rowGap Indicates the gap between rows to set. 2929 * @since 12 2930 */ 2931 void OH_ArkUI_WaterFlowSectionOption_SetRowGap(ArkUI_WaterFlowSectionOption* option, 2932 int32_t index, float rowGap); 2933 2934 /** 2935 * @brief Obtains the gap between rows in the water flow section that matches the specified index. 2936 * 2937 * @param option Indicates the pointer to a water flow section configuration. 2938 * @param index Indicates the index of the target water flow section. 2939 * @return Returns the gap between rows. 2940 * @since 12 2941 */ 2942 float OH_ArkUI_WaterFlowSectionOption_GetRowGap(ArkUI_WaterFlowSectionOption* option, int32_t index); 2943 2944 /** 2945 * @brief Sets the margins for the specified water flow section. 2946 * 2947 * @param option Indicates the pointer to a water flow section configuration. 2948 * @param index Indicates the index of the target water flow section. 2949 * @param marginTop Indicates the top margin of the water flow section. 2950 * @param marginRight Indicates the right margin of the water flow section. 2951 * @param marginBottom Indicates the bottom margin of the water flow section. 2952 * @param marginLeft Indicates the left margin of the water flow section. 2953 * @since 12 2954 */ 2955 void OH_ArkUI_WaterFlowSectionOption_SetMargin(ArkUI_WaterFlowSectionOption* option, int32_t index, 2956 float marginTop, float marginRight, float marginBottom, float marginLeft); 2957 2958 /** 2959 * @brief Obtains the margins of the water flow section that matches the specified index. 2960 * 2961 * @param option Indicates the pointer to a water flow section configuration. 2962 * @param index Indicates the index of the target water flow section. 2963 * @return Returns the margins. 2964 * @since 12 2965 */ 2966 ArkUI_Margin OH_ArkUI_WaterFlowSectionOption_GetMargin(ArkUI_WaterFlowSectionOption* option, int32_t index); 2967 2968 /** 2969 * @brief 通过FlowItem分组配置信息根据flowItemIndex获取指定Item的主轴大小。 2970 * 2971 * @param option FlowItem分组配置信息。 2972 * @param index FlowItem索引值。 2973 * @param callback 根据index获取指定Item的主轴大小。 2974 * @since 12 2975 */ 2976 void OH_ArkUI_WaterFlowSectionOption_RegisterGetItemMainSizeCallbackByIndex(ArkUI_WaterFlowSectionOption* option, 2977 int32_t index, float(*callback)(int32_t itemIndex)); 2978 2979 /** 2980 * @brief 通过FlowItem分组配置信息根据flowItemIndex获取指定Item的主轴大小。 2981 * 2982 * @param option FlowItem分组配置信息。 2983 * @param index FlowItem索引值。 2984 * @param userData FlowItem自定义数据。 2985 * @param callback 根据index获取指定Item的主轴大小。 2986 * @since 12 2987 */ 2988 void OH_ArkUI_WaterFlowSectionOption_RegisterGetItemMainSizeCallbackByIndexWithUserData( 2989 ArkUI_WaterFlowSectionOption* option, int32_t index, void* userData, 2990 float (*callback)(int32_t itemIndex, void* userData)); 2991 2992 /** 2993 * @brief Create auxiliary line information in the RelativeContaine container. 2994 * 2995 * @param size The number of auxiliary lines. 2996 * @return auxiliary line information. 2997 * @since 12 2998 */ 2999 ArkUI_GuidelineOption* OH_ArkUI_GuidelineOption_Create(int32_t size); 3000 3001 /** 3002 * @brief Destroy auxiliary line information. 3003 * 3004 * @param guideline auxiliary line information. 3005 * @since 12 3006 */ 3007 void OH_ArkUI_GuidelineOption_Dispose(ArkUI_GuidelineOption* guideline); 3008 3009 /** 3010 * @brief Set the Id of the auxiliary line. 3011 * 3012 * @param guideline auxiliary line information. 3013 * @param value id, must be unique and cannot have the same name as the component in the container. 3014 * @param index auxiliary line index value. 3015 * @since 12 3016 */ 3017 void OH_ArkUI_GuidelineOption_SetId(ArkUI_GuidelineOption* guideline, const char* value, int32_t index); 3018 3019 /** 3020 * @brief Set the direction of the auxiliary line. 3021 * 3022 * @param guideline auxiliary line information. 3023 * @param value direction. 3024 * @param index auxiliary line index value. 3025 * @since 12 3026 */ 3027 void OH_ArkUI_GuidelineOption_SetDirection(ArkUI_GuidelineOption* guideline, ArkUI_Axis value, int32_t index); 3028 3029 /** 3030 * @brief Set the distance from the left or top of the container. 3031 * 3032 * @param guideline auxiliary line information. 3033 * @param value The distance from the left or top of the container. 3034 * @param index auxiliary line index value. 3035 * @since 12 3036 */ 3037 void OH_ArkUI_GuidelineOption_SetPositionStart(ArkUI_GuidelineOption* guideline, float value, int32_t index); 3038 3039 /** 3040 * @brief Set the distance from the right or bottom of the container. 3041 * 3042 * @param guideline auxiliary line information. 3043 * @param value The distance from the right side or bottom of the container. 3044 * @param index auxiliary line index value. 3045 * @since 12 3046 */ 3047 void OH_ArkUI_GuidelineOption_SetPositionEnd(ArkUI_GuidelineOption* guideline, float value, int32_t index); 3048 3049 /** 3050 * @brief Get the Id of the auxiliary line. 3051 * 3052 * @param guideline auxiliary line information. 3053 * @param index auxiliary line index value. 3054 * @return Id. 3055 * @since 12 3056 */ 3057 const char* OH_ArkUI_GuidelineOption_GetId(ArkUI_GuidelineOption* guideline, int32_t index); 3058 3059 /** 3060 * @brief Get the direction of the auxiliary line. 3061 * 3062 * @param guideline auxiliary line information. 3063 * @param index auxiliary line index value. 3064 * @return direction. 3065 * @since 12 3066 */ 3067 ArkUI_Axis OH_ArkUI_GuidelineOption_GetDirection(ArkUI_GuidelineOption* guideline, int32_t index); 3068 3069 /** 3070 * @brief Get the distance from the left or top of the container. 3071 * 3072 * @param guideline auxiliary line information. 3073 * @param index auxiliary line index value. 3074 * @return The distance from the left or top of the container. 3075 * @since 12 3076 */ 3077 float OH_ArkUI_GuidelineOption_GetPositionStart(ArkUI_GuidelineOption* guideline, int32_t index); 3078 3079 /** 3080 * @brief Get the distance from the right side or bottom of the container. 3081 * 3082 * @param guideline auxiliary line information. 3083 * @param index auxiliary line index value. 3084 * @return The distance from the right side or bottom of the container. 3085 * @since 12 3086 */ 3087 float OH_ArkUI_GuidelineOption_GetPositionEnd(ArkUI_GuidelineOption* guideline, int32_t index); 3088 3089 /** 3090 * @brief creates barrier information within the RelativeContaine container. 3091 * 3092 * @param size Number of barriers. 3093 * @return barrier information. 3094 * @since 12 3095 */ 3096 ArkUI_BarrierOption* OH_ArkUI_BarrierOption_Create(int32_t size); 3097 3098 /** 3099 * @brief Destroy barrier information. 3100 * 3101 * @param barrierStyle barrier information. 3102 * @since 12 3103 */ 3104 void OH_ArkUI_BarrierOption_Dispose(ArkUI_BarrierOption* barrierStyle); 3105 3106 /** 3107 * @brief Set the Id of the barrier. 3108 * 3109 * @param barrierStyle barrier information. 3110 * @param value id, must be unique and cannot have the same name as the component in the container. 3111 * @param index Barrier index value. 3112 * @since 12 3113 */ 3114 void OH_ArkUI_BarrierOption_SetId(ArkUI_BarrierOption* barrierStyle, const char* value, int32_t index); 3115 3116 /** 3117 * @brief Set the direction of the barrier. 3118 * 3119 * @param barrierStyle barrier information. 3120 * @param value direction. 3121 * @param index Barrier index value. 3122 * @since 12 3123 */ 3124 void OH_ArkUI_BarrierOption_SetDirection( 3125 ArkUI_BarrierOption* barrierStyle, ArkUI_BarrierDirection value, int32_t index); 3126 3127 /** 3128 * @brief Sets the dependent component of the barrier. 3129 * 3130 * @param barrierStyle barrier information. 3131 * @param value The ID of the dependent component. 3132 * @param index Barrier index value. 3133 * @since 12 3134 */ 3135 void OH_ArkUI_BarrierOption_SetReferencedId(ArkUI_BarrierOption* barrierStyle, const char* value, int32_t index); 3136 3137 /** 3138 * @brief Get the Id of the barrier. 3139 * 3140 * @param barrierStyle auxiliary line information. 3141 * @param index auxiliary line index value. 3142 * @return The Id of the barrier. 3143 * @since 12 3144 */ 3145 const char* OH_ArkUI_BarrierOption_GetId(ArkUI_BarrierOption* barrierStyle, int32_t index); 3146 3147 /** 3148 * @brief Gets the direction of the barrier. 3149 * 3150 * @param barrierStyle auxiliary line information. 3151 * @param index auxiliary line index value. 3152 * @return The direction of the barrier. 3153 * @since 12 3154 */ 3155 ArkUI_BarrierDirection OH_ArkUI_BarrierOption_GetDirection(ArkUI_BarrierOption* barrierStyle, int32_t index); 3156 3157 /** 3158 * @brief Get the dependent components of the barrier. 3159 * 3160 * @param barrierStyle auxiliary line information. 3161 * @param index auxiliary line index value. 3162 * @param referencedIndex dependent component Id index value. 3163 * @return The barrier's dependent components. 3164 * @since 12 3165 */ 3166 const char* OH_ArkUI_BarrierOption_GetReferencedId( 3167 ArkUI_BarrierOption* barrierStyle, int32_t index, int32_t referencedIndex); 3168 3169 /** 3170 * @brief Gets the number of dependent components of the barrier. 3171 * 3172 * @param barrierStyle auxiliary line information. 3173 * @param index auxiliary line index value. 3174 * @return The number of dependent components of the barrier. 3175 * @since 12 3176 */ 3177 int32_t OH_ArkUI_BarrierOption_GetReferencedIdSize(ArkUI_BarrierOption* barrierStyle, int32_t index); 3178 3179 /** 3180 * @brief creates alignment rule information for subcomponents in relative containers. 3181 * 3182 * @return Alignment rule information. 3183 * @since 12 3184 */ 3185 ArkUI_AlignmentRuleOption* OH_ArkUI_AlignmentRuleOption_Create(void); 3186 3187 /** 3188 * @brief Destroys the alignment rule information of subcomponents in relative containers. 3189 * 3190 * @param option Alignment rule information of subcomponents in the relative container. 3191 * @since 12 3192 */ 3193 void OH_ArkUI_AlignmentRuleOption_Dispose(ArkUI_AlignmentRuleOption* option); 3194 3195 /** 3196 * @brief Set the start alignment parameter. 3197 * 3198 * @param option Alignment rule information of subcomponents in the relative container. 3199 * @param id The id value of the anchor component. 3200 * @param value Alignment relative to the anchor component. 3201 * @since 12 3202 */ 3203 void OH_ArkUI_AlignmentRuleOption_SetStart( 3204 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3205 3206 /** 3207 * @brief Set the end alignment parameter. 3208 * 3209 * @param option Alignment rule information of subcomponents in the relative container. 3210 * @param id The id value of the anchor component. 3211 * @param value Alignment relative to the anchor component. 3212 * @since 12 3213 */ 3214 void OH_ArkUI_AlignmentRuleOption_SetEnd( 3215 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3216 3217 /** 3218 * @brief Set the parameters for horizontal center alignment. 3219 * 3220 * @param option Alignment rule information of subcomponents in the relative container. 3221 * @param id The id value of the anchor component. 3222 * @param value Alignment relative to anchor component 3223 * @since 12 3224 */ 3225 void OH_ArkUI_AlignmentRuleOption_SetCenterHorizontal( 3226 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_HorizontalAlignment alignment); 3227 3228 /** 3229 * @brief Set the parameters for top alignment. 3230 * 3231 * @param option Alignment rule information of subcomponents in the relative container. 3232 * @param id The id value of the anchor component. 3233 * @param value Alignment relative to anchor component 3234 * @since 12 3235 */ 3236 void OH_ArkUI_AlignmentRuleOption_SetTop( 3237 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_VerticalAlignment alignment); 3238 3239 /** 3240 * @brief Set the bottom alignment parameters. 3241 * 3242 * @param option Alignment rule information of subcomponents in the relative container. 3243 * @param id The id value of the anchor component. 3244 * @param value Alignment relative to anchor component 3245 * @since 12 3246 */ 3247 void OH_ArkUI_AlignmentRuleOption_SetBottom( 3248 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_VerticalAlignment alignment); 3249 3250 /** 3251 * @brief Set the parameters for vertical center alignment. 3252 * 3253 * @param option Alignment rule information of subcomponents in the relative container. 3254 * @param id The id value of the anchor component. 3255 * @param value Alignment relative to the anchor component. 3256 * @since 12 3257 */ 3258 void OH_ArkUI_AlignmentRuleOption_SetCenterVertical( 3259 ArkUI_AlignmentRuleOption* option, const char* id, ArkUI_VerticalAlignment alignment); 3260 3261 /** 3262 * @brief Sets the horizontal offset parameter of the component under the anchor point constraint. 3263 * 3264 * @param option Alignment rule information of subcomponents in the relative container. 3265 * @param horizontal bias value in the horizontal direction. 3266 * @since 12 3267 */ 3268 void OH_ArkUI_AlignmentRuleOption_SetBiasHorizontal(ArkUI_AlignmentRuleOption* option, float horizontal); 3269 3270 /** 3271 * @brief Set the vertical offset parameter of the component under the anchor point constraint. 3272 * 3273 * @param option Alignment rule information of subcomponents in the relative container. 3274 * @param horizontal bias value in the vertical direction. 3275 * @since 12 3276 */ 3277 void OH_ArkUI_AlignmentRuleOption_SetBiasVertical(ArkUI_AlignmentRuleOption* option, float vertical); 3278 3279 /** 3280 * @brief Get the Id of the start-aligned parameter. 3281 * 3282 * @param option Alignment rule information of subcomponents in the relative container. 3283 * @return The id value of the anchor component. 3284 * @since 12 3285 */ 3286 const char* OH_ArkUI_AlignmentRuleOption_GetStartId(ArkUI_AlignmentRuleOption* option); 3287 3288 /** 3289 * @brief Gets the alignment of the start-aligned parameter. 3290 * 3291 * @param option Alignment rule information of subcomponents in the relative container. 3292 * @return The alignment of the parameters. 3293 * @since 12 3294 */ 3295 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetStartAlignment(ArkUI_AlignmentRuleOption* option); 3296 3297 /** 3298 * @brief Get the end alignment parameter. 3299 * 3300 * @param option Alignment rule information of subcomponents in the relative container. 3301 * @return End-aligned parameter id. 3302 * @since 12 3303 */ 3304 const char* OH_ArkUI_AlignmentRuleOption_GetEndId(ArkUI_AlignmentRuleOption* option); 3305 3306 /** 3307 * @brief Get the end alignment parameter. 3308 * 3309 * @param option Alignment rule information of subcomponents in the relative container. 3310 * @return The alignment of the end-aligned parameter. 3311 * @since 12 3312 */ 3313 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetEndAlignment(ArkUI_AlignmentRuleOption* option); 3314 3315 /** 3316 * @brief Gets the parameters of horizontal center alignment. 3317 * 3318 * @param option Alignment rule information of subcomponents in the relative container. 3319 * @return The id of the parameter of horizontal center alignment. 3320 * @since 12 3321 */ 3322 const char* OH_ArkUI_AlignmentRuleOption_GetCenterIdHorizontal(ArkUI_AlignmentRuleOption* option); 3323 3324 /** 3325 * @brief Gets the parameters of horizontal center alignment. 3326 * 3327 * @param option Alignment rule information of subcomponents in the relative container. 3328 * @return The alignment of the horizontally centered alignment parameter. 3329 * @since 12 3330 */ 3331 ArkUI_HorizontalAlignment OH_ArkUI_AlignmentRuleOption_GetCenterAlignmentHorizontal(ArkUI_AlignmentRuleOption* option); 3332 3333 /** 3334 * @brief Get the top-aligned parameters. 3335 * 3336 * @param option Alignment rule information of subcomponents in the relative container. 3337 * @return Top aligned parameter id. 3338 * @since 12 3339 */ 3340 const char* OH_ArkUI_AlignmentRuleOption_GetTopId(ArkUI_AlignmentRuleOption* option); 3341 3342 /** 3343 * @brief Get the top-aligned parameters. 3344 * 3345 * @param option Alignment rule information of subcomponents in the relative container. 3346 * @return The alignment of the top-aligned parameter. 3347 * @since 12 3348 */ 3349 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetTopAlignment(ArkUI_AlignmentRuleOption* option); 3350 3351 /** 3352 * @brief Get the bottom alignment parameters. 3353 * 3354 * @param option Alignment rule information of subcomponents in the relative container. 3355 * @return The id of the bottom-aligned parameter. 3356 * @since 12 3357 */ 3358 const char* OH_ArkUI_AlignmentRuleOption_GetBottomId(ArkUI_AlignmentRuleOption* option); 3359 3360 /** 3361 * @brief Get the bottom alignment parameters. 3362 * 3363 * @param option Alignment rule information of subcomponents in the relative container. 3364 * @return The alignment of the bottom-aligned parameter. 3365 * @since 12 3366 */ 3367 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetBottomAlignment(ArkUI_AlignmentRuleOption* option); 3368 3369 /** 3370 * @brief Gets the parameters of vertical center alignment. 3371 * 3372 * @param option Alignment rule information of subcomponents in the relative container. 3373 * @return The id of the vertical center alignment parameter. 3374 * @since 12 3375 */ 3376 const char* OH_ArkUI_AlignmentRuleOption_GetCenterIdVertical(ArkUI_AlignmentRuleOption* option); 3377 3378 /** 3379 * @brief Gets the parameters of vertical center alignment. 3380 * 3381 * @param option Alignment rule information of subcomponents in the relative container. 3382 * @return The alignment of the vertical center alignment parameter. 3383 * @since 12 3384 */ 3385 ArkUI_VerticalAlignment OH_ArkUI_AlignmentRuleOption_GetCenterAlignmentVertical(ArkUI_AlignmentRuleOption* option); 3386 3387 /** 3388 * @brief Get the bias value in the horizontal direction. 3389 * 3390 * @param option Alignment rule information of subcomponents in the relative container. 3391 * @return The bias value in the horizontal direction. 3392 * @since 12 3393 */ 3394 float OH_ArkUI_AlignmentRuleOption_GetBiasHorizontal(ArkUI_AlignmentRuleOption* option); 3395 3396 /** 3397 * @brief Get the bias value in the vertical direction. 3398 * 3399 * @param option Alignment rule information of subcomponents in the relative container. 3400 * @return bias value in vertical direction. 3401 * @since 12 3402 */ 3403 float OH_ArkUI_AlignmentRuleOption_GetBiasVertical(ArkUI_AlignmentRuleOption* option); 3404 3405 /** 3406 * @brief Creates a navigation indicator. 3407 * 3408 * @param type Indicates the type of the indicator. 3409 * @return Returns the pointer to the new indicator. 3410 * @since 12 3411 */ 3412 ArkUI_SwiperIndicator* OH_ArkUI_SwiperIndicator_Create(ArkUI_SwiperIndicatorType type); 3413 3414 /** 3415 * @brief Destroys the pointer to the indicator. 3416 * 3417 * @param indicator Indicates the pointer to the indicator. 3418 * @since 12 3419 */ 3420 void OH_ArkUI_SwiperIndicator_Dispose(ArkUI_SwiperIndicator* indicator); 3421 3422 /** 3423 * @brief Sets the distance between the navigation point and the start of the swiper. 3424 * 3425 * @param indicator Indicates the pointer to the indicator. 3426 * @param value Indicates the distance between the navigation point and the start of the swiper. 3427 * @since 12 3428 */ 3429 void OH_ArkUI_SwiperIndicator_SetStartPosition(ArkUI_SwiperIndicator* indicator, float value); 3430 3431 /** 3432 * @brief Obtains the distance between the navigation point and the start of the swiper. 3433 * 3434 * @param indicator Indicates the pointer to the indicator. 3435 * @return Returns the distance between the navigation point and the start of the swiper. 3436 * @since 12 3437 */ 3438 float OH_ArkUI_SwiperIndicator_GetStartPosition(ArkUI_SwiperIndicator* indicator); 3439 3440 /** 3441 * @brief Sets the distance between the navigation point and the top of the swiper. 3442 * 3443 * @param indicator Indicates the pointer to the indicator. 3444 * @param value Indicates the distance between the navigation point and the top of the swiper. 3445 * @since 12 3446 */ 3447 void OH_ArkUI_SwiperIndicator_SetTopPosition(ArkUI_SwiperIndicator* indicator, float value); 3448 3449 /** 3450 * @brief Obtains the distance between the navigation point and the top of the swiper. 3451 * 3452 * @param indicator Indicates the pointer to the indicator. 3453 * @return Returns the distance between the navigation point and the top of the swiper. 3454 * @since 12 3455 */ 3456 float OH_ArkUI_SwiperIndicator_GetTopPosition(ArkUI_SwiperIndicator* indicator); 3457 3458 /** 3459 * @brief Sets the distance between the navigation point and the end of the swiper. 3460 * 3461 * @param indicator Indicates the pointer to the indicator. 3462 * @param value Indicates the distance between the navigation point and the end of the swiper. 3463 * @since 12 3464 */ 3465 void OH_ArkUI_SwiperIndicator_SetEndPosition(ArkUI_SwiperIndicator* indicator, float value); 3466 3467 /** 3468 * @brief Obtains the distance between the navigation point and the end of the swiper. 3469 * 3470 * @param indicator Indicates the pointer to the indicator. 3471 * @return Returns the distance between the navigation point and the end of the swiper. 3472 * @since 12 3473 */ 3474 float OH_ArkUI_SwiperIndicator_GetEndPosition(ArkUI_SwiperIndicator* indicator); 3475 3476 /** 3477 * @brief Sets the distance between the navigation point and the bottom of the swiper. 3478 * 3479 * @param indicator Indicates the pointer to the indicator. 3480 * @param value Indicates the distance between the navigation point and the bottom of the swiper. 3481 * @since 12 3482 */ 3483 void OH_ArkUI_SwiperIndicator_SetBottomPosition(ArkUI_SwiperIndicator* indicator, float value); 3484 3485 /** 3486 * @brief Obtains the distance between the navigation point and the bottom of the swiper. 3487 * 3488 * @param indicator Indicates the pointer to the indicator. 3489 * @return Returns the distance between the navigation point and the bottom of the swiper. 3490 * @since 12 3491 */ 3492 float OH_ArkUI_SwiperIndicator_GetBottomPosition(ArkUI_SwiperIndicator* indicator); 3493 3494 /** 3495 * @brief Sets the width of the dot for the dot indicator. 3496 * 3497 * @param indicator Indicates the pointer to the indicator. 3498 * @param value Indicates the width of the dot for the dot indicator. 3499 * @since 12 3500 */ 3501 void OH_ArkUI_SwiperIndicator_SetItemWidth(ArkUI_SwiperIndicator* indicator, float value); 3502 3503 /** 3504 * @brief Obtains the width of the dot for the dot indicator. 3505 * 3506 * @param indicator Indicates the pointer to the indicator. 3507 * @return Returns the width of the dot for the dot indicator. 3508 * @since 12 3509 */ 3510 float OH_ArkUI_SwiperIndicator_GetItemWidth(ArkUI_SwiperIndicator* indicator); 3511 3512 /** 3513 * @brief Sets the height of the dot for the dot indicator. 3514 * 3515 * @param indicator Indicates the pointer to the indicator. 3516 * @param value Indicates the height of the dot for the dot indicator. 3517 * @since 12 3518 */ 3519 void OH_ArkUI_SwiperIndicator_SetItemHeight(ArkUI_SwiperIndicator* indicator, float value); 3520 3521 /** 3522 * @brief Obtains the height of the dot for the dot indicator. 3523 * 3524 * @param indicator Indicates the pointer to the indicator. 3525 * @return Returns the height of the dot for the dot indicator. 3526 * @since 12 3527 */ 3528 float OH_ArkUI_SwiperIndicator_GetItemHeight(ArkUI_SwiperIndicator* indicator); 3529 3530 /** 3531 * @brief Sets the width of the selected dot for the dot indicator. 3532 * 3533 * @param indicator Indicates the pointer to the indicator. 3534 * @param value Indicates the width of the selected dot for the dot indicator. 3535 * @since 12 3536 */ 3537 void OH_ArkUI_SwiperIndicator_SetSelectedItemWidth(ArkUI_SwiperIndicator* indicator, float value); 3538 3539 /** 3540 * @brief Obtains the width of the selected dot for the dot indicator. 3541 * 3542 * @param indicator Indicates the pointer to the indicator. 3543 * @return Returns the width of the selected dot for the dot indicator. 3544 * @since 12 3545 */ 3546 float OH_ArkUI_SwiperIndicator_GetSelectedItemWidth(ArkUI_SwiperIndicator* indicator); 3547 3548 /** 3549 * @brief Sets the height of the selected dot for the dot indicator. 3550 * 3551 * @param indicator Indicates the pointer to the indicator. 3552 * @param value Indicates the height of the selected dot for the dot indicator. 3553 * @since 12 3554 */ 3555 void OH_ArkUI_SwiperIndicator_SetSelectedItemHeight(ArkUI_SwiperIndicator* indicator, float value); 3556 3557 /** 3558 * @brief Obtains the height of the selected dot for the dot indicator. 3559 * 3560 * @param indicator Indicates the pointer to the indicator. 3561 * @return Returns the height of the selected dot for the dot indicator. 3562 * @since 12 3563 */ 3564 float OH_ArkUI_SwiperIndicator_GetSelectedItemHeight(ArkUI_SwiperIndicator* indicator); 3565 3566 /** 3567 * @brief Sets whether to display the mask style of the dot navigation indicator. 3568 * 3569 * @param indicator Indicates the pointer to the indicator. 3570 * @param mask Whether to display the mask style. True means to display. 3571 * @since 12 3572 */ 3573 void OH_ArkUI_SwiperIndicator_SetMask(ArkUI_SwiperIndicator* indicator, int32_t mask); 3574 3575 /** 3576 * @brief Obtains whether to display the mask style of the dot navigation indicator. 3577 * 3578 * @param indicator Indicates the pointer to the indicator. 3579 * @return Returns whether to display the mask style. True means to display. 3580 * @since 12 3581 */ 3582 int32_t OH_ArkUI_SwiperIndicator_GetMask(ArkUI_SwiperIndicator* indicator); 3583 3584 /** 3585 * @brief Sets the color of the dot navigation indicator. 3586 * 3587 * @param indicator Indicates the pointer to the indicator. 3588 * @param color the color of the dot navigation indicator, in 0xARGB format. 3589 * @since 12 3590 */ 3591 void OH_ArkUI_SwiperIndicator_SetColor(ArkUI_SwiperIndicator* indicator, uint32_t color); 3592 3593 /** 3594 * @brief Obtains the color of the dot navigation indicator. 3595 * 3596 * @param indicator Indicates the pointer to the indicator. 3597 * @return Returns the color of the dot navigation indicator, in 0xARGB format. 3598 * @since 12 3599 */ 3600 uint32_t OH_ArkUI_SwiperIndicator_GetColor(ArkUI_SwiperIndicator* indicator); 3601 3602 /** 3603 * @brief Sets the color of the selected dot for the navigation indicator. 3604 * 3605 * @param indicator Indicates the pointer to the indicator. 3606 * @param selectedColor the color of the selected dot, in 0xARGB format. 3607 * @since 12 3608 */ 3609 void OH_ArkUI_SwiperIndicator_SetSelectedColor(ArkUI_SwiperIndicator* indicator, uint32_t selectedColor); 3610 3611 /** 3612 * @brief Obtains the color of the selected dot for the dot navigation indicator. 3613 * 3614 * @param indicator Indicates the pointer to the indicator. 3615 * @return Returns the color of the selected dot, in 0xARGB format. 3616 * @since 12 3617 */ 3618 uint32_t OH_ArkUI_SwiperIndicator_GetSelectedColor(ArkUI_SwiperIndicator* indicator); 3619 3620 /** 3621 * @brief Sets the number of maxDisplayCount for the dot navigation indicator. 3622 * 3623 * @param indicator Indicates the pointer to the indicator. 3624 * @param maxDisplayCount the maxDisplayCount of the navigation dot, span is 6-9. 3625 * @return Error code. 3626 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 3627 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 3628 * @since 12 3629 */ 3630 int32_t OH_ArkUI_SwiperIndicator_SetMaxDisplayCount(ArkUI_SwiperIndicator* indicator, int32_t maxDisplayCount); 3631 3632 /** 3633 * @brief Obtains the number of maxDisplayCount for the dot navigation indicator. 3634 * 3635 * @param indicator Indicates the pointer to the indicator. 3636 * @return Returns the number of the maxDisplayCount, span is 6-9. 3637 * @since 12 3638 */ 3639 int32_t OH_ArkUI_SwiperIndicator_GetMaxDisplayCount(ArkUI_SwiperIndicator* indicator); 3640 3641 /** 3642 * @brief Sets whether to ignore the size of the indicator for {@link OH_ArkUI_SwiperIndicator_SetBottomPosition}. 3643 * 3644 * @param indicator Indicates the pointer to the indicator. 3645 * @param ignoreSize Whether to ignore the size of the indicator. The value 1 means to ignore, and 0 means the opposite. 3646 * The default value is 0. 3647 * @since 16 3648 */ 3649 void OH_ArkUI_SwiperIndicator_SetIgnoreSizeOfBottom(ArkUI_SwiperIndicator* indicator, int32_t ignoreSize); 3650 3651 /** 3652 * @brief Obtains whether to ignore the size of the indicator for {@link OH_ArkUI_SwiperIndicator_SetBottomPosition}. 3653 * 3654 * @param indicator Indicates the pointer to the indicator. 3655 * @return Returns whether to ignore the size of the indicator. 3656 * @since 16 3657 */ 3658 int32_t OH_ArkUI_SwiperIndicator_GetIgnoreSizeOfBottom(ArkUI_SwiperIndicator* indicator); 3659 3660 /** 3661 * @brief Sets the space between the dots of the navigation indicator. 3662 * 3663 * @param indicator Indicates the pointer to the indicator. 3664 * @param space the space between the dots of the navigation indicator, the default value is 8vp. 3665 * @since 16 3666 */ 3667 void OH_ArkUI_SwiperIndicator_SetSpace(ArkUI_SwiperIndicator* indicator, float space); 3668 3669 /** 3670 * @brief Obtains the space between the dots of the navigation indicator. 3671 * 3672 * @param indicator Indicates the pointer to the indicator. 3673 * @return the space between the dots of the navigation indicator 3674 * @since 16 3675 */ 3676 float OH_ArkUI_SwiperIndicator_GetSpace(ArkUI_SwiperIndicator* indicator); 3677 3678 /** 3679 * @brief Creates a digital indicator. 3680 * 3681 * @return Returns the pointer to the new indicator. 3682 * @since 16 3683 */ 3684 ArkUI_SwiperDigitIndicator *OH_ArkUI_SwiperDigitIndicator_Create(); 3685 3686 /** 3687 * @brief Sets the distance between the digital indicator and the start of the swiper. 3688 * 3689 * @param indicator The pointer to the digital indicator. 3690 * @param value Indicates the distance between the digital indicator and the start of the swiper. 3691 * @since 16 3692 */ 3693 void OH_ArkUI_SwiperDigitIndicator_SetStartPosition(ArkUI_SwiperDigitIndicator* indicator, float value); 3694 3695 /** 3696 * @brief Gets the distance between the digital indicator and the start of the swiper. 3697 * 3698 * @param indicator The pointer to the digital indicator. 3699 * @return Returns the distance between the digital indicator and the start of the swiper. 3700 * @since 16 3701 */ 3702 float OH_ArkUI_SwiperDigitIndicator_GetStartPosition(ArkUI_SwiperDigitIndicator* indicator); 3703 3704 /** 3705 * @brief Sets the distance between the digital indicator and the top of the swiper. 3706 * 3707 * @param indicator The pointer to the digital indicator. 3708 * @param value Indicates the distance between the digital indicator and the top of the swiper. 3709 * @since 16 3710 */ 3711 void OH_ArkUI_SwiperDigitIndicator_SetTopPosition(ArkUI_SwiperDigitIndicator* indicator, float value); 3712 3713 /** 3714 * @brief Gets the distance between the digital indicator and the top of the swiper. 3715 * 3716 * @param indicator The pointer to the digital indicator. 3717 * @return Returns the distance between the digital indicator and the top of the swiper. 3718 * @since 16 3719 */ 3720 float OH_ArkUI_SwiperDigitIndicator_GetTopPosition(ArkUI_SwiperDigitIndicator* indicator); 3721 3722 /** 3723 * @brief Sets the distance between the digital indicator and the end of the swiper. 3724 * 3725 * @param indicator The pointer to the digital indicator. 3726 * @param value Indicates the distance between the digital indicator and the end of the swiper. 3727 * @since 16 3728 */ 3729 void OH_ArkUI_SwiperDigitIndicator_SetEndPosition(ArkUI_SwiperDigitIndicator* indicator, float value); 3730 3731 /** 3732 * @brief Gets the distance between the digital indicator and the end of the swiper. 3733 * 3734 * @param indicator The pointer to the digital indicator. 3735 * @return Returns the distance between the digital indicator and the end of the swiper. 3736 * @since 16 3737 */ 3738 float OH_ArkUI_SwiperDigitIndicator_GetEndPosition(ArkUI_SwiperDigitIndicator* indicator); 3739 3740 /** 3741 * @brief Sets the distance between the digital indicator and the bottom of the swiper. 3742 * 3743 * @param indicator The pointer to the digital indicator. 3744 * @param value Returns the distance between the digital indicator and the bottom of the swiper. 3745 * @since 16 3746 */ 3747 void OH_ArkUI_SwiperDigitIndicator_SetBottomPosition(ArkUI_SwiperDigitIndicator* indicator, float value); 3748 3749 /** 3750 * @brief Gets the distance between the digital indicator and the bottom of the swiper. 3751 * 3752 * @param indicator The pointer to the digital indicator. 3753 * @return Returns the distance between the digital indicator and the bottom of the swiper. 3754 * @since 16 3755 */ 3756 float OH_ArkUI_SwiperDigitIndicator_GetBottomPosition(ArkUI_SwiperDigitIndicator* indicator); 3757 3758 /** 3759 * @brief Sets the font color of total count in the digital indicator. 3760 * 3761 * @param indicator The pointer to the digital indicator. 3762 * @param color font color, in 0xARGB format. Default value: 0xFF182431. 3763 * @since 16 3764 */ 3765 void OH_ArkUI_SwiperDigitIndicator_SetFontColor(ArkUI_SwiperDigitIndicator* indicator, uint32_t color); 3766 3767 /** 3768 * @brief Gets the font color of total count in the digital indicator. 3769 * 3770 * @param indicator The pointer to the digital indicator. 3771 * @return font color, in 0xARGB format. 3772 * @since 16 3773 */ 3774 uint32_t OH_ArkUI_SwiperDigitIndicator_GetFontColor(ArkUI_SwiperDigitIndicator* indicator); 3775 3776 /** 3777 * @brief Sets the font color of selected index in the digital indicator. 3778 * 3779 * @param indicator The pointer to the digital indicator. 3780 * @param selectedColor font color, in 0xARGB format. Default value: 0xFF182431. 3781 * @since 16 3782 */ 3783 void OH_ArkUI_SwiperDigitIndicator_SetSelectedFontColor(ArkUI_SwiperDigitIndicator* indicator, uint32_t selectedColor); 3784 3785 /** 3786 * @brief Gets the font color of selected index in the digital indicator. 3787 * 3788 * @param indicator The pointer to the digital indicator. 3789 * @return font color, in 0xARGB format. 3790 * @since 16 3791 */ 3792 uint32_t OH_ArkUI_SwiperDigitIndicator_GetSelectedFontColor(ArkUI_SwiperDigitIndicator* indicator); 3793 3794 /** 3795 * @brief Sets the font size of total count in the digital indicator. 3796 * 3797 * @param indicator The pointer to the digital indicator. 3798 * @param size font size, in fp. 3799 * @since 16 3800 */ 3801 void OH_ArkUI_SwiperDigitIndicator_SetFontSize(ArkUI_SwiperDigitIndicator* indicator, float size); 3802 3803 /** 3804 * @brief Gets the font size of total count in the digital indicator. 3805 * 3806 * @param indicator The pointer to the digital indicator. 3807 * @return font size, in fp. 3808 * @since 16 3809 */ 3810 float OH_ArkUI_SwiperDigitIndicator_GetFontSize(ArkUI_SwiperDigitIndicator* indicator); 3811 3812 /** 3813 * @brief Sets the font size of selected index in the digital indicator. 3814 * 3815 * @param indicator The pointer to the digital indicator. 3816 * @param size font size, in fp. 3817 * @since 16 3818 */ 3819 void OH_ArkUI_SwiperDigitIndicator_SetSelectedFontSize(ArkUI_SwiperDigitIndicator* indicator, float size); 3820 3821 /** 3822 * @brief Gets the font size of selected index in the digital indicator. 3823 * 3824 * @param indicator The pointer to the digital indicator. 3825 * @return font size, in fp. 3826 * @since 16 3827 */ 3828 float OH_ArkUI_SwiperDigitIndicator_GetSelectedFontSize(ArkUI_SwiperDigitIndicator* indicator); 3829 3830 /** 3831 * @brief Sets the font weight of total count in the digital indicator. 3832 * 3833 * @param indicator The pointer to the digital indicator. 3834 * @param fontWeight font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. 3835 * @since 16 3836 */ 3837 void OH_ArkUI_SwiperDigitIndicator_SetFontWeight(ArkUI_SwiperDigitIndicator *indicator, ArkUI_FontWeight fontWeight); 3838 3839 /** 3840 * @brief Gets the font weight of total count in the digital indicator. 3841 * 3842 * @param indicator The pointer to the digital indicator. 3843 * @return font weight {@link ArkUI_FontWeight}. 3844 * @since 16 3845 */ 3846 ArkUI_FontWeight OH_ArkUI_SwiperDigitIndicator_GetFontWeight(ArkUI_SwiperDigitIndicator* indicator); 3847 3848 /** 3849 * @brief Sets the font weight of selected index in the digital indicator. 3850 * 3851 * @param indicator The pointer to the digital indicator. 3852 * @param selectedFontWeight font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. 3853 * @since 16 3854 */ 3855 void OH_ArkUI_SwiperDigitIndicator_SetSelectedFontWeight( 3856 ArkUI_SwiperDigitIndicator *indicator, ArkUI_FontWeight selectedFontWeight); 3857 3858 /** 3859 * @brief Gets the font weight of selected index in the digital indicator. 3860 * 3861 * @param indicator The pointer to the digital indicator. 3862 * @return font weight {@link ArkUI_FontWeight}. 3863 * @since 16 3864 */ 3865 ArkUI_FontWeight OH_ArkUI_SwiperDigitIndicator_GetSelectedFontWeight(ArkUI_SwiperDigitIndicator* indicator); 3866 3867 /** 3868 * @brief Destroys the digital indicator. 3869 * 3870 * @param indicator The pointer to the digital indicator. 3871 * @since 16 3872 */ 3873 void OH_ArkUI_SwiperDigitIndicator_Destroy(ArkUI_SwiperDigitIndicator *indicator); 3874 3875 /** 3876 * @brief Sets whether to ignore the size of the indicator for {@link OH_ArkUI_SwiperDigitIndicator_SetBottomPosition}. 3877 * 3878 * @param indicator The pointer to the digital indicator. 3879 * @param ignoreSize Whether to ignore the size of the indicator. The value 1 means to ignore, and 0 means the opposite. 3880 * The default value is 0. 3881 * @since 16 3882 */ 3883 void OH_ArkUI_SwiperDigitIndicator_SetIgnoreSizeOfBottom(ArkUI_SwiperDigitIndicator* indicator, int32_t ignoreSize); 3884 3885 /** 3886 * @brief Obtains whether to ignore the size of the indicator for {@link OH_ArkUI_SwiperDigitIndicator_SetBottomPosition}. 3887 * 3888 * @param indicator The pointer to the digital indicator. 3889 * @return Returns whether to ignore the size of the indicator. 3890 * @since 16 3891 */ 3892 int32_t OH_ArkUI_SwiperDigitIndicator_GetIgnoreSizeOfBottom(ArkUI_SwiperDigitIndicator* indicator); 3893 3894 /** 3895 * @brief Creates a arrow style for swiper. 3896 * 3897 * @return Returns the pointer to the new arrow style. 3898 * @since 16 3899 */ 3900 ArkUI_SwiperArrowStyle *OH_ArkUI_SwiperArrowStyle_Create(); 3901 3902 /** 3903 * @brief Sets whether to show the background for the arrow. 3904 * 3905 * @param arrowStyle The pointer to the arrow style. 3906 * @param showBackground whether to show the background for the arrow. 3907 * The value <b>1</b> means to show the background, and <b>0</b> means the opposite. 3908 * The default value is <b>0</b>. 3909 * @since 16 3910 */ 3911 void OH_ArkUI_SwiperArrowStyle_SetShowBackground(ArkUI_SwiperArrowStyle *arrowStyle, int32_t showBackground); 3912 3913 /** 3914 * @brief Gets whether to show the background for the arrow. 3915 * 3916 * @param arrowStyle The pointer to the arrow style. 3917 * @return whether to show the background for the arrow. 3918 * The value <b>1</b> means to show the background, and <b>0</b> means the opposite. 3919 * @since 16 3920 */ 3921 int32_t OH_ArkUI_SwiperArrowStyle_GetShowBackground(ArkUI_SwiperArrowStyle* arrowStyle); 3922 3923 /** 3924 * @brief Sets the display position of the arrow. 3925 * 3926 * @param arrowStyle The pointer to the arrow style. 3927 * @param showSidebarMiddle the display position of the arrow. 3928 * The value <b>1</b> means to display on boths sides of the swiper, 3929 * and <b>0</b> means display on boths sides of the swiper indicator. 3930 * The default value is <b>0</b>. 3931 * @since 16 3932 */ 3933 void OH_ArkUI_SwiperArrowStyle_SetShowSidebarMiddle(ArkUI_SwiperArrowStyle* arrowStyle, int32_t showSidebarMiddle); 3934 3935 /** 3936 * @brief Gets the display position of the arrow. 3937 * 3938 * @param arrowStyle The pointer to the arrow style. 3939 * @return the display position of the arrow. The value <b>1</b> means to display on boths sides of the swiper, 3940 * and <b>0</b> means display on boths sides of the swiper indicator. 3941 * @since 16 3942 */ 3943 int32_t OH_ArkUI_SwiperArrowStyle_GetShowSidebarMiddle(ArkUI_SwiperArrowStyle* arrowStyle); 3944 3945 /** 3946 * @brief Sets the background size of the arrow. 3947 * 3948 * @param arrowStyle The pointer to the arrow style. 3949 * @param backgroundSize the background size of the arrow. The unit is vp. 3950 * The default value is <b>24</b> when the arrow displays on both sides of the swiper indicator. 3951 * The default value is <b>32</b> when the arrow displays on both sides of the swiper. 3952 * @since 16 3953 */ 3954 void OH_ArkUI_SwiperArrowStyle_SetBackgroundSize(ArkUI_SwiperArrowStyle* arrowStyle, float backgroundSize); 3955 3956 /** 3957 * @brief Gets the background size of the arrow. 3958 * 3959 * @param arrowStyle The pointer to the arrow style. 3960 * @return Returns the background size of the arrow. The unit is vp. 3961 * @since 16 3962 */ 3963 float OH_ArkUI_SwiperArrowStyle_GetBackgroundSize(ArkUI_SwiperArrowStyle *arrowStyle); 3964 3965 /** 3966 * @brief Destroys the arrow style. 3967 * 3968 * @param arrowStyle The pointer to the arrow style. 3969 * @since 16 3970 */ 3971 void OH_ArkUI_SwiperArrowStyle_Destroy(ArkUI_SwiperArrowStyle *arrowStyle); 3972 3973 /** 3974 * @brief Sets the background color of the arrow. 3975 * 3976 * @param arrowStyle The pointer to the arrow style. 3977 * @param backgroundColor the background color of the arrow, in 0xARGB format. 3978 * The default value is <b>0x00000000</b> when the arrow displays on both sides of the swiper indicator. 3979 * The default value is <b>0x19182431</b> when the arrow displays on both sides of the swiper. 3980 * @since 16 3981 */ 3982 void OH_ArkUI_SwiperArrowStyle_SetBackgroundColor(ArkUI_SwiperArrowStyle *arrowStyle, uint32_t backgroundColor); 3983 3984 /** 3985 * @brief Gets the background color of the arrow. 3986 * 3987 * @param arrowStyle The pointer to the arrow style. 3988 * @return Returns the background color of the arrow, in 0xARGB format. 3989 * @since 16 3990 */ 3991 uint32_t OH_ArkUI_SwiperArrowStyle_GetBackgroundColor(ArkUI_SwiperArrowStyle* arrowStyle); 3992 3993 /** 3994 * @brief Sets the size of the arrow. 3995 * 3996 * @param arrowStyle The pointer to the arrow style. 3997 * @param arrowSize the size of the arrow. The unit is vp. 3998 * The default value is <b>18</b> when the arrow displays on both sides of the swiper indicator. 3999 * The default value is <b>24</b> when the arrow displays on both sides of the swiper. 4000 * The arrow size is fixed to 3/4 of the background size when the background is shown. 4001 * @since 16 4002 */ 4003 void OH_ArkUI_SwiperArrowStyle_SetArrowSize(ArkUI_SwiperArrowStyle* arrowStyle, float arrowSize); 4004 4005 /** 4006 * @brief Gets the size of the arrow. 4007 * 4008 * @param arrowStyle The pointer to the arrow style. 4009 * @return the size of the arrow. The unit is vp. 4010 * @since 16 4011 */ 4012 float OH_ArkUI_SwiperArrowStyle_GetArrowSize(ArkUI_SwiperArrowStyle* arrowStyle); 4013 4014 /** 4015 * @brief Sets the color of the arrow. 4016 * 4017 * @param arrowStyle The pointer to the arrow style. 4018 * @param arrowColor the color of the arrow, in 0xARGB format. The default value is <b>0x00182431</b>. 4019 * @since 16 4020 */ 4021 void OH_ArkUI_SwiperArrowStyle_SetArrowColor(ArkUI_SwiperArrowStyle* arrowStyle, uint32_t arrowColor); 4022 4023 /** 4024 * @brief Gets the color of the arrow. 4025 * 4026 * @param arrowStyle The pointer to the arrow style. 4027 * @return Returns the color of the arrow, in 0xARGB format. 4028 * @since 16 4029 */ 4030 uint32_t OH_ArkUI_SwiperArrowStyle_GetArrowColor(ArkUI_SwiperArrowStyle* arrowStyle); 4031 4032 /** 4033 * @brief Create a configuration item for the ListitemSwipeActionItem interface settings. 4034 * 4035 * @return List Item SwipeActionItem configuration item instance. 4036 * @since 12 4037 */ 4038 ArkUI_ListItemSwipeActionItem* OH_ArkUI_ListItemSwipeActionItem_Create(); 4039 4040 /** 4041 * @brief Destroy the ListitemSwipeActionItem instance. 4042 * 4043 * @param item List Item SwipeActionItem instance to be destroyed. 4044 * @since 12 4045 */ 4046 void OH_ArkUI_ListItemSwipeActionItem_Dispose(ArkUI_ListItemSwipeActionItem* item); 4047 4048 /** 4049 * @brief Set the layout content of ListItem SwipeActionItem. 4050 * 4051 * @param item List Item SwipeActionItem instance. 4052 * @param node Layout information. 4053 * @since 12 4054 */ 4055 void OH_ArkUI_ListItemSwipeActionItem_SetContent(ArkUI_ListItemSwipeActionItem* item, ArkUI_NodeHandle node); 4056 4057 /** 4058 * @brief Set the threshold for long-distance sliding deletion distance of components. 4059 * 4060 * @param item List Item SwipeActionItem instance. 4061 * @param distance Component long-distance sliding deletion distance threshold. 4062 * @since 12 4063 */ 4064 void OH_ArkUI_ListItemSwipeActionItem_SetActionAreaDistance(ArkUI_ListItemSwipeActionItem* item, float distance); 4065 4066 /** 4067 * @brief Obtain the threshold for long-distance sliding deletion distance of components. 4068 * 4069 * @param item List Item SwipeActionItem instance. 4070 * @return Component long-distance sliding deletion distance threshold. Return value on exception: 0. 4071 * @since 12 4072 */ 4073 float OH_ArkUI_ListItemSwipeActionItem_GetActionAreaDistance(ArkUI_ListItemSwipeActionItem* item); 4074 4075 /** 4076 * @brief Set the event to be called when a sliding entry enters the deletion area. 4077 * 4078 * @param item List Item SwipeActionItem instance. 4079 * @param callback Callback Events. 4080 * @since 12 4081 */ 4082 void OH_ArkUI_ListItemSwipeActionItem_SetOnEnterActionArea(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 4083 4084 /** 4085 * @brief Set the event triggered when a sliding entry enters the deletion area. 4086 * 4087 * @param option List Item SwipeActionItem instance. 4088 * @param userData User defined data. 4089 * @param callback Callback Events. 4090 * @since 12 4091 */ 4092 void OH_ArkUI_ListItemSwipeActionItem_SetOnEnterActionAreaWithUserData(ArkUI_ListItemSwipeActionItem* item, 4093 void* userData, void (*callback)(void* userData)); 4094 4095 /** 4096 * @brief Set the event to be called when a component enters the long-range deletion area and deletes a ListItem. 4097 * 4098 * @param item List Item SwipeActionItem instance. 4099 * @param callback Callback Events. 4100 * @since 12 4101 */ 4102 void OH_ArkUI_ListItemSwipeActionItem_SetOnAction(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 4103 4104 /** 4105 * @brief Set the event triggered when a component enters the long-range deletion area and deletes a ListItem. 4106 * 4107 * @param option List Item SwipeActionItem instance. 4108 * @param userData User defined data. 4109 * @param callback Callback Events. 4110 * @since 12 4111 */ 4112 void OH_ArkUI_ListItemSwipeActionItem_SetOnActionWithUserData(ArkUI_ListItemSwipeActionItem* item, 4113 void* userData, void (*callback)(void* userData)); 4114 4115 /** 4116 * @brief Set the event to be called when a sliding entry exits the deletion area. 4117 * 4118 * @param item List Item SwipeActionItem instance. 4119 * @param callback Callback Events. 4120 * @since 12 4121 */ 4122 void OH_ArkUI_ListItemSwipeActionItem_SetOnExitActionArea(ArkUI_ListItemSwipeActionItem* item, void (*callback)()); 4123 4124 /** 4125 * @brief Set the event triggered when a sliding entry exits the deletion area. 4126 * 4127 * @param option List Item SwipeActionItem instance. 4128 * @param userData User defined data. 4129 * @param callback Callback Events. 4130 * @since 12 4131 */ 4132 void OH_ArkUI_ListItemSwipeActionItem_SetOnExitActionAreaWithUserData(ArkUI_ListItemSwipeActionItem* item, 4133 void* userData, void (*callback)(void* userData)); 4134 4135 /** 4136 * @brief Set the event triggered when the sliding state of a list item changes. 4137 * 4138 * @param item List Item SwipeActionItem instance. 4139 * @param callback Callback Events. 4140 * swipeActionState The changed state. 4141 * @since 12 4142 */ 4143 void OH_ArkUI_ListItemSwipeActionItem_SetOnStateChange( 4144 ArkUI_ListItemSwipeActionItem* item, void (*callback)(ArkUI_ListItemSwipeActionState swipeActionState)); 4145 4146 /** 4147 * @brief Set the event triggered when the sliding state of a list item changes. 4148 * 4149 * @param option List Item SwipeActionItem instance. 4150 * @param userData User defined data. 4151 * @param callback Callback Events. 4152 * swipeActionState The changed state. 4153 * @since 12 4154 */ 4155 void OH_ArkUI_ListItemSwipeActionItem_SetOnStateChangeWithUserData(ArkUI_ListItemSwipeActionItem* item, 4156 void* userData, void (*callback)(ArkUI_ListItemSwipeActionState swipeActionState, void* userData)); 4157 4158 /** 4159 * @brief Create a configuration item for the ListitemSwipeActionOption interface settings. 4160 * 4161 * @return List Item SwipeActionOption configuration item instance. 4162 * @since 12 4163 */ 4164 ArkUI_ListItemSwipeActionOption* OH_ArkUI_ListItemSwipeActionOption_Create(); 4165 4166 /** 4167 * @brief Destroy the ListitemSwipeActionOption instance. 4168 * 4169 * @param option List Item SwipeActionOption instance to be destroyed. 4170 * @since 12 4171 */ 4172 void OH_ArkUI_ListItemSwipeActionOption_Dispose(ArkUI_ListItemSwipeActionOption* option); 4173 4174 /** 4175 * @brief Set the layout content on the left (vertical layout) or top (horizontal layout) 4176 * of the ListItem SwipeActionItem. 4177 * 4178 * @param option List Item SwipeActionItem instance. 4179 * @param builder Layout information. 4180 * @since 12 4181 */ 4182 void OH_ArkUI_ListItemSwipeActionOption_SetStart( 4183 ArkUI_ListItemSwipeActionOption* option, ArkUI_ListItemSwipeActionItem* item); 4184 4185 /** 4186 * @brief Set the layout content on the right (vertical layout) or bottom (horizontal layout) 4187 * of the ListItem SwipeActionItem. 4188 * 4189 * @param option List Item SwipeActionItem instance. 4190 * @param builder Layout information. 4191 * @since 12 4192 */ 4193 void OH_ArkUI_ListItemSwipeActionOption_SetEnd( 4194 ArkUI_ListItemSwipeActionOption* option, ArkUI_ListItemSwipeActionItem* item); 4195 4196 /** 4197 * @brief Set the sliding effect. 4198 * 4199 * @param option List Item SwipeActionItem instance. 4200 * @param edgeEffect Sliding effect. 4201 * @since 12 4202 */ 4203 void OH_ArkUI_ListItemSwipeActionOption_SetEdgeEffect( 4204 ArkUI_ListItemSwipeActionOption* option, ArkUI_ListItemSwipeEdgeEffect edgeEffect); 4205 4206 /** 4207 * @brief Get the sliding effect. 4208 * 4209 * @param option List Item SwipeActionItem instance. 4210 * @return Sliding effect. The default return value is ARKUI-LIST-ITEM-SWIPE-EDGE-EFFECT SPRING. 4211 * @since 12 4212 */ 4213 int32_t OH_ArkUI_ListItemSwipeActionOption_GetEdgeEffect(ArkUI_ListItemSwipeActionOption* option); 4214 4215 /** 4216 * @brief The event called when the sliding operation offset changes. 4217 * 4218 * @param option List Item SwipeActionItem instance. 4219 * @param callback Callback Events. 4220 * offset Slide offset. 4221 * @since 12 4222 */ 4223 void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChange( 4224 ArkUI_ListItemSwipeActionOption* option, void (*callback)(float offset)); 4225 4226 /** 4227 * @brief Set the event triggered when the sliding operation offset changes. 4228 * 4229 * @param option List Item SwipeActionItem instance. 4230 * @param userData User defined data. 4231 * @param callback Callback Events. 4232 * offset Slide offset. 4233 * @since 12 4234 */ 4235 void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChangeWithUserData(ArkUI_ListItemSwipeActionOption* option, 4236 void* userData, void (*callback)(float offset, void* userData)); 4237 4238 /** 4239 * @brief 使用图片路径创建帧图片信息,图片格式为svg,png和jpg。 4240 * 4241 * @param src 图片路径。 4242 * @return 帧图片对象指针。 4243 * @since 12 4244 */ 4245 ArkUI_ImageAnimatorFrameInfo* OH_ArkUI_ImageAnimatorFrameInfo_CreateFromString(char* src); 4246 4247 /** 4248 * @brief 使用 DrawableDescriptor 对象创建帧图片信息,图片格式为Resource和PixelMap。 4249 * 4250 * @param drawable 使用Resource或PixelMap创建的ArkUI_DrawableDescriptor对象指针。 4251 * @return 帧图片对象指针。 4252 * @since 12 4253 */ 4254 ArkUI_ImageAnimatorFrameInfo* OH_ArkUI_ImageAnimatorFrameInfo_CreateFromDrawableDescriptor( 4255 ArkUI_DrawableDescriptor* drawable); 4256 4257 /** 4258 * @brief 销毁帧图片对象指针。 4259 * 4260 * @param imageInfo 帧图片对象指针。 4261 * @since 12 4262 */ 4263 void OH_ArkUI_ImageAnimatorFrameInfo_Dispose(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4264 4265 /** 4266 * @brief 设置图片宽度。 4267 * 4268 * @param imageInfo 帧图片对象指针。 4269 * @param width 图片宽度,单位为PX。 4270 * @since 12 4271 */ 4272 void OH_ArkUI_ImageAnimatorFrameInfo_SetWidth(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t width); 4273 4274 /** 4275 * @brief 获取图片宽度。 4276 * 4277 * @param imageInfo 帧图片对象指针。 4278 * @return 图片宽度,单位为PX,imageInfo为空指针时返回0。 4279 * @since 12 4280 */ 4281 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetWidth(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4282 4283 /** 4284 * @brief 设置图片高度。 4285 * 4286 * @param imageInfo 帧图片对象指针。 4287 * @param height 图片高度,单位为PX。 4288 * @since 12 4289 */ 4290 void OH_ArkUI_ImageAnimatorFrameInfo_SetHeight(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t height); 4291 4292 /** 4293 * @brief 获取图片高度。 4294 * 4295 * @param imageInfo 帧图片对象指针。 4296 * @return 图片高度,单位为PX,imageInfo为空指针时返回0。 4297 * @since 12 4298 */ 4299 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetHeight(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4300 4301 /** 4302 * @brief 设置图片相对于组件左上角的纵向坐标。 4303 * 4304 * @param imageInfo 帧图片对象指针。 4305 * @param top 图片相对于组件左上角的纵向坐标,单位为PX。 4306 * @since 12 4307 */ 4308 void OH_ArkUI_ImageAnimatorFrameInfo_SetTop(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t top); 4309 4310 /** 4311 * @brief 获取图片相对于组件左上角的纵向坐标。 4312 * 4313 * @param imageInfo 帧图片对象指针。 4314 * @return 图片相对于组件左上角的纵向坐标,单位为PX,imageInfo为空指针时返回0。 4315 * @since 12 4316 */ 4317 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetTop(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4318 4319 /** 4320 * @brief 设置图片相对于组件左上角的横向坐标。 4321 * 4322 * @param imageInfo 帧图片对象指针。 4323 * @param left 图片相对于组件左上角的横向坐标,单位为PX。 4324 * @since 12 4325 */ 4326 void OH_ArkUI_ImageAnimatorFrameInfo_SetLeft(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t left); 4327 4328 /** 4329 * @brief 获取图片相对于组件左上角的横向坐标。 4330 * 4331 * @param imageInfo 帧图片对象指针。 4332 * @return 图片相对于组件左上角的横向坐标,单位为PX,imageInfo为空指针时返回0。 4333 * @since 12 4334 */ 4335 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetLeft(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4336 4337 /** 4338 * @brief 设置图片的播放时长。 4339 * 4340 * @param imageInfo 帧图片对象指针。 4341 * @param duration 图片的播放时长,单位为毫秒。 4342 * @since 12 4343 */ 4344 void OH_ArkUI_ImageAnimatorFrameInfo_SetDuration(ArkUI_ImageAnimatorFrameInfo* imageInfo, int32_t duration); 4345 4346 /** 4347 * @brief 获取图片的播放时长。 4348 * 4349 * @param imageInfo 帧图片对象指针。 4350 * @return 图片的播放时长,单位为毫秒,imageInfo为空指针时返回0。 4351 * @since 12 4352 */ 4353 int32_t OH_ArkUI_ImageAnimatorFrameInfo_GetDuration(ArkUI_ImageAnimatorFrameInfo* imageInfo); 4354 4355 /** 4356 * @brief Create accessibility state. 4357 * 4358 * @return accessibility state object. If the object returns a null pointer, 4359 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 4360 * @since 12 4361 */ 4362 ArkUI_AccessibilityState* OH_ArkUI_AccessibilityState_Create(); 4363 4364 /** 4365 * @brief Dispose accessibility state. 4366 * 4367 * @param state accessibility state object. 4368 * @since 12 4369 */ 4370 void OH_ArkUI_AccessibilityState_Dispose(ArkUI_AccessibilityState* state); 4371 4372 /** 4373 * @brief Set accessibility state disabled. 4374 * 4375 * @param state accessibility state object. 4376 * @param isDisabled accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. 4377 * @since 12 4378 */ 4379 void OH_ArkUI_AccessibilityState_SetDisabled(ArkUI_AccessibilityState* state, int32_t isDisabled); 4380 4381 /** 4382 * @brief Get accessibility state disabled. 4383 * 4384 * @param state accessibility state object. 4385 * @return accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. The default value is 0. 4386 * If the function parameter is abnormal, return the default value. 4387 * @since 12 4388 */ 4389 int32_t OH_ArkUI_AccessibilityState_IsDisabled(ArkUI_AccessibilityState* state); 4390 4391 /** 4392 * @brief Set accessibility state selected. 4393 * 4394 * @param state accessibility state object. 4395 * @param isSelected accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. 4396 * The default value is 0. 4397 * @since 12 4398 */ 4399 void OH_ArkUI_AccessibilityState_SetSelected(ArkUI_AccessibilityState* state, int32_t isSelected); 4400 4401 /** 4402 * @brief Get accessibility state selected. 4403 * 4404 * @param state accessibility state object. 4405 * @return accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. 4406 * The default value is 0. 4407 * If the function parameter is abnormal, return the default value. 4408 * @since 12 4409 */ 4410 int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); 4411 4412 /** 4413 * @brief Set accessibility checked state. 4414 * 4415 * @param state accessibility state object. 4416 * @param checkedState checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, 4417 * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. 4418 * @since 12 4419 */ 4420 void OH_ArkUI_AccessibilityState_SetCheckedState(ArkUI_AccessibilityState* state, int32_t checkedState); 4421 4422 /** 4423 * @brief Get accessibility checked state. 4424 * 4425 * @param state accessibility state object. 4426 * @return checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, 4427 * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. 4428 * If the function parameter is abnormal, return the default value. 4429 * @since 12 4430 */ 4431 int32_t OH_ArkUI_AccessibilityState_GetCheckedState(ArkUI_AccessibilityState* state); 4432 4433 /** 4434 * @brief Create accessibility value. 4435 * 4436 * @return accessibility value object. If the object returns a null pointer, 4437 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 4438 * @since 12 4439 */ 4440 ArkUI_AccessibilityValue* OH_ArkUI_AccessibilityValue_Create(); 4441 4442 /** 4443 * @brief Dispose accessibility value. 4444 * 4445 * @param state accessibility value object. 4446 * @since 12 4447 */ 4448 void OH_ArkUI_AccessibilityValue_Dispose(ArkUI_AccessibilityValue* value); 4449 4450 /** 4451 * @brief Set accessibility minimum value. 4452 * 4453 * @param value accessibility value object. 4454 * @param min minimum value based on range components, The default value is -1。 4455 * @since 12 4456 */ 4457 void OH_ArkUI_AccessibilityValue_SetMin(ArkUI_AccessibilityValue* value, int32_t min); 4458 4459 /** 4460 * @brief Get accessibility minimum value. 4461 * 4462 * @param value accessibility value object. 4463 * @return minimum value based on range components, The default value is -1。 4464 * If the function parameter is abnormal, return -1. 4465 * @since 12 4466 */ 4467 int32_t OH_ArkUI_AccessibilityValue_GetMin(ArkUI_AccessibilityValue* value); 4468 4469 /** 4470 * @brief Set accessibility minimum value. 4471 * 4472 * @param value accessibility value object. 4473 * @param max maximum value based on range components, The default value is -1。 4474 * @since 12 4475 */ 4476 void OH_ArkUI_AccessibilityValue_SetMax(ArkUI_AccessibilityValue* value, int32_t max); 4477 4478 /** 4479 * @brief Get accessibility minimum value. 4480 * 4481 * @param value accessibility value object. 4482 * @return maximum value based on range components, The default value is -1。 4483 * If the function parameter is abnormal, return -1. 4484 * @since 12 4485 */ 4486 int32_t OH_ArkUI_AccessibilityValue_GetMax(ArkUI_AccessibilityValue* value); 4487 4488 /** 4489 * @brief Set accessibility current value. 4490 * 4491 * @param value accessibility value object. 4492 * @param current value based on range components, The default value is -1。 4493 * @since 12 4494 */ 4495 void OH_ArkUI_AccessibilityValue_SetCurrent(ArkUI_AccessibilityValue* value, int32_t current); 4496 4497 /** 4498 * @brief Get accessibility current value. 4499 * 4500 * @param value accessibility value object. 4501 * @return current value based on range components, The default value is -1。 4502 * If the function parameter is abnormal, return -1. 4503 * @since 12 4504 */ 4505 int32_t OH_ArkUI_AccessibilityValue_GetCurrent(ArkUI_AccessibilityValue* value); 4506 4507 /** 4508 * @brief Set accessibility minimum value. 4509 * 4510 * @param value accessibility value object. 4511 * @param rangeMin minimum value based on range components, The default value is -1。 4512 * @since 16 4513 */ 4514 void OH_ArkUI_AccessibilityValue_SetRangeMin(ArkUI_AccessibilityValue* value, int32_t rangeMin); 4515 4516 /** 4517 * @brief Get accessibility minimum value. 4518 * 4519 * @param value accessibility value object. 4520 * @return minimum value based on range components, The default value is -1。 4521 * If the function parameter is abnormal, return -1. 4522 * @since 16 4523 */ 4524 int32_t OH_ArkUI_AccessibilityValue_GetRangeMin(ArkUI_AccessibilityValue* value); 4525 4526 /** 4527 * @brief Set accessibility maximum value. 4528 * 4529 * @param value accessibility value object. 4530 * @param rangeMax maximum value based on range components, The default value is -1。 4531 * @since 16 4532 */ 4533 void OH_ArkUI_AccessibilityValue_SetRangeMax(ArkUI_AccessibilityValue* value, int32_t rangeMax); 4534 4535 /** 4536 * @brief Get accessibility maximum value. 4537 * 4538 * @param value accessibility value object. 4539 * @return maximum value based on range components, The default value is -1。 4540 * If the function parameter is abnormal, return -1. 4541 * @since 16 4542 */ 4543 int32_t OH_ArkUI_AccessibilityValue_GetRangeMax(ArkUI_AccessibilityValue* value); 4544 4545 /** 4546 * @brief Set accessibility current value. 4547 * 4548 * @param value accessibility value object. 4549 * @param rangeCurrent value based on range components, The default value is -1。 4550 * @since 16 4551 */ 4552 void OH_ArkUI_AccessibilityValue_SetRangeCurrent(ArkUI_AccessibilityValue* value, int32_t rangeCurrent); 4553 4554 /** 4555 * @brief Get accessibility current value. 4556 * 4557 * @param value accessibility value object. 4558 * @return current value based on range components, The default value is -1。 4559 * If the function parameter is abnormal, return -1. 4560 * @since 16 4561 */ 4562 int32_t OH_ArkUI_AccessibilityValue_GetRangeCurrent(ArkUI_AccessibilityValue* value); 4563 4564 /** 4565 * @brief Set accessibility text value. 4566 * 4567 * @param value accessibility value object. 4568 * @param text The textual description information of the component, which defaults to an empty string。 4569 * @since 12 4570 */ 4571 void OH_ArkUI_AccessibilityValue_SetText(ArkUI_AccessibilityValue* value, const char* text); 4572 4573 /** 4574 * @brief Get accessibility text value。 4575 * 4576 * @param value accessibility value object. 4577 * @return The textual description information of the component, which defaults to an empty string; 4578 * If the function parameter is abnormal, return null. 4579 * @since 12 4580 */ 4581 const char* OH_ArkUI_AccessibilityValue_GetText(ArkUI_AccessibilityValue* value); 4582 /** 4583 * @brief Create configuration items for the ListChildrenMainSize interface settings. 4584 * 4585 * @return ListChildrenMainSize configuration item instance.If the object returns a null pointer, 4586 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 4587 * @since 12 4588 */ 4589 ArkUI_ListChildrenMainSize* OH_ArkUI_ListChildrenMainSizeOption_Create(); 4590 4591 /** 4592 * @brief Destroy the ListChildrenMainSize instance. 4593 * 4594 * @param option The ListChildrenMainSize instance to be destroyed. 4595 * @since 12 4596 */ 4597 void OH_ArkUI_ListChildrenMainSizeOption_Dispose(ArkUI_ListChildrenMainSize* option); 4598 4599 /** 4600 * @brief Set the default size of ChildrenMainSizeOption for the List component. 4601 * 4602 * @param option ListChildrenMainSize instance. 4603 * @param defaultMainSize The default size of the ListItem under the List, measured in vp. 4604 * @return Error code. 4605 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 4606 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 4607 * @since 12 4608 */ 4609 int32_t OH_ArkUI_ListChildrenMainSizeOption_SetDefaultMainSize(ArkUI_ListChildrenMainSize* option, 4610 float defaultMainSize); 4611 4612 /** 4613 * @brief Get the default size of ChildrenMainSizeOption for the List component. 4614 * 4615 * @param option ListChildrenMainSize instance. 4616 * @return The default size of the ListItem under the List is 0, measured in vp. 4617 * When the option is a null pointer, it returns -1. 4618 * @since 12 4619 */ 4620 float OH_ArkUI_ListChildrenMainSizeOption_GetDefaultMainSize(ArkUI_ListChildrenMainSize* option); 4621 4622 /** 4623 * @brief Reset the array size of ChildrenMainSizeOption for the List component. 4624 * 4625 * @param option ListChildrenMainSize instance. 4626 * @param totalSize Array size. 4627 * @since 12 4628 */ 4629 void OH_ArkUI_ListChildrenMainSizeOption_Resize(ArkUI_ListChildrenMainSize* option, int32_t totalSize); 4630 4631 /** 4632 * @brief Resize the ChildrenMainSizeOption array operation on the List component. 4633 * 4634 * @param option ListChildrenMainSize instance. 4635 * @param index To modify the starting position of the MainSize array. 4636 * @param deleteCount The number of MainSize arrays to be deleted starting from index. 4637 * @param addCount The number of MainSize arrays to be added starting from index. 4638 * @return Error code. 4639 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 4640 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 4641 * @since 12 4642 */ 4643 int32_t OH_ArkUI_ListChildrenMainSizeOption_Splice(ArkUI_ListChildrenMainSize* option, int32_t index, 4644 int32_t deleteCount, int32_t addCount); 4645 4646 /** 4647 * @brief Update the value of the ChildrenMainSizeOption array in the List component. 4648 * 4649 * @param option ListChildrenMainSize instance. 4650 * @param index To modify the starting position of the MainSize array. 4651 * @param mainSize The actual modified value. 4652 * @return Error code. 4653 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 4654 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 4655 * @since 12 4656 */ 4657 int32_t OH_ArkUI_ListChildrenMainSizeOption_UpdateSize(ArkUI_ListChildrenMainSize* option, 4658 int32_t index, float mainSize); 4659 4660 /** 4661 * @brief Get the value of the ChildrenMainSizeOption array for the List component. 4662 * 4663 * @param option ListChildrenMainSize instance. 4664 * @param index The index position of the value to be obtained. 4665 * @return The value of the specific position of the array. If the function parameter is abnormal, return -1. 4666 * @since 12 4667 */ 4668 float OH_ArkUI_ListChildrenMainSizeOption_GetMainSize(ArkUI_ListChildrenMainSize* option, int32_t index); 4669 4670 /** 4671 * @brief 创建自定义段落组件测量信息。 4672 * 4673 * @return CustomSpanMeasureInfo实例。 4674 * @since 12 4675 */ 4676 ArkUI_CustomSpanMeasureInfo* OH_ArkUI_CustomSpanMeasureInfo_Create(void); 4677 4678 /** 4679 * @brief 销毁自定义段落组件测量信息。 4680 * 4681 * @since 12 4682 */ 4683 void OH_ArkUI_CustomSpanMeasureInfo_Dispose(ArkUI_CustomSpanMeasureInfo* info); 4684 4685 /** 4686 * @brief 获取自定义段落组件的字体大小。 4687 * 4688 * @param info 自定义段落组件测量信息指针。 4689 * @return 字体大小。若函数参数异常,返回-1.0f。 4690 * @since 12 4691 */ 4692 float OH_ArkUI_CustomSpanMeasureInfo_GetFontSize(ArkUI_CustomSpanMeasureInfo* info); 4693 4694 /** 4695 * @brief 创建自定义段落组件度量信息。 4696 * 4697 * @return CustomSpanMetrics实例。 4698 * @since 12 4699 */ 4700 ArkUI_CustomSpanMetrics* OH_ArkUI_CustomSpanMetrics_Create(void); 4701 4702 /** 4703 * @brief 销毁自定义段落组件度量信息。 4704 * 4705 * @since 12 4706 */ 4707 void OH_ArkUI_CustomSpanMetrics_Dispose(ArkUI_CustomSpanMetrics* metrics); 4708 4709 /** 4710 * @brief 设置自定义段落组件的宽度。 4711 * 4712 * @param metrics CustomSpanMetrics实例。 4713 * @param width 宽度大小,单位为px。 4714 * @return 错误码。 4715 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 4716 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 4717 * @since 12 4718 */ 4719 int32_t OH_ArkUI_CustomSpanMetrics_SetWidth(ArkUI_CustomSpanMetrics* metrics, float width); 4720 4721 /** 4722 * @brief 设置自定义段落组件的高度。 4723 * 4724 * @param metrics CustomSpanMetrics实例。 4725 * @param height 高度大小,单位为px。 4726 * @return 错误码。 4727 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 4728 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 4729 * @since 12 4730 */ 4731 int32_t OH_ArkUI_CustomSpanMetrics_SetHeight(ArkUI_CustomSpanMetrics* metrics, float height); 4732 4733 /** 4734 * @brief 创建自定义段落组件绘制信息。 4735 * 4736 * @return CustomSpanDrawInfo实例。 4737 * @since 12 4738 */ 4739 ArkUI_CustomSpanDrawInfo* OH_ArkUI_CustomSpanDrawInfo_Create(void); 4740 4741 /** 4742 * @brief 销毁自定义段落组件绘制信息。 4743 * 4744 * @since 12 4745 */ 4746 void OH_ArkUI_CustomSpanDrawInfo_Dispose(ArkUI_CustomSpanDrawInfo* info); 4747 4748 /** 4749 * @brief 获取自定义段落组件相对于挂载组件的x轴偏移值。 4750 * 4751 * @param info 自定义段落组件绘制信息指针。 4752 * @return x轴偏移值。若函数参数异常,返回0.0f。 4753 * @since 12 4754 */ 4755 float OH_ArkUI_CustomSpanDrawInfo_GetXOffset(ArkUI_CustomSpanDrawInfo* info); 4756 4757 /** 4758 * @brief 获取自定义段落组件相对于挂载组件的上边距。 4759 * 4760 * @param info 自定义段落组件绘制信息指针。 4761 * @return 上边距值。若函数参数异常,返回0.0f。 4762 * @since 12 4763 */ 4764 float OH_ArkUI_CustomSpanDrawInfo_GetLineTop(ArkUI_CustomSpanDrawInfo* info); 4765 4766 /** 4767 * @brief 获取自定义段落组件相对于挂载组件的下边距。 4768 * 4769 * @param info 自定义段落组件绘制信息指针。 4770 * @return 下边距值。若函数参数异常,返回0.0f。 4771 * @since 12 4772 */ 4773 float OH_ArkUI_CustomSpanDrawInfo_GetLineBottom(ArkUI_CustomSpanDrawInfo* info); 4774 4775 /** 4776 * @brief 获取自定义段落组件相对于挂载组件的基线偏移量。 4777 * 4778 * @param info 自定义段落组件绘制信息指针。 4779 * @return 基线偏移量值。若函数参数异常,返回0.0f。 4780 * @since 12 4781 */ 4782 float OH_ArkUI_CustomSpanDrawInfo_GetBaseline(ArkUI_CustomSpanDrawInfo* info); 4783 4784 /** 4785 * @brief Destroy the instance of Customs Property. 4786 * 4787 * @param handle The instance of Customs Property to be destroyed. 4788 * @since 14 4789 */ 4790 void OH_ArkUI_CustomProperty_Destroy(ArkUI_CustomProperty* handle); 4791 4792 /** 4793 * @brief Get custom attribute value information. 4794 * 4795 * @param handle Custom attribute object pointer. 4796 * @return Customize the value information within the attribute structure. 4797 * @since 14 4798 */ 4799 const char* OH_ArkUI_CustomProperty_GetStringValue(ArkUI_CustomProperty* handle); 4800 4801 /** 4802 * @brief Get window name from HostWindowInfo. 4803 * 4804 * @param info HostWindowInfo object pointer. 4805 * @return Window name in HostWindowInfo. 4806 * @since 15 4807 */ 4808 const char* OH_ArkUI_HostWindowInfo_GetName(ArkUI_HostWindowInfo* info); 4809 4810 /** 4811 * @brief Destroy the instance of HostWindowInfo. 4812 * 4813 * @param info Instance of HostWindowInfo to be destroyed. 4814 * @since 15 4815 */ 4816 void OH_ArkUI_HostWindowInfo_Destroy(ArkUI_HostWindowInfo* info); 4817 4818 /** 4819 * @brief Destroy ActiveChildenInfo instance. 4820 * 4821 * @param handle ActiveChild instance to be destroyed. 4822 * @since 14 4823 */ 4824 void OH_ArkUI_ActiveChildrenInfo_Destroy(ArkUI_ActiveChildrenInfo* handle); 4825 4826 /** 4827 * @brief Retrieve the child nodes of ActiveChildenInfo with the structure index. 4828 * 4829 * @param handle The ActiveChildenInfo instance for obtaining information. 4830 * @param index The index of child nodes. 4831 * @return The child node pointer corresponding to the index. Return nullptr in case of exception 4832 * @since 14 4833 */ 4834 ArkUI_NodeHandle OH_ArkUI_ActiveChildrenInfo_GetNodeByIndex(ArkUI_ActiveChildrenInfo* handle, int32_t index); 4835 4836 /** 4837 * @brief Retrieve the number of nodes within the structure of ActiveChildenInfo. 4838 * 4839 * @param handle The ActiveChildenInfo instance for obtaining information. 4840 * @return Number of child nodes. Default value:0. 4841 * @since 14 4842 */ 4843 int32_t OH_ArkUI_ActiveChildrenInfo_GetCount(ArkUI_ActiveChildrenInfo* handle); 4844 4845 /** 4846 * @brief Create linear progress indicator style information. 4847 * 4848 * @return Returns a <b>ProgressLinearStyleOption</b> instance. 4849 * <br> If the result returns nullptr, there may be out of memory. 4850 * @since 15 4851 */ 4852 ArkUI_ProgressLinearStyleOption* OH_ArkUI_ProgressLinearStyleOption_Create(void); 4853 4854 /** 4855 * @brief Destroy linear progress indicator style information. 4856 * 4857 * @param option Linear progress indicator style information. 4858 * @since 15 4859 */ 4860 void OH_ArkUI_ProgressLinearStyleOption_Destroy(ArkUI_ProgressLinearStyleOption* option); 4861 4862 /** 4863 * @brief Set whether the scan effect is enabled. 4864 * 4865 * @param option Linear progress indicator style information. 4866 * @param enabled Whether to enable the scan effect. Default value: false. 4867 * @since 15 4868 */ 4869 void OH_ArkUI_ProgressLinearStyleOption_SetScanEffectEnabled(ArkUI_ProgressLinearStyleOption* option, bool enabled); 4870 4871 /** 4872 * @brief Set whether smoothing effect is enabled. 4873 * 4874 * @param option Linear progress indicator style information. 4875 * @param enabled Whether to enable the smooth effect. When this effect is enabled, the progress change to 4876 * the set value takes place gradually. Otherwise, it takes place immediately. Default value: true. 4877 * @since 15 4878 */ 4879 void OH_ArkUI_ProgressLinearStyleOption_SetSmoothEffectEnabled(ArkUI_ProgressLinearStyleOption* option, bool enabled); 4880 4881 /** 4882 * @brief Set linear progress indicator stroke width. 4883 * 4884 * @param option Linear progress indicator style information. 4885 * @param strokeWidth Stroke width of the progress indicator. It cannot be set in percentage. 4886 * Default value: 4.0vp. 4887 * @since 15 4888 */ 4889 void OH_ArkUI_ProgressLinearStyleOption_SetStrokeWidth(ArkUI_ProgressLinearStyleOption* option, float strokeWidth); 4890 4891 /** 4892 * @brief Set linear progress indicator stroke radius. 4893 * 4894 * @param option Linear progress indicator style information. 4895 * @param strokeRadius Rounded corner radius of the progress indicator. Value range: [0, strokeWidth/2]. 4896 * Default value: strokeWidth/2. 4897 * @since 15 4898 */ 4899 void OH_ArkUI_ProgressLinearStyleOption_SetStrokeRadius(ArkUI_ProgressLinearStyleOption* option, float strokeRadius); 4900 4901 /** 4902 * @brief Get whether scan effect is enable. 4903 * 4904 * @param option Linear progress indicator style information. 4905 * @return Whether to enable the scan effect. 4906 * @since 15 4907 */ 4908 bool OH_ArkUI_ProgressLinearStyleOption_GetScanEffectEnabled(ArkUI_ProgressLinearStyleOption* option); 4909 4910 /** 4911 * @brief Get whether smoothing effect is enabled. 4912 * 4913 * @param option Linear progress indicator style information. 4914 * @return Whether to enable the smooth effect. 4915 * @since 15 4916 */ 4917 bool OH_ArkUI_ProgressLinearStyleOption_GetSmoothEffectEnabled(ArkUI_ProgressLinearStyleOption* option); 4918 4919 /** 4920 * @brief Get linear progress indicator stroke width. 4921 * 4922 * @param option Linear progress indicator style information. 4923 * @return Stroke width of the progress indicator. 4924 * @since 15 4925 */ 4926 float OH_ArkUI_ProgressLinearStyleOption_GetStrokeWidth(ArkUI_ProgressLinearStyleOption* option); 4927 4928 /** 4929 * @brief Get linear progress indicator stroke radius. 4930 * 4931 * @param option Linear progress indicator style information. 4932 * @return Rounded corner radius of the progress indicator. 4933 * @since 15 4934 */ 4935 float OH_ArkUI_ProgressLinearStyleOption_GetStrokeRadius(ArkUI_ProgressLinearStyleOption* option); 4936 4937 /** 4938 * @brief Creates an option for taking snapshot, the returned value must be released through 4939 * {@link OH_ArkUI_DestroySnapshotOptions} when it's not used anymore. 4940 * 4941 * @return Returns the pointer to the created snapshot options object.If the object returns a null pointer, 4942 * it indicates a creation failure, and the reason for the failure may be that the address space is full. 4943 * @since 15 4944 */ 4945 ArkUI_SnapshotOptions* OH_ArkUI_CreateSnapshotOptions(); 4946 4947 /** 4948 * @brief Dispose a snapshot option object. 4949 * 4950 * @param snapshotOptions Indicates the pointer to the snapshot option. 4951 * @since 15 4952 */ 4953 void OH_ArkUI_DestroySnapshotOptions(ArkUI_SnapshotOptions* snapshotOptions); 4954 4955 /** 4956 * @brief Config the snapshot option with scale. 4957 * 4958 * @param snapshotOptions Indicates the pointer to the snapshot option. 4959 * @param scale Indicates the scale property to take the snapshot. 4960 * @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 4961 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 4962 * @since 15 4963 */ 4964 int32_t OH_ArkUI_SnapshotOptions_SetScale(ArkUI_SnapshotOptions* snapshotOptions, float scale); 4965 4966 /** 4967 * @brief Create a cross-language option instance. 4968 * 4969 * @return Returns a cross-language option instance. If the result is a null pointer, it may be out of memory. 4970 * @since 15 4971 */ 4972 ArkUI_CrossLanguageOption* OH_ArkUI_CrossLanguageOption_Create(void); 4973 4974 /** 4975 * @brief Destroy the cross-language option instance. 4976 * 4977 * @param option The cross-language option instance. 4978 * @since 15 4979 */ 4980 void OH_ArkUI_CrossLanguageOption_Destroy(ArkUI_CrossLanguageOption* option); 4981 4982 /** 4983 * @brief Enable the attribute setting in the cross-language option. 4984 * 4985 * @param option The cross-language option. 4986 * @param enable The attribute setting in the cross-language option. 4987 * Default value: false. 4988 * @since 15 4989 */ 4990 void OH_ArkUI_CrossLanguageOption_SetAttributeSettingStatus(ArkUI_CrossLanguageOption* option, bool enable); 4991 4992 /** 4993 * @brief Get the attribute setting enable of the cross-language option. 4994 * 4995 * @param option The cross-language option. 4996 * @return The attribute setting enable of the cross-language option. 4997 * @since 15 4998 */ 4999 bool OH_ArkUI_CrossLanguageOption_GetAttributeSettingStatus(ArkUI_CrossLanguageOption* option); 5000 5001 /** 5002 * @brief Defines the parameters for visible area change events. 5003 * 5004 * @since 17 5005 */ 5006 typedef struct ArkUI_VisibleAreaEventOptions ArkUI_VisibleAreaEventOptions; 5007 5008 /** 5009 * @brief Creates an instance of visible area change event parameters 5010 * 5011 * @return Returns the created instance of visible area change event parameters. 5012 * @since 17 5013 */ 5014 ArkUI_VisibleAreaEventOptions* OH_ArkUI_VisibleAreaEventOptions_Create(); 5015 5016 /** 5017 * @brief Disposes of an instance of visible area change event parameters. 5018 * 5019 * @param option Instance to be destroyed. 5020 * @since 17 5021 */ 5022 void OH_ArkUI_VisibleAreaEventOptions_Dispose(ArkUI_VisibleAreaEventOptions* option); 5023 5024 /** 5025 * @brief Sets the threshold ratios for visible area changes. 5026 * 5027 * @param option Instance of visible area change event parameters. 5028 * @param value Array of threshold ratios. Each element represents the ratio of the visible area of a component to 5029 * its total area. The visible area is calculated within the parent component's bounds; any area outside the parent 5030 * component is not considered. Each value must be within the [0.0, 1.0] range. 5031 * Values outside this range will be handled as 0.0 or 1.0. 5032 * @param size Size of the threshold array. 5033 * @return Returns the result code. 5034 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 5035 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 5036 * If an error code is returned, it may be due to a failure in parameter validation; 5037 * the parameter must not be null. 5038 * @since 17 5039 */ 5040 int32_t OH_ArkUI_VisibleAreaEventOptions_SetRatios(ArkUI_VisibleAreaEventOptions* option, float* value, int32_t size); 5041 5042 /** 5043 * @brief Sets the expected update interval for visible area changes. 5044 * 5045 * @param option Instance of visible area change event parameters. 5046 * @param value Expected update interval, in ms. Default value: <b>1000</b>. 5047 * @return Returns the result code. 5048 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 5049 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 5050 * If an error code is returned, it may be due to a failure in parameter validation; 5051 * the parameter must not be null. 5052 * @since 17 5053 */ 5054 int32_t OH_ArkUI_VisibleAreaEventOptions_SetExpectedUpdateInterval( 5055 ArkUI_VisibleAreaEventOptions *option, int32_t value); 5056 5057 /** 5058 * @brief Obtains the threshold ratios for visible area changes. 5059 * 5060 * @param option Instance of visible area change event parameters. 5061 * @param value Array of threshold ratios. 5062 * @param size Size of the threshold array. 5063 * @return Returns the result code. 5064 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 5065 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 5066 * Returns {@link ARKUI_ERROR_CODE_BUFFER_SIZE_ERROR} if the provided buffer size is insufficient. 5067 * If an error code is returned, it may be due to a failure in parameter validation; 5068 * the parameter must not be null. 5069 * @since 17 5070 */ 5071 int32_t OH_ArkUI_VisibleAreaEventOptions_GetRatios(ArkUI_VisibleAreaEventOptions* option, float* value, int32_t* size); 5072 5073 /** 5074 * @brief Obtains the expected update interval for visible area changes. 5075 * 5076 * @param option Instance of visible area change event parameters. 5077 * @return Returns the expected update interval, in ms. Default value: <b>1000</b>. 5078 * @since 17 5079 */ 5080 int32_t OH_ArkUI_VisibleAreaEventOptions_GetExpectedUpdateInterval(ArkUI_VisibleAreaEventOptions* option); 5081 5082 /** 5083 *@brief Creates a TextPickerRangeContent instance. 5084 * 5085 *@param length The length of the picker array. 5086 *@return Returns a <b>TextPickerRangeContent</b> instance. 5087 *@since 19 5088 */ 5089 ArkUI_TextPickerRangeContentArray* OH_ArkUI_TextPickerRangeContentArray_Create(int32_t length); 5090 5091 /** 5092 *@brief Sets the icon of items in a text picker ranges. 5093 * 5094 *@param handle The TextPickerRangeContent instance for obtaining information. 5095 *@param icon Icon address. 5096 *@param index The index position of the value to be obtained. 5097 *@since 19 5098 */ 5099 void OH_ArkUI_TextPickerRangeContentArray_SetIconAtIndex( 5100 ArkUI_TextPickerRangeContentArray* handle, char* icon, int32_t index); 5101 5102 /** 5103 *@brief Sets the text of items in a text picker ranges. 5104 * 5105 *@param handle The TextPickerRangeContent instance for obtaining information. 5106 *@param text Text content. 5107 *@param index The index position of the value to be obtained. 5108 *@since 19 5109 */ 5110 void OH_ArkUI_TextPickerRangeContentArray_SetTextAtIndex( 5111 ArkUI_TextPickerRangeContentArray* handle, char* text, int32_t index); 5112 5113 /** 5114 *@brief Destroys the TextPickerRangeContent instance. 5115 * 5116 *@param handle The TextPickerRangeContent instance for obtaining information. 5117 *@since 19 5118 */ 5119 void OH_ArkUI_TextPickerRangeContentArray_Destroy(ArkUI_TextPickerRangeContentArray* handle); 5120 5121 /** 5122 *@brief Creates a TextCascadePickerRangeContent instance. 5123 * 5124 *@param length The length of the picker arry. 5125 *@return Returns a <b>TextCascadePickerRangeContent</b> instance. 5126 *@since 19 5127 */ 5128 ArkUI_TextCascadePickerRangeContentArray* OH_ArkUI_TextCascadePickerRangeContentArray_Create(int32_t length); 5129 5130 /** 5131 *@brief Sets the text of items in a multi text picker ranges. 5132 * 5133 *@param handle The TextCascadePickerRangeContent instance for obtaining information. 5134 *@param text text content. 5135 *@param index The index position of the value to be obtained. 5136 *@since 19 5137 */ 5138 void OH_ArkUI_TextCascadePickerRangeContentArray_SetTextAtIndex( 5139 ArkUI_TextCascadePickerRangeContentArray* handle, char* text, int32_t index); 5140 5141 /** 5142 *@brief Sets the child info of items in a multi text picker ranges. 5143 * 5144 *@param handle The TextCascadePickerRangeContent instance for obtaining information. 5145 *@param child The child instance. 5146 *@param index The index position of the value to be obtained. 5147 *@since 19 5148 */ 5149 void OH_ArkUI_TextCascadePickerRangeContentArray_SetChildAtIndex( 5150 ArkUI_TextCascadePickerRangeContentArray* handle, ArkUI_TextCascadePickerRangeContentArray* child, int32_t index); 5151 5152 /** 5153 *@brief Destroys the TextCascadePickerRangeContent instance. 5154 * 5155 *@param handle The TextCascadePickerRangeContent instance for obtaining information. 5156 *@since 19 5157 */ 5158 void OH_ArkUI_TextCascadePickerRangeContentArray_Destroy(ArkUI_TextCascadePickerRangeContentArray* handle); 5159 5160 /** 5161 * @brief Create an object for the EmbeddedComponent option. 5162 * 5163 * @return A pointer to the object of the EmbeddedComponent option. 5164 * @since 20 5165 */ 5166 ArkUI_EmbeddedComponentOption* OH_ArkUI_EmbeddedComponentOption_Create(); 5167 5168 /** 5169 * @brief Destroy the object by EmbeddedComponent option. 5170 * 5171 * @param option Pointer to the object by the EmbeddeComponent to be destroyed. 5172 * @since 20 5173 */ 5174 void OH_ArkUI_EmbeddedComponentOption_Dispose(ArkUI_EmbeddedComponentOption* option); 5175 5176 /** 5177 * @brief Set the onError of EmbeddedComponent. 5178 * 5179 * @param option Pointer to the object option by the EmbeddedComponent. 5180 * @param code Common error information about the API invoking failure. 5181 * @param name Common error name information about the API invoking failure. 5182 * @param message Common error message information about the API invoking failure. 5183 * @since 20 5184 */ 5185 void OH_ArkUI_EmbeddedComponentOption_SetOnError( 5186 ArkUI_EmbeddedComponentOption* option, void (*callback)(int32_t code, const char* name, const char* message)); 5187 5188 /** 5189 * @brief Set the onTerminated of EmbeddedComponent. 5190 * 5191 * @param option Pointer to the object option by the EmbeddedComponent. 5192 * @param code Result code returned when the EmbeddedUIExtensionAbility exits. 5193 * @param want Data returned when the EmbeddedUIExtensionAbility exits. 5194 * @since 20 5195 */ 5196 void OH_ArkUI_EmbeddedComponentOption_SetOnTerminated( 5197 ArkUI_EmbeddedComponentOption* option, void (*callback)(int32_t code, AbilityBase_Want* want)); 5198 #ifdef __cplusplus 5199 }; 5200 #endif 5201 5202 #endif // ARKUI_NATIVE_TYPE_H 5203 /** @} */ 5204