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