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