1 /* 2 * Copyright (c) 2024-2025 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_node.h 28 * 29 * @brief Provides type definitions for <b>NativeNode</b> APIs. 30 * 31 * @library libace_ndk.z.so 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @kit ArkUI 34 * @since 12 35 */ 36 37 #ifndef ARKUI_NATIVE_NODE_H 38 #define ARKUI_NATIVE_NODE_H 39 40 #include "native_type.h" 41 #include "ui_input_event.h" 42 43 #ifdef __cplusplus 44 #include <cstdint> 45 #else 46 #include <stdint.h> 47 #endif 48 49 #ifdef __cplusplus 50 extern "C" { 51 #endif 52 53 /** 54 * @brief Define commponents max function size. 55 * 56 * @since 12 57 */ 58 #define MAX_NODE_SCOPE_NUM 1000 59 60 /** 61 * @brief Enumerates ArkUI component types that can be created on the native side. 62 * 63 * @since 12 64 */ 65 typedef enum { 66 /** Custom node. */ 67 ARKUI_NODE_CUSTOM = 0, 68 /** Text. */ 69 ARKUI_NODE_TEXT = 1, 70 /** Text span. */ 71 ARKUI_NODE_SPAN = 2, 72 /** Image span. */ 73 ARKUI_NODE_IMAGE_SPAN = 3, 74 /** Image. */ 75 ARKUI_NODE_IMAGE = 4, 76 /** Toggle. */ 77 ARKUI_NODE_TOGGLE = 5, 78 /** Loading icon. */ 79 ARKUI_NODE_LOADING_PROGRESS = 6, 80 /** Single-line text input. */ 81 ARKUI_NODE_TEXT_INPUT = 7, 82 /** Multi-line text input. */ 83 ARKUI_NODE_TEXT_AREA = 8, 84 /** Button. */ 85 ARKUI_NODE_BUTTON = 9, 86 /** Progress indicator. */ 87 ARKUI_NODE_PROGRESS = 10, 88 /** Check box. */ 89 ARKUI_NODE_CHECKBOX = 11, 90 /** XComponent. */ 91 ARKUI_NODE_XCOMPONENT = 12, 92 /** Date picker. */ 93 ARKUI_NODE_DATE_PICKER = 13, 94 /** Time picker. */ 95 ARKUI_NODE_TIME_PICKER = 14, 96 /** Text picker. */ 97 ARKUI_NODE_TEXT_PICKER = 15, 98 /** Calendar picker. */ 99 ARKUI_NODE_CALENDAR_PICKER = 16, 100 /** Slider. */ 101 ARKUI_NODE_SLIDER = 17, 102 /** Radio */ 103 ARKUI_NODE_RADIO = 18, 104 /** Image animator. */ 105 ARKUI_NODE_IMAGE_ANIMATOR = 19, 106 /** XComponent of type TEXTURE. 107 * @since 18 108 */ 109 ARKUI_NODE_XCOMPONENT_TEXTURE, 110 /** Check box group. 111 * @since 15 112 */ 113 ARKUI_NODE_CHECKBOX_GROUP = 21, 114 /** Stack container. */ 115 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 116 /** Swiper. */ 117 ARKUI_NODE_SWIPER, 118 /** Scrolling container. */ 119 ARKUI_NODE_SCROLL, 120 /** List. */ 121 ARKUI_NODE_LIST, 122 /** List item. */ 123 ARKUI_NODE_LIST_ITEM, 124 /** List item group. */ 125 ARKUI_NODE_LIST_ITEM_GROUP, 126 /** Column container. */ 127 ARKUI_NODE_COLUMN, 128 /** Row container. */ 129 ARKUI_NODE_ROW, 130 /** Flex container. */ 131 ARKUI_NODE_FLEX, 132 /** Refresh component. */ 133 ARKUI_NODE_REFRESH, 134 /** Water flow container. */ 135 ARKUI_NODE_WATER_FLOW, 136 /** Water flow item. */ 137 ARKUI_NODE_FLOW_ITEM, 138 /** Relative layout component. */ 139 ARKUI_NODE_RELATIVE_CONTAINER, 140 /** Grid. */ 141 ARKUI_NODE_GRID, 142 /** Grid item. */ 143 ARKUI_NODE_GRID_ITEM, 144 /** Custom span. */ 145 ARKUI_NODE_CUSTOM_SPAN, 146 /** 147 * EmbeddedComponent. 148 * @since 20 149 */ 150 ARKUI_NODE_EMBEDDED_COMPONENT, 151 /** 152 * Undefined. 153 * @since 20 154 */ 155 ARKUI_NODE_UNDEFINED, 156 } ArkUI_NodeType; 157 158 /** 159 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 160 * 161 * @since 12 162 */ 163 typedef struct { 164 /** Numeric array. */ 165 const ArkUI_NumberValue* value; 166 /** Size of the numeric array. */ 167 int32_t size; 168 /** String type. */ 169 const char* string; 170 /** Object type. */ 171 void* object; 172 } ArkUI_AttributeItem; 173 174 /** 175 * @brief Defines the ArkUI style attributes that can be set on the native side. 176 * 177 * @since 12 178 */ 179 typedef enum { 180 /** 181 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 182 * 183 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 184 * .value[0].f32: width, in vp.\n 185 * \n 186 * Format of the return value {@link ArkUI_AttributeItem}:\n 187 * .value[0].f32: width, in vp.\n 188 * 189 */ 190 NODE_WIDTH = 0, 191 /** 192 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 193 * 194 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 195 * .value[0].f32: height, in vp.\n 196 * \n 197 * Format of the return value {@link ArkUI_AttributeItem}:\n 198 * .value[0].f32: height, in vp.\n 199 * 200 */ 201 NODE_HEIGHT, 202 /** 203 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 204 * 205 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 206 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 207 * \n 208 * Format of the return value {@link ArkUI_AttributeItem}:\n 209 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 210 * 211 */ 212 NODE_BACKGROUND_COLOR, 213 /** 214 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 215 * 216 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 217 * .string: image address;\n 218 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 219 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 220 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 221 * \n 222 * Format of the return value {@link ArkUI_AttributeItem}:\n 223 * .string: image address;\n 224 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 225 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 226 * 227 */ 228 NODE_BACKGROUND_IMAGE, 229 /** 230 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 231 * 232 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 233 * 1: Specify the same padding for the four directions. \n 234 * .value[0].f32: padding, in vp.\n 235 * 2: Specify different paddings for different directions. \n 236 * .value[0].f32: top padding, in vp.\n 237 * .value[1].f32: right padding, in vp.\n 238 * .value[2].f32: bottom padding, in vp.\n 239 * .value[3].f32: left padding, in vp.\n 240 * \n 241 * Format of the return value {@link ArkUI_AttributeItem}:\n 242 * .value[0].f32: top padding, in vp.\n 243 * .value[1].f32: right padding, in vp.\n 244 * .value[2].f32: bottom padding, in vp.\n 245 * .value[3].f32: left padding, in vp.\n 246 * 247 */ 248 NODE_PADDING, 249 /** 250 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 251 * 252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 253 * .string: component ID.\n 254 * \n 255 * Format of the return value {@link ArkUI_AttributeItem}:\n 256 * .string: component ID.\n 257 * 258 */ 259 NODE_ID, 260 /** 261 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 262 * 263 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 264 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.\n 265 * \n 266 * Format of the return value {@link ArkUI_AttributeItem}:\n 267 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite. \n 268 * 269 */ 270 NODE_ENABLED, 271 /** 272 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 273 * 274 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 275 * 1: Specify the same margin for the four directions. \n 276 * .value[0].f32: margin, in vp.\n 277 * 2: Specify different margins for different directions. \n 278 * .value[0].f32: top margin, in vp.\n 279 * .value[1].f32: right margin, in vp.\n 280 * .value[2].f32: bottom margin, in vp.\n 281 * .value[3].f32: left margin, in vp.\n 282 * \n 283 * Format of the return value {@link ArkUI_AttributeItem}:\n 284 * .value[0].f32: top margin, in vp.\n 285 * .value[1].f32: right margin, in vp.\n 286 * .value[2].f32: bottom margin, in vp.\n 287 * .value[3].f32: left margin, in vp.\n 288 * 289 */ 290 NODE_MARGIN, 291 /** 292 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 293 * 294 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 295 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 296 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 297 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 298 * \n 299 * Format of the return value {@link ArkUI_AttributeItem}:\n 300 * .value[0].f32: distance to translate along the x-axis, in vp.\n 301 * .value[1].f32: distance to translate along the y-axis, in vp.\n 302 * .value[2].f32: distance to translate along the z-axis, in vp. \n 303 * 304 */ 305 NODE_TRANSLATE, 306 /** 307 * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs. 308 * 309 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 310 * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n 311 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 312 * \n 313 * Format of the return value {@link ArkUI_AttributeItem}:\n 314 * .value[0].f32: scale factor along the x-axis.\n 315 * .value[1].f32: scale factor along the y-axis. \n 316 * 317 */ 318 NODE_SCALE, 319 /** 320 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 321 * 322 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 323 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 324 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 325 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 326 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 327 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 328 * The default value is <b>0</b>. \n 329 * \n 330 * Format of the return value {@link ArkUI_AttributeItem}:\n 331 * .value[0].f32: X coordinate of the rotation axis vector.\n 332 * .value[1].f32: Y coordinate of the rotation axis vector.\n 333 * .value[2].f32: Z coordinate of the rotation axis vector.\n 334 * .value[3].f32: rotation angle.\n 335 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 336 * 337 */ 338 NODE_ROTATE, 339 /** 340 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 341 * 342 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 343 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 344 * \n 345 * Format of the return value {@link ArkUI_AttributeItem}:\n 346 * .value[0].f32: brightness value. \n 347 * 348 */ 349 NODE_BRIGHTNESS, 350 /** 351 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 352 * 353 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 354 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50). \n 355 * \n 356 * Format of the return value {@link ArkUI_AttributeItem}: \n 357 * .value[0].f32: saturation value. \n 358 * 359 */ 360 NODE_SATURATION, 361 /** 362 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 363 * 364 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 365 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 366 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 367 * \n 368 * Format of the return value {@link ArkUI_AttributeItem}:\n 369 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 370 * the image is not blurred. The unit is vp. \n 371 * 372 */ 373 NODE_BLUR, 374 /** 375 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 376 * 377 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 378 * .value[0].f32: start angle of the linear gradient. This attribute takes effect only when 379 * {@link ArkUI_LinearGradientDirection} is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>. 380 * A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>. \n 381 * .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect. 382 * The parameter type is {@link ArkUI_LinearGradientDirection}: \n 383 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 384 * .object: array of color stops, each of which consists of a color and its stop position. 385 * Invalid colors are automatically skipped. \n 386 * colors: colors of the color stops. \n 387 * stops: stop positions of the color stops. \n 388 * size: number of colors. \n 389 * \n 390 * Format of the return value {@link ArkUI_AttributeItem}: \n 391 * .value[0].f32: start angle of the linear gradient. \n 392 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 393 * .value[2].i32: whether the colors are repeated. \n 394 * .object: array of color stops, each of which consists of a color and its stop position. 395 * Invalid colors are automatically skipped. \n 396 * colors: colors of the color stops. \n 397 * stops: stop positions of the color stops. \n 398 * size: number of colors. \n 399 * 400 */ 401 NODE_LINEAR_GRADIENT, 402 /** 403 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 404 * 405 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 406 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 407 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 408 * \n 409 * Format of the return value {@link ArkUI_AttributeItem}:\n 410 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 411 * 412 */ 413 NODE_ALIGNMENT, 414 /** 415 * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs. 416 * 417 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 418 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 419 * \n 420 * Format of the return value {@link ArkUI_AttributeItem}:\n 421 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 422 * 423 */ 424 NODE_OPACITY, 425 /** 426 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 427 * 428 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 429 * 1: .value[0].f32: width of the four borders. \n 430 * 2: .value[0].f32: width of the top border. \n 431 * .value[1].f32: width of the right border. \n 432 * .value[2].f32: width of the bottom border. \n 433 * .value[3].f32: width of the left border. \n 434 * \n 435 * Format of the return value {@link ArkUI_AttributeItem}:\n 436 * .value[0].f32: width of the top border. \n 437 * .value[1].f32: width of the right border. \n 438 * .value[2].f32: width of the bottom border. \n 439 * .value[3].f32: width of the left border. \n 440 * 441 */ 442 NODE_BORDER_WIDTH, 443 /** 444 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 445 * 446 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 447 * 1: .value[0].f32: radius of the four corners. \n 448 * 2: .value[0].f32: radius of the upper left corner. \n 449 * .value[1].f32: radius of the upper right corner. \n 450 * .value[2].f32: radius of the lower left corner. \n 451 * .value[3].f32: radius of the lower right corner. \n 452 * \n 453 * Format of the return value {@link ArkUI_AttributeItem}:\n 454 * .value[0].f32: radius of the upper left corner. \n 455 * .value[1].f32: radius of the upper right corner. \n 456 * .value[2].f32: radius of the lower left corner. \n 457 * .value[3].f32: radius of the lower right corner. \n 458 * 459 */ 460 NODE_BORDER_RADIUS, 461 /** 462 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 463 * 464 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 465 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 466 * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 467 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 468 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 469 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 470 * \n 471 * Format of the return value {@link ArkUI_AttributeItem}:\n 472 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 473 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 474 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 475 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 476 * 477 */ 478 NODE_BORDER_COLOR, 479 /** 480 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 481 * 482 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 483 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 484 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 485 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 486 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 487 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 488 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 489 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 490 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 491 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 492 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 493 * \n 494 * Format of the return value {@link ArkUI_AttributeItem}:\n 495 * .value[0].i32: line style of the top border. \n 496 * .value[1].i32: line style of the right border. \n 497 * .value[2].i32: line style of the bottom border. \n 498 * .value[3].i32: line style of the left border. \n 499 * 500 */ 501 NODE_BORDER_STYLE, 502 /** 503 * @brief Defines the z-index attribute for the stack sequence. 504 * This attribute can be set, reset, and obtained as required through APIs. 505 * 506 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 507 * .value[0].i32: z-index value. \n 508 * \n 509 * Format of the return value {@link ArkUI_AttributeItem}:\n 510 * .value[0].i32: z-index value. \n 511 * 512 */ 513 NODE_Z_INDEX, 514 /** 515 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 516 * 517 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 518 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 519 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 520 * \n 521 * Format of the return value {@link ArkUI_AttributeItem}:\n 522 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 523 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 524 * 525 */ 526 NODE_VISIBILITY, 527 /** 528 * @brief Defines the clipping and masking attribute, which can be set, reset, and obtained as required through 529 * APIs. 530 * 531 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 532 * .value[0].i32: whether to clip the component based on the parent container bounds. 533 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 534 * \n 535 * Format of the return value {@link ArkUI_AttributeItem}:\n 536 * .value[0].i32: whether to clip the component based on the parent container bounds. 537 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 538 * 539 */ 540 NODE_CLIP, 541 /** 542 * @brief Defines the clipping region on the component. 543 * This attribute can be set and obtained as required through APIs. 544 * 545 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 546 * which supports five types of shapes:\n 547 * 1. Rectangle:\n 548 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 549 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 550 * .value[1].f32: width of the rectangle.\n 551 * .value[2].f32: height of rectangle.\n 552 * .value[3].f32: width of the rounded corner of the rectangle.\n 553 * .value[4].f32: height of the rounded corner of the rectangle.\n 554 * .value[5]?.f32: radius of the top left corner of the rectangular shape.\n 555 * .value[6]?.f32: radius of the bottom left corner of the rectangular shape.\n 556 * .value[7]?.f32: radius of the top right corner of the rectangular shape.\n 557 * .value[8]?.f32: radius of the bottom right corner of the rectangular shape.\n 558 * 2. Circle:\n 559 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 560 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 561 * .value[1].f32: width of the circle.\n 562 * .value[2].f32: height of the circle.\n 563 * 3.Ellipse:\n 564 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 565 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 566 * .value[1].f32: width of the ellipse.\n 567 * .value[2].f32: height of the ellipse.\n 568 * 4. Path:\n 569 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 570 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 571 * .value[1].f32: width of the path.\n 572 * .value[2].f32: height of the path.\n 573 * .string: command for drawing the path.\n 574 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 575 * 1. Rectangle:\n 576 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 577 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 578 * .value[1].f32: width of the rectangle.\n 579 * .value[2].f32: height of rectangle.\n 580 * .value[3].f32: width of the rounded corner of the rectangle.\n 581 * .value[4].f32: height of the rounded corner of the rectangle.\n 582 * .value[5].f32: radius of the top left corner of the rectangular shape; \n 583 * .value[6].f32: radius of the bottom left corner of the rectangular shape; \n 584 * .value[7].f32: radius of the top right corner of the rectangular shape; \n 585 * .value[8].f32: radius of the bottom right corner of the rectangular shape; \n 586 * 2. Circle:\n 587 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 588 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 589 * .value[1].f32: width of the circle.\n 590 * .value[2].f32: height of the circle.\n 591 * 3.Ellipse:\n 592 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 593 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 594 * .value[1].f32: width of the ellipse.\n 595 * .value[2].f32: height of the ellipse.\n 596 * 4. Path:\n 597 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 598 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 599 * .value[1].f32: width of the path.\n 600 * .value[2].f32: height of the path.\n 601 * .string: command for drawing the path.\n 602 * 603 */ 604 NODE_CLIP_SHAPE, 605 /** 606 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 607 * This attribute can be set, reset, and obtained as required through APIs. 608 * 609 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 610 * .value[0...15].f32: 16 floating-point numbers. \n 611 * \n 612 * Format of the return value {@link ArkUI_AttributeItem}:\n 613 * .value[0...15].f32: 16 floating-point numbers. \n 614 * 615 */ 616 NODE_TRANSFORM, 617 /** 618 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 619 * 620 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 621 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 622 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 623 * \n 624 * Format of the return value {@link ArkUI_AttributeItem}:\n 625 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 626 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 627 * 628 */ 629 NODE_HIT_TEST_BEHAVIOR, 630 /** 631 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 632 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 633 * 634 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 635 * .value[0].f32: X coordinate. \n 636 * .value[1].f32: Y coordinate. \n 637 * \n 638 * Format of the return value {@link ArkUI_AttributeItem}:\n 639 * .value[0].f32: X coordinate. \n 640 * .value[1].f32: Y coordinate. \n 641 * 642 */ 643 NODE_POSITION, 644 /** 645 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 646 * 647 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 648 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 649 * \n 650 * Format of the return value {@link ArkUI_AttributeItem}:\n 651 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 652 * 653 */ 654 NODE_SHADOW, 655 /** 656 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 657 * 658 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 659 * .value[0]?.f32: blur radius of the shadow, in vp.\n 660 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 661 * strategy, and <b>0</b> (default value) means the opposite.\n 662 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 663 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 664 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 665 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 666 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 667 * means the opposite.\n 668 * 669 * \n 670 * Format of the return value {@link ArkUI_AttributeItem}:\n 671 * .value[0].f32: blur radius of the shadow, in vp.\n 672 * .value[1].i32: whether to enable the coloring strategy. \n 673 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 674 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 675 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 676 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 677 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 678 * means the opposite.\n 679 * 680 */ 681 NODE_CUSTOM_SHADOW, 682 /** 683 * @brief Defines the background image width and height. 684 * This attribute can be set, reset, and obtained as required through APIs. 685 * 686 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 687 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 688 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 689 * \n 690 * Format of the return value {@link ArkUI_AttributeItem}:\n 691 * .value[0].f32: width of the image, in vp. \n 692 * .value[1].f32: height of the image, in vp. \n 693 * 694 */ 695 NODE_BACKGROUND_IMAGE_SIZE, 696 /** 697 * @brief Defines the background image size. 698 * This attribute can be set, reset, and obtained as required through APIs. 699 * 700 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 701 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 702 * \n 703 * Format of the return value {@link ArkUI_AttributeItem}:\n 704 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 705 * 706 */ 707 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 708 /** 709 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 710 * 711 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 712 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 713 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 714 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 715 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 716 * .value[4]?.f32: start boundary of grayscale blur. \n 717 * .value[5]?.f32: end boundary of grayscale blur. \n 718 * \n 719 * Format of the return value {@link ArkUI_AttributeItem}:\n 720 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 721 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 722 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 723 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 724 * .value[4].f32: start boundary of grayscale blur. \n 725 * .value[5].f32: end boundary of grayscale blur. \n 726 * 727 */ 728 NODE_BACKGROUND_BLUR_STYLE, 729 /** 730 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 731 * 732 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 733 * .value[0]?.f32: X coordinate of the center point, in vp.\n 734 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 735 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 736 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 737 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 738 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 739 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 740 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 741 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 742 * \n 743 * Format of the return value {@link ArkUI_AttributeItem}:\n 744 * .value[0].f32: X coordinate of the center point, in vp.\n 745 * .value[1].f32: Y coordinate of the center point, in vp.\n 746 * .value[2].f32: Z coordinate of the center point, in vp.\n 747 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 748 * returns the calculated value in vp. 749 * 750 */ 751 NODE_TRANSFORM_CENTER, 752 /** 753 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 754 * 755 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 756 * .value[0].f32: opacity values of the start and end points.\n 757 * .value[1].i32: animation duration, in milliseconds.\n 758 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 759 * .value[3]?.i32: animation delay duration, in milliseconds.\n 760 * .value[4]?.i32: number of times that the animation is played.\n 761 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 762 * .value[6]?.f32: animation playback speed.\n 763 * \n 764 * Format of the return value {@link ArkUI_AttributeItem}:\n 765 * .value[0].f32: opacity values of the start and end points.\n 766 * .value[1].i32: animation duration, in milliseconds.\n 767 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 768 * .value[3].i32: animation delay duration, in milliseconds. \n 769 * .value[4].i32: number of times that the animation is played. \n 770 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 771 * .value[6].f32: animation playback speed. \n 772 * 773 */ 774 NODE_OPACITY_TRANSITION, 775 /** 776 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 777 * 778 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 779 * .value[0].f32: X-component of the rotation vector. \n 780 * .value[1].f32: Y-component of the rotation vector. \n 781 * .value[2].f32: Z-component of the rotation vector \n 782 * .value[3].f32: angle. \n 783 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 784 * .value[5].i32: animation duration, in milliseconds. \n 785 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 786 * .value[7]?.i32: animation delay duration, in milliseconds. \n 787 * .value[8]?.i32: number of times that the animation is played. \n 788 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 789 * .value[10]?.f32: animation playback speed. \n 790 * \n 791 * Format of the return value {@link ArkUI_AttributeItem}:\n 792 * .value[0].f32: X-component of the rotation vector. \n 793 * .value[1].f32: Y-component of the rotation vector. \n 794 * .value[2].f32: Z-component of the rotation vector \n 795 * .value[3].f32: angle. \n 796 * .value[4].f32: line of sight. \n 797 * .value[5].i32: animation duration, in milliseconds. \n 798 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 799 * .value[7].i32: animation delay duration, in milliseconds. \n 800 * .value[8].i32: number of times that the animation is played. \n 801 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 802 * .value[10].f32: animation playback speed. \n 803 * 804 */ 805 NODE_ROTATE_TRANSITION, 806 /** 807 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 808 * 809 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 810 * .value[0].f32: scale factor along the x-axis. \n 811 * .value[1].f32: scale factor along the y-axis. \n 812 * .value[2].f32: scale factor along the z-axis. \n 813 * .value[3].i32: animation duration, in milliseconds. \n 814 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 815 * .value[5]?.i32: animation delay duration, in milliseconds. \n 816 * .value[6]?.i32: number of times that the animation is played. \n 817 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 818 * .value[8]?.f32: animation playback speed. \n 819 * \n 820 * Format of the return value {@link ArkUI_AttributeItem}:\n 821 * .value[0].f32: scale factor along the x-axis. \n 822 * .value[1].f32: scale factor along the y-axis. \n 823 * .value[2].f32: scale factor along the z-axis. \n 824 * .value[3].i32: animation duration, in milliseconds. \n 825 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 826 * .value[5].i32: animation delay duration, in milliseconds. \n 827 * .value[6].i32: number of times that the animation is played. \n 828 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 829 * .value[8].f32: animation playback speed. \n 830 * 831 */ 832 NODE_SCALE_TRANSITION, 833 /** 834 * @brief Defines the transition translation attribute. 835 * This attribute can be set, reset, and obtained as required through APIs. 836 * 837 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 838 * value[0].f32: translation distance along the x-axis, in vp.\n 839 * value[1].f32: translation distance along the y-axis, in vp.\n 840 * value[2].f32: translation distance along the z-axis, in vp.\n 841 * value[3].i32: animation duration, in milliseconds. \n 842 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 843 * value[5]?.i32: animation delay duration, in milliseconds. \n 844 * value[6]?.i32: number of times that the animation is played. \n 845 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 846 * value[8]?.f32: animation playback speed. \n 847 * \n 848 * Format of the return value {@link ArkUI_AttributeItem}:\n 849 * value[0].f32: translation distance along the x-axis, in vp.\n 850 * value[1].f32: translation distance along the y-axis, in vp.\n 851 * value[2].f32: translation distance along the z-axis, in vp.\n 852 * value[3].i32: animation duration, in milliseconds. \n 853 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 854 * value[5].i32: animation delay duration, in milliseconds. \n 855 * value[6].i32: number of times that the animation is played. \n 856 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 857 * value[8].f32: animation playback speed. \n 858 * 859 */ 860 NODE_TRANSLATE_TRANSITION, 861 /** 862 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 863 * This attribute can be set, reset, and obtained as required through APIs. 864 * 865 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 866 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 867 * .value[1].i32: animation duration, in milliseconds.\n 868 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 869 * .value[3]?.i32: animation delay duration, in milliseconds.\n 870 * .value[4]?.i32: number of times that the animation is played.\n 871 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 872 * .value[6]?.f32: animation playback speed.\n 873 * \n 874 * Format of the return value {@link ArkUI_AttributeItem}:\n 875 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 876 * .value[1].i32: animation duration, in milliseconds.\n 877 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 878 * .value[3].i32: animation delay duration, in milliseconds. \n 879 * .value[4].i32: number of times that the animation is played. \n 880 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 881 * .value[6].f32: animation playback speed. \n 882 * 883 */ 884 NODE_MOVE_TRANSITION, 885 886 /** 887 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 888 * 889 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 890 * .value[0].i32: The parameter type is 1 or 0. 891 * \n 892 * Format of the return value {@link ArkUI_AttributeItem}:\n 893 * .value[0].i32: The parameter type is 1 or 0. 894 * 895 */ 896 NODE_FOCUSABLE, 897 898 /** 899 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 900 * 901 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 902 * value[0].i32: The parameter type is 1 or 0. 903 * \n 904 * Format of the return value {@link ArkUI_AttributeItem}:\n 905 * value[0].i32: The parameter type is 1 or 0. 906 * 907 */ 908 NODE_DEFAULT_FOCUS, 909 910 /** 911 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 912 * 913 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 914 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 915 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 916 * .data[2].f32: width of the touch target, in %. \n 917 * .data[3].f32: height of the touch target, in %. \n 918 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 919 * \n 920 * Format of the return value {@link ArkUI_AttributeItem}:\n 921 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 922 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 923 * .data[2].f32: width of the touch target, in %. \n 924 * .data[3].f32: height of the touch target, in %. \n 925 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 926 * 927 */ 928 NODE_RESPONSE_REGION, 929 930 /** 931 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 932 * 933 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 934 * .string: mask text.\n 935 * .value[0]?.i32: position of the overlay relative to the component. Optional. 936 * The parameter type is {@link ArkUI_Alignment}. 937 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 938 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 939 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 940 * \n 941 * Format of the return value {@link ArkUI_AttributeItem}:\n 942 * .string: mask text.\n 943 * .value[0].i32: position of the overlay relative to the component. 944 * The parameter type is {@link ArkUI_Alignment}. 945 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 946 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 947 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 948 * 949 */ 950 NODE_OVERLAY, 951 /** 952 * @brief Defines the sweep gradient effect. 953 * This attribute can be set, reset, and obtained as required through APIs. 954 * 955 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 956 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 957 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 958 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 959 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 960 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 961 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 962 * and <b>0</b> means the opposite.\n 963 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 964 * automatically skipped.\n 965 * colors: colors of the color stops. \n 966 * stops: stop positions of the color stops. \n 967 * size: number of colors. \n 968 * \n 969 * Format of the return value {@link ArkUI_AttributeItem}:\n 970 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 971 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 972 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 973 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 974 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 975 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 976 * and <b>0</b> means the opposite.\n 977 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 978 * automatically skipped.\n 979 * colors: colors of the color stops. \n 980 * stops: stop positions of the color stops. \n 981 * size: number of colors. \n 982 * 983 */ 984 NODE_SWEEP_GRADIENT, 985 /** 986 * @brief Defines the radial gradient effect. 987 * This attribute can be set, reset, and obtained as required through APIs. 988 * 989 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 990 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 991 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 992 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 993 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 994 * and <b>0</b> means the opposite. \n 995 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 996 * automatically skipped. \n 997 * colors: colors of the color stops. \n 998 * stops: stop positions of the color stops. \n 999 * size: number of colors. \n 1000 * \n 1001 * Format of the return value {@link ArkUI_AttributeItem}:\n 1002 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 1003 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 1004 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 1005 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 1006 * and <b>0</b> means the opposite.\n 1007 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 1008 * automatically skipped. \n 1009 * colors: colors of the color stops. \n 1010 * stops: stop positions of the color stops. \n 1011 * size: number of colors. \n 1012 * 1013 */ 1014 NODE_RADIAL_GRADIENT, 1015 /** 1016 * @brief Adds a mask of the specified shape to the component. 1017 * This attribute can be set, reset, and obtained as required through APIs. 1018 * 1019 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 1020 * shapes:\n 1021 * 1. Rectangle:\n 1022 * .value[0].u32 fill color, in 0xARGB format. \n 1023 * .value[1].u32: stroke color, in 0xARGB format. \n 1024 * .value[2].f32: stroke width, in vp. \n 1025 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1026 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 1027 * .value[4].f32: width of the rectangle.\n 1028 * .value[5].f32: height of the rectangle.\n 1029 * .value[6].f32: width of the rounded corner of the rectangle.\n 1030 * .value[7].f32: height of the rounded corner of the rectangle.\n 1031 * .value[8]?.f32: radius of the top left corner of the rectangular shape.\n 1032 * .value[9]?.f32: radius of the bottom left corner of the rectangular shape.\n 1033 * .value[10]?.f32: radius of the top right corner of the rectangular shape.\n 1034 * .value[11]?.f32: radius of the bottom right corner of the rectangular shape.\n 1035 * 2. Circle:\n 1036 * .value[0].u32 fill color, in 0xARGB format. \n 1037 * .value[1].u32: stroke color, in 0xARGB format. \n 1038 * .value[2].f32: stroke width, in vp. \n 1039 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1040 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1041 * .value[4].f32: width of the circle.\n 1042 * .value[5].f32: height of the circle.\n 1043 * 3. Ellipse:\n 1044 * .value[0].u32 fill color, in 0xARGB format. \n 1045 * .value[1].u32: stroke color, in 0xARGB format. \n 1046 * .value[2].f32: stroke width, in vp. \n 1047 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1048 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1049 * .value[4].f32: width of the ellipse.\n 1050 * .value[5].f32: height of the ellipse.\n 1051 * 4. Path:\n 1052 * .value[0].u32 fill color, in 0xARGB format. \n 1053 * .value[1].u32: stroke color, in 0xARGB format. \n 1054 * .value[2].f32: stroke width, in vp. \n 1055 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1056 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1057 * .value[4].f32: width of the path.\n 1058 * .value[5].f32: height of the path.\n 1059 * .string: command for drawing the path.\n 1060 * 5. Progress:\n 1061 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1062 * The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.\n 1063 * .value[1].f32: current value of the progress indicator.\n 1064 * .value[2].f32: maximum value of the progress indicator.\n 1065 * .value[3].u32: color of the progress indicator, in 0xARGB format.\n 1066 * \n 1067 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1068 * 1. Rectangle:\n 1069 * .value[0].u32 fill color, in 0xARGB format. \n 1070 * .value[1].u32: stroke color, in 0xARGB format. \n 1071 * .value[2].f32: stroke width, in vp. \n 1072 * .value[3].i32: mask type.\n 1073 * .value[4].f32: width of the rectangle.\n 1074 * .value[5].f32: height of the rectangle.\n 1075 * .value[6].f32: width of the rounded corner of the rectangle.\n 1076 * .value[7].f32: height of the rounded corner of the rectangle.\n 1077 * .value[8].f32: radius of the top left corner of the rectangular shape.\n 1078 * .value[9].f32: radius of the bottom left corner of the rectangular shape.\n 1079 * .value[10].f32: radius of the top right corner of the rectangular shape.\n 1080 * .value[11].f32: radius of the bottom right corner of the rectangular shape.\n 1081 * 2. Circle:\n 1082 * .value[0].u32 fill color, in 0xARGB format. \n 1083 * .value[1].u32: stroke color, in 0xARGB format. \n 1084 * .value[2].f32: stroke width, in vp. \n 1085 * .value[3].i32: mask type.\n 1086 * .value[4].f32: width of the circle.\n 1087 * .value[5].f32: height of the circle.\n 1088 * 3. Ellipse:\n 1089 * .value[0].u32 fill color, in 0xARGB format. \n 1090 * .value[1].u32: stroke color, in 0xARGB format. \n 1091 * .value[2].f32: stroke width, in vp. \n 1092 * .value[3].i32: mask type.\n 1093 * .value[4].f32: width of the ellipse.\n 1094 * .value[5].f32: height of the ellipse.\n 1095 * 4. Path:\n 1096 * .value[0].u32 fill color, in 0xARGB format. \n 1097 * .value[1].u32: stroke color, in 0xARGB format. \n 1098 * .value[2].f32: stroke width, in vp. \n 1099 * .value[3].i32: mask type.\n 1100 * .value[4].f32: width of the path.\n 1101 * .value[5].f32: height of the path.\n 1102 * .string: command for drawing the path.\n 1103 * 5. Progress:\n 1104 * .value[0].i32: mask type.\n 1105 * .value[1].f32: current value of the progress indicator.\n 1106 * .value[2].f32: maximum value of the progress indicator.\n 1107 * .value[3].u32: color of the progress indicator.\n 1108 * 1109 */ 1110 NODE_MASK, 1111 /** 1112 * @brief Blends the component's background with the content of the component's child node. 1113 * This attribute can be set, reset, and obtained as required through APIs. 1114 * 1115 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1116 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1117 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1118 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1119 * The default value is <b>BLEND_APPLY_TYPE_FAST</b>. \n 1120 * \n 1121 * Format of the return value {@link ArkUI_AttributeItem}:\n 1122 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1123 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1124 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1125 * The default value is <b>BLEND_APPLY_TYPE_FAST</b>. \n 1126 * 1127 */ 1128 NODE_BLEND_MODE, 1129 /** 1130 * @brief Sets the direction of the main axis. 1131 * This attribute can be set, reset, and obtained as required through APIs. 1132 * 1133 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1134 * .value[0].i32: direction of the main axis.\n 1135 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1136 * \n 1137 * Format of the return value {@link ArkUI_AttributeItem}:\n 1138 * .value[0].i32: direction of the main axis.\n 1139 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1140 * 1141 */ 1142 NODE_DIRECTION, 1143 /** 1144 * @brief Defines the size constraints. 1145 * This attribute can be set, reset, and obtained as required through APIs. 1146 * 1147 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1148 * .value[0].f32: minimum width, in vp.\n 1149 * .value[1].f32: maximum width, in vp.\n 1150 * .value[2].f32: minimum height, in vp.\n 1151 * .value[3].f32: maximum height, in vp.\n 1152 * \n 1153 * Format of the return value {@link ArkUI_AttributeItem}:\n 1154 * .value[0].f32: minimum width, in vp.\n 1155 * .value[1].f32: maximum width, in vp.\n 1156 * .value[2].f32: minimum height, in vp.\n 1157 * .value[3].f32: maximum height, in vp.\n 1158 * 1159 */ 1160 NODE_CONSTRAINT_SIZE, 1161 /** 1162 * @brief Defines the grayscale effect. 1163 * This attribute can be set, reset, and obtained as required through APIs. 1164 * 1165 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1166 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1167 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1168 * \n 1169 * Format of the return value {@link ArkUI_AttributeItem}:\n 1170 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1171 * 1172 */ 1173 NODE_GRAY_SCALE, 1174 /** 1175 * @brief Inverts the image. 1176 * This attribute can be set, reset, and obtained as required through APIs. 1177 * 1178 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1179 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1180 * For example, 0.5 indicates a 50% image inversion ratio.\n 1181 * \n 1182 * Format of the return value {@link ArkUI_AttributeItem}:\n 1183 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1184 * 1185 */ 1186 NODE_INVERT, 1187 /** 1188 * @brief Defines the sepia conversion ratio. 1189 * This attribute can be set, reset, and obtained as required through APIs. 1190 * 1191 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1192 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1193 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1194 * \n 1195 * Format of the return value {@link ArkUI_AttributeItem}:\n 1196 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1197 * 1198 */ 1199 NODE_SEPIA, 1200 /** 1201 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1202 * 1203 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1204 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1205 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1206 * \n 1207 * Format of the return value {@link ArkUI_AttributeItem}:\n 1208 * .value[0].f32: contrast. Value range: [0, 10).\n 1209 * 1210 */ 1211 NODE_CONTRAST, 1212 /** 1213 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1214 * 1215 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1216 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1217 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1218 * \n 1219 * Format of the return value {@link ArkUI_AttributeItem}:\n 1220 * .value[0].u32: color value, in 0xARGB format.\n 1221 * 1222 */ 1223 NODE_FOREGROUND_COLOR, 1224 1225 /** 1226 * @brief Defines the offset of the component's child relative to the component. 1227 * This attribute can be set, reset, and obtained as required through APIs. 1228 * 1229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1230 * .value[0].f32 : offset along the x-axis, in vp. \n 1231 * .value[1].f32 : offset along the y-axis, in vp. \n 1232 * \n 1233 * Format of the return value {@link ArkUI_AttributeItem}:\n 1234 * .value[0].f32 : offset along the x-axis, in vp. \n 1235 * .value[1].f32 : offset along the y-axis, in vp. \n 1236 * 1237 */ 1238 NODE_OFFSET, 1239 /** 1240 * @brief Sets the anchor for locating the component's child. 1241 * This attribute can be set, reset, and obtained as required through APIs. 1242 * 1243 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1244 * .value[0].f32: X coordinate of the anchor, in vp.\n 1245 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1246 * \n 1247 * Format of the return value {@link ArkUI_AttributeItem}:\n 1248 * .value[0].f32: X coordinate of the anchor, in vp.\n 1249 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1250 * 1251 */ 1252 NODE_MARK_ANCHOR, 1253 /** 1254 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1255 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1256 * 1257 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1258 * .value[0].f32: position along the x-axis, in px. \n 1259 * .value[1].f32: position along the y-axis, in px. \n 1260 * \n 1261 * Format of the return value {@link ArkUI_AttributeItem}:\n 1262 * .value[0].f32: position along the x-axis, in px. \n 1263 * .value[1].f32: position along the y-axis, in px. \n 1264 * 1265 */ 1266 NODE_BACKGROUND_IMAGE_POSITION, 1267 /** 1268 * @brief Sets the alignment rules in the relative container. 1269 * This attribute can be set, reset, and obtained as required through APIs. 1270 * 1271 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1272 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1273 * \n 1274 * Format of the return value {@link ArkUI_AttributeItem}:\n 1275 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1276 * 1277 */ 1278 NODE_ALIGN_RULES, 1279 /** 1280 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1281 * This attribute can be set, reset, and obtained as required through APIs. 1282 * 1283 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1284 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1285 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1286 * \n 1287 * Format of the return value {@link ArkUI_AttributeItem}:\n 1288 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1289 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1290 * 1291 */ 1292 NODE_ALIGN_SELF, 1293 /** 1294 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1295 * This attribute can be set, reset, and obtained as required through APIs. 1296 * 1297 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1298 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1299 * \n 1300 * Format of the return value {@link ArkUI_AttributeItem}:\n 1301 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1302 * 1303 */ 1304 NODE_FLEX_GROW, 1305 /** 1306 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1307 * This attribute can be set, reset, and obtained as required through APIs. 1308 * 1309 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1310 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1311 * \n 1312 * Format of the return value {@link ArkUI_AttributeItem}:\n 1313 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1314 * 1315 */ 1316 NODE_FLEX_SHRINK, 1317 /** 1318 * @brief Sets the base size of the component. 1319 * This attribute can be set, reset, and obtained as required through APIs. 1320 * 1321 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1322 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1323 * \n 1324 * Format of the return value {@link ArkUI_AttributeItem}:\n 1325 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1326 * 1327 */ 1328 NODE_FLEX_BASIS, 1329 /** 1330 * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs. 1331 * 1332 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1333 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1334 * form an entire selectable component. 1335 * In this case, the accessibility service will no longer be available for the content of its child components. 1336 * The value is <b>1</b> or <b>0</b>. 1337 * \n 1338 * Format of the return value {@link ArkUI_AttributeItem}:\n 1339 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1340 * form an entire selectable component. 1341 * In this case, the accessibility service will no longer be available for the content of its child components. 1342 * The value is <b>1</b> or <b>0</b>. 1343 * 1344 */ 1345 NODE_ACCESSIBILITY_GROUP, 1346 1347 /** 1348 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1349 * 1350 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1351 * .string: accessibility text. 1352 * \n 1353 * Format of the return value {@link ArkUI_AttributeItem}:\n 1354 * .string: accessibility text. 1355 * 1356 */ 1357 NODE_ACCESSIBILITY_TEXT, 1358 1359 /** 1360 * @brief Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs. 1361 * 1362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1363 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1364 * \n 1365 * Format of the return value {@link ArkUI_AttributeItem}:\n 1366 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1367 * 1368 */ 1369 NODE_ACCESSIBILITY_MODE, 1370 1371 /** 1372 * @brief Sets the accessibility description. 1373 * This attribute can be set, reset, and obtained as required through APIs. 1374 * 1375 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1376 * .string: accessibility description. 1377 * \n 1378 * Format of the return value {@link ArkUI_AttributeItem}:\n 1379 * .string: accessibility description. 1380 * 1381 */ 1382 NODE_ACCESSIBILITY_DESCRIPTION, 1383 1384 /** 1385 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1386 * @note Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level 1387 * of the page to the root container. 1388 * 1389 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1390 * .value[0].i32: The parameter type is 1 or 0. 1391 * \n 1392 * Format of the return value {@link ArkUI_AttributeItem}:\n 1393 * .value[0].i32: The parameter type is 1 or 0. 1394 * 1395 */ 1396 NODE_FOCUS_STATUS, 1397 /** 1398 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1399 * 1400 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1401 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1402 * \n 1403 * Format of the return value {@link ArkUI_AttributeItem}:\n 1404 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1405 * 1406 */ 1407 NODE_ASPECT_RATIO, 1408 /** 1409 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1410 * distribution of available space within the container. 1411 * This attribute can be set, reset, and obtained as required through APIs. 1412 * 1413 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1414 * .value[0].u32: weight of the component along the main axis. \n 1415 * \n 1416 * Format of the return value {@link ArkUI_AttributeItem}:\n 1417 * .value[0].u32: weight of the component along the main axis. \n 1418 * 1419 */ 1420 NODE_LAYOUT_WEIGHT, 1421 /** 1422 * @brief Sets the display priority for the component in the row, column, or flex (single-line) container. 1423 * This attribute can be set, reset, and obtained as required through APIs. 1424 * 1425 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1426 * .value[0].u32: display priority of the component in the container. \n 1427 * \n 1428 * Format of the return value {@link ArkUI_AttributeItem}:\n 1429 * .value[0].u32: display priority of the component in the container. \n 1430 * 1431 */ 1432 NODE_DISPLAY_PRIORITY, 1433 /** 1434 * @brief Sets the thickness of an element's outline. 1435 * 1436 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1437 * .value[0].f32: thickness of the left outline. \n 1438 * .value[1].f32: thickness of the top outline. \n 1439 * .value[2].f32: thickness of the right outline. \n 1440 * .value[3].f32: thickness of the bottom outline. \n 1441 * \n 1442 * Format of the return value {@link ArkUI_AttributeItem}:\n 1443 * .value[0].f32: thickness of the left outline. \n 1444 * .value[1].f32: thickness of the top outline. \n 1445 * .value[2].f32: thickness of the right outline. \n 1446 * .value[3].f32: thickness of the bottom outline. \n 1447 * 1448 */ 1449 NODE_OUTLINE_WIDTH, 1450 /** 1451 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 1452 * 1453 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1454 * .value[0].f32: width, in percentage.\n 1455 * \n 1456 * Format of the return value {@link ArkUI_AttributeItem}:\n 1457 * .value[0].f32: width, in percentage.\n 1458 * 1459 */ 1460 NODE_WIDTH_PERCENT, 1461 /** 1462 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 1463 * 1464 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1465 * .value[0].f32: height, in percentage.\n 1466 * \n 1467 * Format of the return value {@link ArkUI_AttributeItem}:\n 1468 * .value[0].f32: height, in percentage.\n 1469 * 1470 */ 1471 NODE_HEIGHT_PERCENT, 1472 /** 1473 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 1474 * 1475 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1476 * 1: Specify the same padding for the four directions. \n 1477 * .value[0].f32: padding, in percentage.\n 1478 * 2: Specify different paddings for different directions. \n 1479 * .value[0].f32: top padding, in percentage.\n 1480 * .value[1].f32: right padding, in percentage.\n 1481 * .value[2].f32: bottom padding, in percentage.\n 1482 * .value[3].f32: left padding, in percentage.\n 1483 * \n 1484 * Format of the return value {@link ArkUI_AttributeItem}:\n 1485 * .value[0].f32: top padding, in percentage.\n 1486 * .value[1].f32: right padding, in percentage.\n 1487 * .value[2].f32: bottom padding, in percentage.\n 1488 * .value[3].f32: left padding, in percentage.\n 1489 * 1490 */ 1491 NODE_PADDING_PERCENT, 1492 /** 1493 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 1494 * 1495 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1496 * 1: Specify the same margin for the four directions. \n 1497 * .value[0].f32: margin, in percentage.\n 1498 * 2: Specify different margins for different directions. \n 1499 * .value[0].f32: top margin, in percentage.\n 1500 * .value[1].f32: right margin, in percentage.\n 1501 * .value[2].f32: bottom margin, in percentage.\n 1502 * .value[3].f32: left margin, in percentage.\n 1503 * \n 1504 * Format of the return value {@link ArkUI_AttributeItem}:\n 1505 * .value[0].f32: top margin, in percentage.\n 1506 * .value[1].f32: right margin, in percentage.\n 1507 * .value[2].f32: bottom margin, in percentage.\n 1508 * .value[3].f32: left margin, in percentage.\n 1509 * 1510 */ 1511 NODE_MARGIN_PERCENT, 1512 1513 /** 1514 * @brief The implicit shared element transition within the component supports attribute setting, 1515 * attribute reset, and attribute acquisition interfaces. 1516 * 1517 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1518 * .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings, 1519 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1520 * the default is false, and the original position will remain unchanged if not involved. \n 1521 * .string is used to set the binding relationship. Set the id to "" to 1522 * clear the binding relationship to avoid participating in sharing behavior. \n 1523 * The id can be changed and the binding relationship re-established. 1524 * The same ID can only be bound to two components and they are in/out roles of different types. 1525 * Multiple components cannot be bound to the same id. \n 1526 *\n 1527 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 1528 * .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings, 1529 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1530 * the default is not false, if not involved, the original position will remain unchanged. \n 1531 * .string is used to set the binding relationship. Set the id to "" to 1532 * clear the binding relationship to avoid participating in sharing behavior. \n 1533 * The id can be changed and the binding relationship re-established. 1534 * The same ID can only be bound to two components and they are in/out roles of different types. 1535 * Multiple components cannot be bound to the same id. \n 1536 */ 1537 NODE_GEOMETRY_TRANSITION, 1538 1539 /** 1540 * @brief specifies the parameters of the chain formed by this component as the chain head, 1541 * and supports attribute setting, attribute reset and attribute acquisition interfaces. 1542 * 1543 * Only takes effect when the parent container is RelativeContainer 1544 * 1545 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1546 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1547 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1548 *\n 1549 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1550 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1551 */ 1552 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1553 1554 /** 1555 * @brief Set the component content filling method in the process of width and height animation, 1556 * support property setting, property reset, property acquisition interface. 1557 * 1558 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1559 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1560 * \n 1561 * Format of the return value {@link ArkUI_AttributeItem}:\n 1562 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1563 * 1564 */ 1565 NODE_RENDER_FIT, 1566 1567 /** 1568 * @brief External stroke color properties, support property setting, 1569 * property reset and property acquisition interface. 1570 * 1571 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1572 * 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF. \n 1573 * 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1574 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1575 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1576 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1577 * \n 1578 * Format of the return value {@link ArkUI_AttributeItem}:\n 1579 * .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1580 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1581 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1582 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1583 * 1584 */ 1585 NODE_OUTLINE_COLOR, 1586 1587 /** 1588 * @brief Set the height and width dimensions, support property setting, 1589 * property reset and property acquisition interface. 1590 * 1591 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1592 * .value[0].f32: Width value, unit is vp;\n 1593 * .value[1].f32: Height value, unit is vp;\n 1594 * \n 1595 * Format of the return value {@link ArkUI_AttributeItem}:\n 1596 * .value[0].f32: Width value, unit is vp;\n 1597 * .value[1].f32: Height value, unit is vp;\n 1598 * 1599 */ 1600 NODE_SIZE, 1601 1602 /** 1603 * @brief Set whether the current component and child component are 1604 * rendered off the screen first and then fused with the parent control, 1605 * supporting property setting, property reset and property acquisition. 1606 * 1607 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1608 * .value[0].i32: The parameter type is 1 or 0. 1609 * \n 1610 * Format of the return value {@link ArkUI_AttributeItem}:\n 1611 * .value[0].i32: The parameter type is 1 or 0. 1612 * 1613 */ 1614 NODE_RENDER_GROUP, 1615 1616 /** 1617 * @brief Add color overlay effect to components, support property setting, 1618 * property reset and property acquisition interface. 1619 * 1620 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1621 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1622 * \n 1623 * Format of the return value {@link ArkUI_AttributeItem}:\n 1624 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1625 * 1626 */ 1627 NODE_COLOR_BLEND, 1628 1629 /** 1630 * @brief Provide content ambiguity capability for the current component, 1631 * support property setting, property reset, property acquisition interface. 1632 * 1633 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1634 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1635 * .value[1]?.i32 Represents the dark and light mode used by the content blur effect,\n 1636 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1637 * .value[2]?.i32 The color extraction mode used to represent the content blur effect takes\n 1638 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1639 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 1640 * .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1641 * .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1642 * \n 1643 * Format of the return value {@link ArkUI_AttributeItem}:\n 1644 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1645 * .value[1].i32 Represents the dark and light mode used by the content blur effect,\n 1646 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1647 * .value[2].i32 The color extraction mode used to represent the content blur effect takes\n 1648 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1649 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 1650 * .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1651 * .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1652 * 1653 */ 1654 NODE_FOREGROUND_BLUR_STYLE, 1655 1656 /** 1657 * @brief Defines the component size and position for layout. 1658 * This attribute can be set, reset, and obtained as required through APIs. 1659 * 1660 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1661 * .value[0].i32: X coordinate of the component, in px. \n 1662 * .value[1].i32: Y coordinate of the component, in px. \n 1663 * .value[2].i32: width of the component, in px. \n 1664 * .value[3].i32: height of the component, in px. \n 1665 * \n 1666 * Format of the return value {@link ArkUI_AttributeItem}:\n 1667 * .value[0].i32: X coordinate of the component, in px. \n 1668 * .value[1].i32: Y coordinate of the component, in px. \n 1669 * .value[2].i32: width of the component, in px. \n 1670 * .value[3].i32: height of the component, in px. \n 1671 * 1672 */ 1673 NODE_LAYOUT_RECT, 1674 1675 /** 1676 * @brief Whether the current component supports click-to-focus capability, 1677 * which can be set, reset, and obtained as required through APIs. 1678 * 1679 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1680 * .value[0].i32: The parameter type is 1 or 0. 1681 * \n 1682 * Format of the return value {@link ArkUI_AttributeItem}:\n 1683 * .value[0].i32: The parameter type is 1 or 0. 1684 * 1685 */ 1686 NODE_FOCUS_ON_TOUCH, 1687 1688 /** 1689 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 1690 * 1691 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1692 * 1: .value[0].f32: width of the four borders, in percentage. \n 1693 * 2: .value[0].f32: width of the top border, in percentage. \n 1694 * .value[1].f32: width of the right border, in percentage. \n 1695 * .value[2].f32: width of the bottom border, in percentage. \n 1696 * .value[3].f32: width of the left border, in percentage. \n 1697 * \n 1698 * Format of the return value {@link ArkUI_AttributeItem}:\n 1699 * .value[0].f32: width of the top border, in percentage. \n 1700 * .value[1].f32: width of the right border, in percentage. \n 1701 * .value[2].f32: width of the bottom border, in percentage. \n 1702 * .value[3].f32: width of the left border, in percentage. \n 1703 * 1704 */ 1705 NODE_BORDER_WIDTH_PERCENT = 85, 1706 /** 1707 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 1708 * 1709 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1710 * 1: .value[0].f32: radius of the four corners, in percentage. \n 1711 * 2: .value[0].f32: radius of the upper left corner, in percentage. \n 1712 * .value[1].f32: radius of the upper right corner, in percentage. \n 1713 * .value[2].f32: radius of the lower left corner, in percentage. \n 1714 * .value[3].f32: radius of the lower right corner, in percentage. \n 1715 * \n 1716 * Format of the return value {@link ArkUI_AttributeItem}:\n 1717 * .value[0].f32: radius of the upper left corner, in percentage. \n 1718 * .value[1].f32: radius of the upper right corner, in percentage. \n 1719 * .value[2].f32: radius of the lower left corner, in percentage. \n 1720 * .value[3].f32: radius of the lower right corner, in percentage. \n 1721 * 1722 */ 1723 NODE_BORDER_RADIUS_PERCENT = 86, 1724 1725 /** 1726 * @brief Accessible ID, which can be obtained as required through APIs. 1727 * 1728 * Format of the return value {@link ArkUI_AttributeItem}:\n 1729 * .value[0].i32:Accessible ID。\n 1730 * 1731 */ 1732 NODE_ACCESSIBILITY_ID = 87, 1733 1734 /** 1735 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1736 * 1737 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1738 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1739 * \n 1740 * Format of the return value {@link ArkUI_AttributeItem}:\n 1741 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1742 * 1743 */ 1744 NODE_ACCESSIBILITY_ACTIONS = 88, 1745 1746 /** 1747 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1748 * 1749 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1750 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1751 * \n 1752 * Format of the return value {@link ArkUI_AttributeItem}:\n 1753 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1754 * 1755 */ 1756 NODE_ACCESSIBILITY_ROLE = 89, 1757 1758 /** 1759 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1760 * 1761 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1762 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1763 * \n 1764 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1765 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1766 * 1767 */ 1768 NODE_ACCESSIBILITY_STATE = 90, 1769 1770 /** 1771 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1772 * 1773 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1774 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1775 * \n 1776 * Format of the return value {@link ArkUI_AttributeItem}:\n 1777 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1778 * 1779 */ 1780 NODE_ACCESSIBILITY_VALUE = 91, 1781 /** 1782 * @brief defines control components to extend their security zones, 1783 * supporting property setting, property reset, and property fetching. 1784 * 1785 * Attribute setting method {@link ArkUI_AttributeItem} Parameter format: \n 1786 * .value[0]? .u32: Set of extended security zone enumerated values {@link ArkUI_SafeAreaType}, 1787 * For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT; \n 1788 * .value[1]? .u32: set of directional enum values for extended security zones {@link ArkUI_SafeAreaEdge}; \n 1789 * For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM; \n 1790 * \n 1791 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 1792 *.value[0].u32: extends the security zone. \n. \n 1793 *.value[1].u32: indicates the direction to extend the security zone. \n. \n 1794 * 1795 */ 1796 NODE_EXPAND_SAFE_AREA = 92, 1797 1798 /** 1799 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1800 * visible area change event of the component. 1801 * 1802 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1803 * .value[...].f32: threshold array. The value range is 0 to 1. 1804 * \n 1805 * Format of the return value {@link ArkUI_AttributeItem}:\n 1806 * .value[...].f32: threshold array. \n 1807 * 1808 */ 1809 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1810 1811 /** 1812 * @brief Sets the transition effect when the component is inserted or deleted. 1813 * This attribute can be set, and obtained as required through APIs. 1814 * 1815 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1816 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1817 * \n 1818 * Format of the return value {@link ArkUI_AttributeItem}:\n 1819 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1820 * 1821 */ 1822 NODE_TRANSITION = 94, 1823 1824 /** 1825 * @brief Defines the component ID. 1826 * This attribute can be obtained through APIs. 1827 * 1828 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1829 * .value[0].i32: component ID. \n 1830 * 1831 * @deprecated since 20 1832 * @useinstead OH_ArkUI_NodeUtils_GetNodeUniqueId 1833 */ 1834 NODE_UNIQUE_ID = 95, 1835 1836 /** 1837 * @brief Set the current component system focus box style. 1838 * 1839 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1840 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1841 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1842 * Percentage is not supported. \n 1843 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1844 * .value[2].u32: Focus box color. \n 1845 * \n 1846 * 1847 */ 1848 NODE_FOCUS_BOX = 96, 1849 1850 /** 1851 * @brief Defines the moving distance limit for the component-bound tap gesture. 1852 * This attribute can be set as required through APIs. 1853 * 1854 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1855 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1856 * 1857 */ 1858 NODE_CLICK_DISTANCE = 97, 1859 1860 /** 1861 * @brief Sets whether the focus can be placed on this component. 1862 * This attribute can be set, reset, and obtained as required through APIs. 1863 * 1864 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1865 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1866 * \n 1867 * Format of the return value {@link ArkUI_AttributeItem}:\n 1868 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1869 * 1870 * @since 14 1871 */ 1872 NODE_TAB_STOP = 98, 1873 1874 /** 1875 * @brief Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs. 1876 * 1877 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1878 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1879 * .value[1]?.f32:grayscale blur settings that control the brightness of the black color.\n 1880 * The value range is [0, 127].\n 1881 * .value[2]?.f32:grayscale blur settings that control the darkness of the white color.\n 1882 * The value range is [0, 127].\n 1883 * \n 1884 * Format of the return value {@link ArkUI_AttributeItem}:\n 1885 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1886 * .value[1].f32:grayscale blur settings that control the brightness of the black color.\n 1887 * The value range is [0, 127].\n 1888 * .value[2].f32:grayscale blur settings that control the darkness of the white color.\n 1889 * The value range is [0, 127].\n 1890 * 1891 * @since 15 1892 */ 1893 NODE_BACKDROP_BLUR = 99, 1894 1895 /** 1896 * @brief Defines the background image resizable attribute, which can be set, reset, 1897 * and obtained as required through APIs. 1898 * 1899 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1900 * .value[0].f32: width of the left edge. The unit is vp. \n 1901 * .value[1].f32: width of the top edge. The unit is vp. \n 1902 * .value[2].f32: width of the right edge. The unit is vp. \n 1903 * .value[3].f32: width of the bottom edge. The unit is vp. \n 1904 * \n 1905 * Format of the return value {@link ArkUI_AttributeItem}:\n 1906 * .value[0].f32: width of the left edge. The unit is vp. \n 1907 * .value[1].f32: width of the top edge. The unit is vp. \n 1908 * .value[2].f32: width of the right edge. The unit is vp. \n 1909 * .value[3].f32: width of the bottom edge. The unit is vp. \n 1910 * 1911 * @since 19 1912 */ 1913 NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE = 100, 1914 1915 /** 1916 * @brief Sets the next focus node. 1917 * 1918 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1919 * .value[0].i32: focus movement direction, as defined in {@link ArkUI_FocusMove}. 1920 * .object: next focus node. The parameter type is {@link ArkUI_NodeHandle}.\n 1921 * \n 1922 * 1923 * @since 18 1924 */ 1925 NODE_NEXT_FOCUS = 101, 1926 1927 /** 1928 * @brief Sets the parameters for visible area change events. 1929 * 1930 * @note The visible area change callback is not a real-time callback. The actual callback interval may differ from 1931 * the expected interval due to system load and other factors. 1932 * The interval between two visible area change callbacks will not be less than the expected update interval. If the 1933 * provided expected interval is too short, the actual callback interval will be determined by the system load. 1934 * By default, the interval threshold of the visible area change callback includes 0. This means that, 1935 * if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5]. 1936 * 1937 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1938 * .object: parameters for visible area change events. 1939 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1940 * \n 1941 * Format of the return value {@link ArkUI_AttributeItem}:\n 1942 * .object: parameters for visible area change events. 1943 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1944 * 1945 * @since 17 1946 */ 1947 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO = 102, 1948 1949 /** 1950 * @brief Defines the translate attribute, which supports for percentile translation input, and can be set, reset, 1951 * and obtained as required through APIs.\n 1952 * 1953 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1954 * .value[0].f32: distance to translate along the x-axis. The default unit is percentage. 1955 * The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.\n 1956 * .value[1].f32: distance to translate along the y-axis. The default unit is percentage. 1957 * The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.\n 1958 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.\n 1959 * .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage. 1960 * The value can be 0 or 1. When the value is 1, it is specified as a percentage. 1961 * For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction. 1962 * The default value is <b>1</b>.\n 1963 * .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage. 1964 * The value can be 0 or 1. When the value is 1, it is specified as a percentage. 1965 * For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction. 1966 * The default value is <b>1</b>.\n 1967 * \n 1968 * Format of the return value {@link ArkUI_AttributeItem}:\n 1969 * .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].\n 1970 * .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].\n 1971 * .value[2].f32: distance to translate along the z-axis. The unit is vp.\n 1972 * .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0, 1973 * the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation 1974 * distance is percentage;\n 1975 * .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0, 1976 * the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation 1977 * distance is percentage;\n 1978 * 1979 * @since 20 1980 */ 1981 NODE_TRANSLATE_WITH_PERCENT = 103, 1982 1983 /** 1984 * @brief Sets component rotation with multi-axis angle control. This attribute can be set, reset, 1985 * and obtained as required through APIs. 1986 * 1987 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1988 * .value[0].f32: x-axis rotation angle. The default value is <b>0</b>. \n 1989 * .value[1].f32: y-axis rotation angle. The default value is <b>0</b>. \n 1990 * .value[2].f32: z-axis rotation angle. The default value is <b>0</b>. \n 1991 * .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>. \n 1992 * \n 1993 * Format of the return value {@link ArkUI_AttributeItem}:\n 1994 * .value[0].f32: x-axis rotation angle. The default value is <b>0</b>. 1995 * .value[1].f32: y-axis rotation angle. The default value is <b>0</b>. \n 1996 * .value[2].f32: z-axis rotation angle. The default value is <b>0</b>. \n 1997 * .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>. \n 1998 * 1999 * @since 20 2000 */ 2001 NODE_ROTATE_ANGLE = 104, 2002 2003 /** 2004 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2005 * 2006 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2007 * .string: text content.\n 2008 * \n 2009 * Format of the return value {@link ArkUI_AttributeItem}:\n 2010 * .string: text content.\n 2011 * 2012 */ 2013 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 2014 /** 2015 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 2016 * 2017 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2018 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2019 * \n 2020 * Format of the return value {@link ArkUI_AttributeItem}:\n 2021 * .value[0].u32: font color value, in 0xARGB format.\n 2022 * 2023 */ 2024 NODE_FONT_COLOR, 2025 /** 2026 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 2027 * 2028 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2029 * .value[0].f32: font size, in fp.\n 2030 * \n 2031 * Format of the return value {@link ArkUI_AttributeItem}:\n 2032 * .value[0].f32: font size, in fp.\n 2033 * 2034 */ 2035 NODE_FONT_SIZE, 2036 /** 2037 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 2038 * 2039 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2040 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 2041 * \n 2042 * Format of the return value {@link ArkUI_AttributeItem}:\n 2043 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 2044 * 2045 */ 2046 NODE_FONT_STYLE, 2047 /** 2048 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2049 * 2050 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2051 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2052 * \n 2053 * Format of the return value {@link ArkUI_AttributeItem}:\n 2054 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2055 * 2056 */ 2057 NODE_FONT_WEIGHT, 2058 /** 2059 * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs. 2060 * 2061 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2062 * .value[0].f32: line height, in fp.\n 2063 * \n 2064 * Format of the return value {@link ArkUI_AttributeItem}:\n 2065 * .value[0].f32: line height, in fp.\n 2066 * 2067 */ 2068 NODE_TEXT_LINE_HEIGHT, 2069 /** 2070 * @brief Defines the text decoration style and color. 2071 * This attribute can be set, reset, and obtained as required through APIs. 2072 * 2073 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2074 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 2075 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 2076 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 2077 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2078 * \n 2079 * Format of the return value {@link ArkUI_AttributeItem}:\n 2080 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 2081 * .value[1].u32: text decoration color, in 0xARGB format. \n 2082 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2083 * 2084 */ 2085 NODE_TEXT_DECORATION, 2086 /** 2087 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 2088 * 2089 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2090 * .value[0].i32: text case.\n 2091 * \n 2092 * Format of the return value {@link ArkUI_AttributeItem}:\n 2093 * .value[0].i32: text case.\n 2094 * 2095 */ 2096 NODE_TEXT_CASE, 2097 /** 2098 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 2099 * 2100 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2101 * .value[0].f32: letter spacing, in fp.\n 2102 * \n 2103 * Format of the return value {@link ArkUI_AttributeItem}:\n 2104 * .value[0].f32: letter spacing, in fp.\n 2105 * 2106 */ 2107 NODE_TEXT_LETTER_SPACING, 2108 /** 2109 * @brief Sets the maximum number of lines in the text. 2110 * This attribute can be set, reset, and obtained as required through APIs. 2111 * 2112 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2113 * .value[0].i32: maximum number of lines in the text.\n 2114 * \n 2115 * Format of the return value {@link ArkUI_AttributeItem}:\n 2116 * .value[0].i32: maximum number of lines in the text.\n 2117 * 2118 */ 2119 NODE_TEXT_MAX_LINES, 2120 /** 2121 * @brief Horizontal alignment mode of the text. 2122 * This attribute can be set, reset, and obtained as required through APIs. 2123 * 2124 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2125 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2126 * \n 2127 * Format of the return value {@link ArkUI_AttributeItem}:\n 2128 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2129 * 2130 */ 2131 NODE_TEXT_ALIGN, 2132 /** 2133 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 2134 * 2135 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2136 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2137 * \n 2138 * Format of the return value {@link ArkUI_AttributeItem}:\n 2139 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2140 * 2141 */ 2142 NODE_TEXT_OVERFLOW, 2143 /** 2144 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 2145 * 2146 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2147 * .string: fonts, separated by commas (,). 2148 * \n 2149 * Format of the return value {@link ArkUI_AttributeItem}:\n 2150 * .string: fonts, separated by commas (,). 2151 * 2152 */ 2153 NODE_FONT_FAMILY, 2154 /** 2155 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 2156 * 2157 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2158 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2159 * \n 2160 * Format of the return value {@link ArkUI_AttributeItem}:\n 2161 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 2162 * 2163 */ 2164 NODE_TEXT_COPY_OPTION, 2165 /** 2166 * @brief Defines the text baseline offset attribute 2167 * This attribute can be set, reset, and obtained as required through APIs. 2168 * 2169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2170 * .value[0].f32: baseline offset, in fp.\n 2171 * \n 2172 * Format of the return value {@link ArkUI_AttributeItem}:\n 2173 * .value[0].f32: baseline offset, in fp. \n 2174 * 2175 */ 2176 NODE_TEXT_BASELINE_OFFSET, 2177 /** 2178 * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs. 2179 * 2180 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2181 * .value[0].f32: blur radius of the shadow, in vp.\n 2182 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 2183 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2184 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2185 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2186 * \n 2187 * Format of the return value {@link ArkUI_AttributeItem}:\n 2188 * .value[0].f32: blur radius of the shadow, in vp.\n 2189 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 2190 * .value[2].u32: shadow color, in 0xARGB format.\n 2191 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2192 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2193 * 2194 */ 2195 NODE_TEXT_TEXT_SHADOW, 2196 /** 2197 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 2198 * 2199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2200 * .value[0].f32: minimum font size, in fp. 2201 * \n 2202 * Format of the return value {@link ArkUI_AttributeItem}:\n 2203 * .value[0].f32: minimum font size, in fp. 2204 * 2205 */ 2206 NODE_TEXT_MIN_FONT_SIZE, 2207 2208 /** 2209 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 2210 * 2211 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2212 * .value[0].f32: maximum font size, in fp. 2213 * \n 2214 * Format of the return value {@link ArkUI_AttributeItem}:\n 2215 * .value[0].f32: maximum font size, in fp. 2216 * 2217 */ 2218 NODE_TEXT_MAX_FONT_SIZE, 2219 2220 /** 2221 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 2222 * 2223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2224 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 2225 * .value[0].f32: font size, in fp. \n 2226 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 2227 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2228 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 2229 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2230 * \n 2231 * Format of the return value {@link ArkUI_AttributeItem}:\n 2232 * .string: font family. Use commas (,) to separate multiple fonts. \n 2233 * .value[0].f32: font size, in fp. \n 2234 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 2235 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2236 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 2237 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2238 * 2239 */ 2240 NODE_TEXT_FONT, 2241 2242 /** 2243 * @brief Defines how the adaptive height is determined for the text. 2244 * This attribute can be set, reset, and obtained as required through APIs. 2245 * 2246 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2247 * .value[0].i32: how the adaptive height is determined for the text. 2248 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 2249 * \n 2250 * Format of the return value {@link ArkUI_AttributeItem}:\n 2251 * .value[0].i32: how the adaptive height is determined for the text. 2252 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 2253 * 2254 */ 2255 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 2256 /** 2257 * @brief Defines the indentation of the first line. 2258 * This attribute can be set, reset, and obtained as required through APIs. 2259 * 2260 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2261 * .value[0].f32: indentation of the first line. \n 2262 * \n 2263 * Format of the return value {@link ArkUI_AttributeItem}:\n 2264 * .value[0].f32: indentation of the first line. \n 2265 * 2266 */ 2267 NODE_TEXT_INDENT, 2268 /** 2269 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 2270 * 2271 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2272 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2273 * \n 2274 * Format of the return value {@link ArkUI_AttributeItem}:\n 2275 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2276 * 2277 */ 2278 NODE_TEXT_WORD_BREAK, 2279 /** 2280 * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs. 2281 * 2282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2283 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2284 * \n 2285 * Format of the return value {@link ArkUI_AttributeItem}:\n 2286 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2287 * 2288 */ 2289 NODE_TEXT_ELLIPSIS_MODE, 2290 /** 2291 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 2292 * 2293 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2294 * .value[0].f32: line spacing, in fp.\n 2295 * \n 2296 * Format of the return value {@link ArkUI_AttributeItem}:\n 2297 * .value[0].f32: line spacing, in fp.\n 2298 * 2299 */ 2300 NODE_TEXT_LINE_SPACING, 2301 /** 2302 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2303 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2304 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2305 * The capabilities need to be supported by the fonts, \n 2306 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2307 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format: \n 2308 * .string: complies with the text feature format. The format is normal | \n 2309 * is in the format of [ | on | off],\n. 2310 * There can be multiple values separated by commas (,). \n 2311 * For example, the input format of a number with the same width is ss01 on. \n 2312 * \n 2313 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2314 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2315 */ 2316 NODE_FONT_FEATURE, 2317 /** 2318 * @brief Setting Enable Text Recognition. 2319 * 2320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2321 * .value[0].i32:Enable text recognition, default value false.\n 2322 * \n 2323 * Format of the return value {@link ArkUI_AttributeItem}:\n 2324 * .value[0].i32:Enable Text Recognition\n 2325 * 2326 */ 2327 NODE_TEXT_ENABLE_DATA_DETECTOR, 2328 /** 2329 * @brief Set the text recognition configuration. 2330 * 2331 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2332 * .value[0...].i32: Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2333 * \n 2334 * Format of the return value {@link ArkUI_AttributeItem}:\n 2335 * .value[0...].i32:Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2336 * 2337 */ 2338 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2339 /** 2340 * @brief Defines the background color of the selected text. 2341 * This attribute can be set, reset, and obtained as required through APIs. 2342 * 2343 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2344 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2345 * \n 2346 * Format of the return value {@link ArkUI_AttributeItem}:\n 2347 * .value[0].u32: color value, in 0xARGB format. \n 2348 * 2349 */ 2350 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2351 2352 /** 2353 * @brief The text component uses a formatted string object to set text content properties, 2354 * and supports property setting, property reset, and property acquisition interfaces. 2355 * 2356 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2357 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2358 * \n 2359 * Format of the return value {@link ArkUI_AttributeItem}:\n 2360 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2361 */ 2362 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2363 2364 /** 2365 * @brief Sets whether to center text vertically in the text component. 2366 * 2367 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2368 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 2369 * \n 2370 * Format of the return value {@link ArkUI_AttributeItem}:\n 2371 * .value[0].i32: whether to center text vertically. \n 2372 * 2373 */ 2374 NODE_TEXT_HALF_LEADING = 1029, 2375 2376 /** 2377 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2378 * The font weight specified by this API is not affected by any changes in the system font weight settings. 2379 * 2380 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2381 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2382 * \n 2383 * Format of the return value {@link ArkUI_AttributeItem}:\n 2384 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2385 * 2386 * @since 15 2387 */ 2388 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2389 2390 /** 2391 * @brief Sets whether to optimize the trailing spaces at the end of each line during text layout. 2392 * This attribute can be set, reset, and obtained as required through APIs. 2393 * 2394 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2395 * value[0].i32: whether to optimize trailing spaces at the end of each line during text layout. 2396 * The default value is <b>false</b>. \n 2397 * \n 2398 * Format of the return value {@link ArkUI_AttributeItem}:\n 2399 * value[0].i32: whether to optimize trailing spaces at the end of each line during text layout. \n 2400 * 2401 * @since 20 2402 */ 2403 NODE_TEXT_OPTIMIZE_TRAILING_SPACE = 1032, 2404 2405 /** 2406 * @brief Defines the text line count attribute, which can only be obtained as required through APIs. 2407 * 2408 * Format of the return value {@link ArkUI_AttributeItem}:\n 2409 * .value[0].i32: line count of the node. 2410 * 2411 * @since 20 2412 */ 2413 NODE_TEXT_LINE_COUNT = 1031, 2414 2415 /** 2416 * @brief Sets a linear gradient effect for text. 2417 * This attribute can be set, reset, and obtained as required through APIs. 2418 * 2419 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2420 * .value[0].f32: start angle of the linear gradient. 2421 * The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>. 2422 * A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>. \n 2423 * .value[1].i32: direction of the linear gradient. When a direction other than 2424 * <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored. 2425 * The parameter type is {@link ArkUI_LinearGradientDirection}. \n 2426 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. 2427 * .object: array of color stops, each of which consists of a color and its stop position. 2428 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n \n 2429 * colors: colors of the color stops. \n 2430 * stops: stop positions of the color stops. \n 2431 * size: number of colors. \n 2432 * \n 2433 * Format of the return value {@link ArkUI_AttributeItem}:\n 2434 * .value[0].f32: start angle of the linear gradient. 2435 * When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value; 2436 * otherwise, it is at default value. \n 2437 * .value[1].i32: direction of the linear gradient. \n 2438 * .value[2].i32: whether the colors are repeated. \n 2439 * .object: array of color stops, each of which consists of a color and its stop position. 2440 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n \n 2441 * colors: colors of the color stops. \n 2442 * stops: stop positions of the color stops. \n 2443 * size: number of colors. \n 2444 * 2445 * @since 20 2446 */ 2447 NODE_TEXT_LINEAR_GRADIENT = 1033, 2448 2449 /** 2450 * @brief Sets a radial gradient effect for text. 2451 * This attribute can be set, reset, and obtained as required through APIs. 2452 * 2453 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2454 * .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2455 * .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2456 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 2457 * .value[3]?.i32: whether the colors are repeated. 2458 * The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.\n \n 2459 * .object: array of color stops, each of which consists of a color and its stop position. 2460 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 2461 * colors: colors of the color stops. \n 2462 * stops: stop positions of the color stops. \n 2463 * size: number of colors. \n 2464 * \n 2465 * Format of the return value {@link ArkUI_AttributeItem}:\n 2466 * .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2467 * .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2468 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 2469 * .value[3].i32: whether the colors are repeated. 2470 * The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite. \n 2471 * .object: array of color stops, each of which consists of a color and its stop position. 2472 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 2473 * colors: colors of the color stops. \n 2474 * stops: stop positions of the color stops. \n 2475 * size: number of colors. \n 2476 * 2477 * @since 20 2478 */ 2479 NODE_TEXT_RADIAL_GRADIENT = 1034, 2480 2481 /** 2482 * @brief Sets the vertical alignment of the text content. 2483 * This attribute can be set, reset, and obtained as required through APIs. 2484 * 2485 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2486 * .value[0].i32: vertical alignment of the text content, specified using the {@link ArkUI_TextVerticalAlignment} 2487 * enum. The default value is <b>ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE</b>. \n 2488 * \n 2489 * Format of the return value {@link ArkUI_AttributeItem}:\n 2490 * .value[0].i32: vertical alignment of the text content, specified using the {@link ArkUI_TextVerticalAlignment} 2491 * enum. \n 2492 * 2493 * @since 20 2494 */ 2495 NODE_TEXT_VERTICAL_ALIGN = 1035, 2496 2497 /** 2498 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2499 * 2500 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2501 * .string: content of the text span. \n 2502 * \n 2503 * Format of the return value {@link ArkUI_AttributeItem}:\n 2504 * .string: content of the text span. \n 2505 * 2506 */ 2507 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2508 /** 2509 * @brief Defines the text background style. 2510 * This attribute can be set, reset, and obtained as required through APIs. 2511 * 2512 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2513 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2514 * The second parameter indicates the rounded corners of the text background. Two setting modes are available: \n 2515 * 1: .value[1].f32: radius of the four corners, in vp. \n 2516 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2517 * .value[2].f32: radius of the upper right corner, in vp. \n 2518 * .value[3].f32: radius of the lower left corner, in vp. \n 2519 * .value[4].f32: radius of the lower right corner, in vp. \n 2520 * \n 2521 * Format of the return value {@link ArkUI_AttributeItem}:\n 2522 * .value[0].u32: color of the text background, in 0xARGB format. \n 2523 * .value[1].f32: radius of the upper left corner, in vp. \n 2524 * .value[2].f32: radius of the upper right corner, in vp. \n 2525 * .value[3].f32: radius of the lower left corner, in vp. \n 2526 * .value[4].f32: radius of the lower right corner, in vp. \n 2527 * 2528 */ 2529 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2530 /** 2531 * @brief Defines the text baseline offset attribute 2532 * This attribute can be set, reset, and obtained as required through APIs. 2533 * 2534 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2535 * .value[0].f32: baseline offset, in fp.\n 2536 * \n 2537 * Format of the return value {@link ArkUI_AttributeItem}:\n 2538 * .value[0].f32: baseline offset, in fp. \n 2539 * 2540 */ 2541 NODE_SPAN_BASELINE_OFFSET, 2542 /** 2543 * @brief Defines the image source of the image span. 2544 * This attribute can be set, reset, and obtained as required through APIs. 2545 * 2546 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2547 * .string: image address of the image span.\n 2548 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2549 * \n 2550 * Format of the return value {@link ArkUI_AttributeItem}:\n 2551 * .string: image address of the image span.\n 2552 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2553 * 2554 */ 2555 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2556 /** 2557 * @brief Defines the alignment mode of the image with the text. 2558 * This attribute can be set, reset, and obtained as required through APIs. 2559 * 2560 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2561 * .value[0].i32: alignment mode of the image with the text. 2562 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2563 * \n 2564 * Format of the return value {@link ArkUI_AttributeItem}:\n 2565 * .value[0].i32: alignment mode of the image with the text. 2566 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2567 * 2568 */ 2569 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2570 /** 2571 * @brief Defines the placeholder image source. 2572 * This attribute can be set, reset, and obtained as required through APIs. 2573 * 2574 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2575 * .string: placeholder image source. \n 2576 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2577 * \n 2578 * Format of the return value {@link ArkUI_AttributeItem}:\n 2579 * .string: placeholder image source. \n 2580 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2581 * 2582 */ 2583 NODE_IMAGE_SPAN_ALT, 2584 /** 2585 * @brief Defines the baseline offset attribute of the <b>ImageSpan</b> component. 2586 * This attribute can be set, reset, and obtained as required through APIs. 2587 * A positive value means an upward offset, while a negative value means a downward offset. 2588 * The default value is <b>0</b>, and the unit is fp. \n 2589 * 2590 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2591 * .value[0].f32: baseline offset, in fp.\n 2592 * \n 2593 * Format of the return value {@link ArkUI_AttributeItem}:\n 2594 * .value[0].f32: baseline offset, in fp. \n 2595 * 2596 * @since 13 2597 */ 2598 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2599 /** 2600 * @brief Defines the image source of the <Image> component. 2601 * This attribute can be set, reset, and obtained as required through APIs. 2602 * 2603 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2604 * .string: image source.\n 2605 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2606 * \n 2607 * Format of the return value {@link ArkUI_AttributeItem}:\n 2608 * .string: image source.\n 2609 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2610 * 2611 */ 2612 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2613 /** 2614 * @brief Defines how the image is resized to fit its container. 2615 * This attribute can be set, reset, and obtained as required through APIs. 2616 * 2617 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2618 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2619 * \n 2620 * Format of the return value {@link ArkUI_AttributeItem}:\n 2621 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2622 * 2623 */ 2624 NODE_IMAGE_OBJECT_FIT, 2625 /** 2626 * @brief Defines the interpolation effect of the image. 2627 * This attribute can be set, reset, and obtained as required through APIs. 2628 * 2629 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2630 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2631 * \n 2632 * Format of the return value {@link ArkUI_AttributeItem}:\n 2633 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2634 * 2635 */ 2636 NODE_IMAGE_INTERPOLATION, 2637 /** 2638 * @brief Defines how the image is repeated. 2639 * This attribute can be set, reset, and obtained as required through APIs. 2640 * 2641 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2642 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2643 * \n 2644 * Format of the return value {@link ArkUI_AttributeItem}:\n 2645 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2646 * 2647 */ 2648 NODE_IMAGE_OBJECT_REPEAT, 2649 /** 2650 * @brief Defines the color filter of the image. 2651 * This attribute can be set, reset, and obtained as required through APIs. 2652 * 2653 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2654 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2655 * .size: 5 x 4 filter array size. \n 2656 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2657 * \n 2658 * Format of the return value {@link ArkUI_AttributeItem}:\n 2659 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2660 * .size: 5 x 4 filter array size. \n 2661 * .object: the pointer to OH_Drawing_ColorFilter. \n 2662 * 2663 */ 2664 NODE_IMAGE_COLOR_FILTER, 2665 /** 2666 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2667 * 2668 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2669 * .value[0].i32 : whether to resize the image source. \n 2670 * \n 2671 * Format of the return value {@link ArkUI_AttributeItem}:\n 2672 * .value[0].i32 : whether to resize the image source. \n 2673 * 2674 */ 2675 NODE_IMAGE_AUTO_RESIZE, 2676 /** 2677 * @brief Defines the placeholder image source. 2678 * This attribute can be set, reset, and obtained as required through APIs. 2679 * 2680 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2681 * .string: placeholder image source. \n 2682 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2683 * \n 2684 * Format of the return value {@link ArkUI_AttributeItem}:\n 2685 * .string: placeholder image source. \n 2686 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2687 * 2688 */ 2689 NODE_IMAGE_ALT, 2690 /** 2691 * @brief Defines whether the image is draggable. 2692 * This attribute can be set, reset, and obtained as required through APIs. 2693 * 2694 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2695 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2696 * \n 2697 * Format of the return value {@link ArkUI_AttributeItem}:\n 2698 * .value[0].i32: whether the image is draggable. \n 2699 * 2700 */ 2701 NODE_IMAGE_DRAGGABLE, 2702 /** 2703 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2704 * 2705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2706 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2707 * \n 2708 * Format of the return value {@link ArkUI_AttributeItem}:\n 2709 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2710 * 2711 */ 2712 NODE_IMAGE_RENDER_MODE, 2713 /** 2714 * @brief Defines whether the image display size follows the image source size. 2715 * This attribute can be set, reset, and obtained as required through APIs. 2716 * 2717 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2718 * .value[0].i32: wheter to follow, true means to follow.\n 2719 * \n 2720 * Format of the return value {@link ArkUI_AttributeItem}:\n 2721 * .value[0].i32: wheter to follow, true means to follow.\n 2722 * 2723 */ 2724 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2725 /** 2726 * @brief Defines the fill color of the swiper. 2727 * This attribute can be set, reset, and obtained as required through APIs. 2728 * 2729 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2730 * .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2731 * \n 2732 * Format of the return value {@link ArkUI_AttributeItem}:\n 2733 * .value[0].u32: fill color, in 0xARGB format. \n 2734 * 2735 */ 2736 NODE_IMAGE_FILL_COLOR, 2737 /** 2738 * @brief Sets the resizable image options. 2739 * 2740 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2741 * .value[0].f32: width of the left edge. The unit is vp. \n 2742 * .value[1].f32: width of the top edge. The unit is vp. \n 2743 * .value[2].f32: width of the right edge. The unit is vp. \n 2744 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2745 * \n 2746 * Format of the return value {@link ArkUI_AttributeItem}:\n 2747 * .value[0].f32: width of the left edge. The unit is vp. \n 2748 * .value[1].f32: width of the top edge. The unit is vp. \n 2749 * .value[2].f32: width of the right edge. The unit is vp. \n 2750 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2751 * 2752 */ 2753 NODE_IMAGE_RESIZABLE, 2754 /** 2755 * @brief Defines the synchronous image loading attribute. 2756 * This attribute can be set, reset, and obtained as required through APIs. 2757 * 2758 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2759 * .value[0].i32: whether to load the image synchronously. \n 2760 * \n 2761 * Format of the return value {@link ArkUI_AttributeItem}:\n 2762 * .value[0].i32: whether to load the image synchronously. \n 2763 * 2764 * @since 20 2765 */ 2766 NODE_IMAGE_SYNC_LOAD = 4012, 2767 /** 2768 * @brief Defines the color of the component when it is selected. 2769 * This attribute can be set, reset, and obtained as required through APIs. 2770 * 2771 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2772 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2773 * \n 2774 * Format of the return value {@link ArkUI_AttributeItem}:\n 2775 * .value[0].u32: background color, in 0xARGB format. \n 2776 * 2777 */ 2778 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2779 /** 2780 * @brief Defines the color of the circular slider for the component of the switch type. 2781 * This attribute can be set, reset, and obtained as required through APIs. 2782 * 2783 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2784 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2785 * \n 2786 * Format of the return value {@link ArkUI_AttributeItem}:\n 2787 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2788 * 2789 */ 2790 NODE_TOGGLE_SWITCH_POINT_COLOR, 2791 /** 2792 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2793 * 2794 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2795 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2796 * \n 2797 * Format of the return value {@link ArkUI_AttributeItem}:\n 2798 * .value[0].i32: whether to enable the toggle. \n 2799 * 2800 */ 2801 NODE_TOGGLE_VALUE, 2802 2803 /** 2804 * @brief Defines the color of the component when it is deselected. 2805 * This attribute can be set, reset, and obtained as required through APIs. 2806 * 2807 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2808 *.value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2809 * \n 2810 * Format of the return value {@link ArkUI_AttributeItem}:\n 2811 * .value[0].u32: background color, in 0xARGB format. \n 2812 * 2813 */ 2814 NODE_TOGGLE_UNSELECTED_COLOR, 2815 2816 /** 2817 * @brief Defines the foreground color of the loading progress bar. 2818 * This attribute can be set, reset, and obtained as required through APIs. 2819 * 2820 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2821 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2822 * \n 2823 * Format of the return value {@link ArkUI_AttributeItem}:\n 2824 * .value[0].u32: foreground color, in 0xARGB format. \n 2825 * 2826 */ 2827 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2828 /** 2829 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2830 * This attribute can be set, reset, and obtained as required through APIs. 2831 * 2832 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2833 * .value[0].i32: whether to show the loading animation. 2834 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2835 * \n 2836 * Format of the return value {@link ArkUI_AttributeItem}:\n 2837 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2838 * 2839 */ 2840 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2841 2842 /** 2843 * @brief Defines the default placeholder text of the single-line text box. 2844 * This attribute can be set, reset, and obtained as required through APIs. 2845 * 2846 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2847 * .string: default placeholder text. \n 2848 * \n 2849 * Format of the return value {@link ArkUI_AttributeItem}:\n 2850 * .string: default placeholder text. \n 2851 * 2852 */ 2853 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2854 /** 2855 * @brief Defines the default text content of the single-line text box. 2856 * This attribute can be set, reset, and obtained as required through APIs. 2857 * 2858 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2859 * .string: default text content. \n 2860 * \n 2861 * Format of the return value {@link ArkUI_AttributeItem}:\n 2862 * .string: default text content. \n 2863 * 2864 */ 2865 NODE_TEXT_INPUT_TEXT, 2866 /** 2867 * @brief Defines the caret color attribute. 2868 * This attribute can be set, reset, and obtained as required through APIs. 2869 * 2870 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2871 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2872 * \n 2873 * Format of the return value {@link ArkUI_AttributeItem}:\n 2874 * .value[0].u32: caret color, in 0xARGB format. \n 2875 * 2876 */ 2877 NODE_TEXT_INPUT_CARET_COLOR, 2878 /** 2879 * @brief Defines the caret style attribute. 2880 * This attribute can be set, reset, and obtained as required through APIs. 2881 * 2882 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2883 * .value[0].f32: caret width, in vp.\n 2884 * \n 2885 * Format of the return value {@link ArkUI_AttributeItem}:\n 2886 * .value[0].f32: caret width, in vp. \n 2887 * 2888 */ 2889 NODE_TEXT_INPUT_CARET_STYLE, 2890 /** 2891 * @brief Defines the underline attribute of the single-line text box. 2892 * This attribute can be set, reset, and obtained as required through APIs. 2893 * 2894 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2895 * .value[0].i32: whether to show an underline. 2896 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2897 * \n 2898 * Format of the return value {@link ArkUI_AttributeItem}:\n 2899 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2900 * 2901 */ 2902 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2903 /** 2904 * @brief Defines the maximum number of characters in the text input. 2905 * This attribute can be set, reset, and obtained as required through APIs. 2906 * 2907 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2908 * .value[0].i32: maximum number of characters in the text input, without a unit. \n 2909 * \n 2910 * Format of the return value {@link ArkUI_AttributeItem}:\n 2911 * .value[0].i32: maximum number of characters in the text input. \n 2912 * 2913 */ 2914 NODE_TEXT_INPUT_MAX_LENGTH, 2915 /** 2916 * @brief Defines the type of the Enter key. 2917 * This attribute can be set, reset, and obtained as required through APIs. 2918 * 2919 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2920 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 2921 * \n 2922 * Format of the return value {@link ArkUI_AttributeItem}:\n 2923 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 2924 * 2925 */ 2926 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 2927 /** 2928 * @brief Defines the placeholder text color. 2929 * This attribute can be set, reset, and obtained as required through APIs. 2930 * 2931 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2932 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2933 * \n 2934 * Format of the return value {@link ArkUI_AttributeItem}:\n 2935 * .value[0].u32: color value, in 0xARGB format. \n 2936 * 2937 */ 2938 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 2939 /** 2940 * @brief Defines the placeholder text font. 2941 * This attribute can be set, reset, and obtained as required through APIs. 2942 * 2943 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2944 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2945 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 2946 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 2947 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 2948 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2949 * ?.string: font family. Multiple font families are separated by commas (,). 2950 * Example: "font weight; font family 1, font family 2". \n 2951 * \n 2952 * Format of the return value {@link ArkUI_AttributeItem}:\n 2953 * .value[0].f32: font size, in fp.\n 2954 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2955 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2956 * .string: font family. Multiple font families are separated by commas (,). \n 2957 * 2958 */ 2959 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 2960 /** 2961 * @brief Defines whether to enable the input method when the component obtains focus. 2962 * This attribute can be set, reset, and obtained as required through APIs. 2963 * 2964 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2965 * .value[0].i32: whether to enable the input method when the component obtains focus. 2966 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 2967 * \n 2968 * Format of the return value {@link ArkUI_AttributeItem}:\n 2969 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 2970 * and <b>0</b> means the opposite. \n 2971 * 2972 */ 2973 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 2974 /** 2975 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2976 * 2977 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2978 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 2979 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 2980 * \n 2981 * Format of the return value {@link ArkUI_AttributeItem}:\n 2982 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 2983 * 2984 */ 2985 NODE_TEXT_INPUT_TYPE, 2986 /** 2987 * @brief Defines the background color of the selected text. 2988 * This attribute can be set, reset, and obtained as required through APIs. 2989 * 2990 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2991 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2992 * \n 2993 * Format of the return value {@link ArkUI_AttributeItem}:\n 2994 * .value[0].u32: color value, in 0xARGB format. \n 2995 * 2996 */ 2997 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 2998 /** 2999 * @brief Defines whether to display the password icon at the end of the password text box. 3000 * This attribute can be set, reset, and obtained as required through APIs. 3001 * 3002 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3003 * .value[0].i32: whether to display the password icon at the end of the password text box. 3004 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 3005 * \n 3006 * Format of the return value {@link ArkUI_AttributeItem}:\n 3007 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 3008 * and <b>0</b> means the opposite. \n 3009 * 3010 */ 3011 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 3012 /** 3013 * @brief Defines the editable state for the single-line text box. 3014 * This attribute can be set as required through APIs. 3015 * 3016 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 3017 * .value[0].i32: whether to remain in the editable state. The value 3018 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 3019 * \n 3020 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3021 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3022 * state, and <b>false</b> means to exit the editable state. \n 3023 * 3024 */ 3025 NODE_TEXT_INPUT_EDITING, 3026 /** 3027 * @brief Defines the style of the cancel button on the right of the single-line text box. 3028 * This attribute can be set, reset, and obtained as required through APIs. 3029 * 3030 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 3031 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 3032 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 3033 * .value[1]?.f32: button icon size, in vp.\n 3034 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3035 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 3036 * \n 3037 * Format of the return value {@link ArkUI_AttributeItem}:\n 3038 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 3039 * .value[1].f32: icon size, in vp.\n 3040 * .value[2].u32: button icon color, in 0xARGB format.\n 3041 * .string: button icon image source. \n 3042 * 3043 */ 3044 NODE_TEXT_INPUT_CANCEL_BUTTON, 3045 /** 3046 * @brief Sets the text selection area, which will be highlighted. 3047 * This attribute can be set, reset, and obtained as required through APIs. 3048 * 3049 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3050 * .value[0].i32: start position of the text selection. \n 3051 * .value[1].i32: end position of the text selection. \n 3052 * \n 3053 * Format of the return value {@link ArkUI_AttributeItem}:\n 3054 * .value[0].i32: start position of the text selection. \n 3055 * .value[1].i32: end position of the text selection. \n 3056 * 3057 */ 3058 NODE_TEXT_INPUT_TEXT_SELECTION, 3059 /** 3060 * @brief Sets the color of the text underline when it is enabled. 3061 * 3062 * The default underline color configured for the theme is <b>'0x33182431'</b>. 3063 * 3064 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3065 * .value[0].u32: color of the underline applied to the text being typed in. 3066 * The value is in 0xARGB format. \n 3067 * .value[1].u32: color of the underline applied to the text in the normal state. 3068 * The value is in 0xARGB format. \n 3069 * .value[2].u32: color of the underline applied to the text when an error is detected. 3070 * The value is in 0xARGB format. \n 3071 * .value[3].u32: color of the underline applied to the text when it is disabled. 3072 * The value is in 0xARGB format. \n 3073 * \n 3074 * Format of the return value {@link ArkUI_AttributeItem}:\n 3075 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 3076 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 3077 * .value[2].u32: color of the underline applied to the text when an error is detected. 3078 * The value is in 0xARGB format. \n 3079 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 3080 * 3081 */ 3082 NODE_TEXT_INPUT_UNDERLINE_COLOR, 3083 /** 3084 * @brief Sets whether to enable autofill. 3085 * 3086 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3087 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3088 * \n 3089 * Format of the return value {@link ArkUI_AttributeItem}:\n 3090 * .value[0].i32: whether to enable autofill. \n 3091 * 3092 */ 3093 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 3094 /** 3095 * @brief Sets the autofill type. 3096 * 3097 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3098 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3099 * \n 3100 * Format of the return value {@link ArkUI_AttributeItem}:\n 3101 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3102 * 3103 */ 3104 NODE_TEXT_INPUT_CONTENT_TYPE, 3105 /** 3106 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 3107 * transmitted to Password Vault for generating a new password. 3108 * 3109 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3110 * .string: rules for generating passwords. \n 3111 * \n 3112 * Format of the return value {@link ArkUI_AttributeItem}:\n 3113 * .string: rules for generating passwords. \n 3114 * 3115 */ 3116 NODE_TEXT_INPUT_PASSWORD_RULES, 3117 /** 3118 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 3119 * 3120 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3121 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 3122 * \n 3123 * Format of the return value {@link ArkUI_AttributeItem}:\n 3124 * .value[0].i32: whether to select all text in the initial state. \n 3125 * 3126 */ 3127 NODE_TEXT_INPUT_SELECT_ALL, 3128 /** 3129 * @brief Sets the regular expression for input filtering. 3130 * Only inputs that comply with the regular expression can be displayed. 3131 * Other inputs are filtered out. The specified regular expression can match single characters, 3132 * but not strings. 3133 * 3134 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3135 * .string: regular expression. \n 3136 * \n 3137 * Format of the return value {@link ArkUI_AttributeItem}:\n 3138 * .string: regular expression. \n 3139 * 3140 */ 3141 NODE_TEXT_INPUT_INPUT_FILTER, 3142 /** 3143 * @brief Sets the text box to the default style or inline input style. 3144 * 3145 * For the inline input style, only <b>InputType.Normal</b> is supported. 3146 * 3147 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3148 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 3149 * \n 3150 * Format of the return value {@link ArkUI_AttributeItem}:\n 3151 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 3152 * 3153 */ 3154 NODE_TEXT_INPUT_STYLE, 3155 /** 3156 * @brief Sets or obtains the caret position. 3157 * 3158 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3159 * In the case of setting the caret position: 3160 * .value[0].i32: character count from the beginning of a string to the caret position. \n 3161 * 3162 * Format of the return value {@link ArkUI_AttributeItem}:\n 3163 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 3164 * current frame, it will not take effect. 3165 * .value[0].i32: index of the caret position. \n 3166 * .value[1].f32: X coordinate of the caret relative to the text box. \n 3167 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 3168 */ 3169 NODE_TEXT_INPUT_CARET_OFFSET, 3170 /** 3171 * @brief Obtains the position of the edited text area relative to the component and its size. 3172 * 3173 * Format of the return value {@link ArkUI_AttributeItem}:\n 3174 * .value[0].f32: horizontal coordinate. \n 3175 * .value[1].f32: vertical coordinate. \n 3176 * .value[2].f32: content width. \n 3177 * .value[3].f32: content height. \n 3178 * 3179 */ 3180 NODE_TEXT_INPUT_CONTENT_RECT, 3181 /** 3182 * @brief Obtains the number of lines of the edited text. 3183 * 3184 * Format of the return value {@link ArkUI_AttributeItem}:\n 3185 * .value[0].i32: number of lines of the edited text. \n 3186 * 3187 */ 3188 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 3189 /** 3190 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or 3191 * right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3192 * 3193 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3194 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3195 * right-clicked. The default value is <b>false</b>. \n 3196 * \n 3197 * Format of the return value {@link ArkUI_AttributeItem}:\n 3198 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3199 * right-clicked. \n 3200 * 3201 */ 3202 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 3203 /** 3204 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 3205 * 3206 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3207 * .value[0].i32: whether the text box loses focus. \n 3208 * \n 3209 * Format of the return value {@link ArkUI_AttributeItem}:\n 3210 * .value[0].i32: whether the text box loses focus. \n 3211 * 3212 */ 3213 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 3214 /** 3215 * @brief Set up a custom keyboard. 3216 * 3217 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3218 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 3219 * .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.\n 3220 * \n 3221 * Format of the return value {@link ArkUI_AttributeItem}:\n 3222 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 3223 * .value[0].i32:Set whether the custom keyboard supports the avoidance function.\n 3224 * 3225 */ 3226 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 3227 /** 3228 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 3229 * 3230 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3231 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3232 * \n 3233 * Format of the return value {@link ArkUI_AttributeItem}:\n 3234 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3235 * 3236 */ 3237 NODE_TEXT_INPUT_WORD_BREAK, 3238 3239 /** 3240 * @brief Sets whether the keyboard pops up when the input box gains focus. 3241 * It supports property setting, property reset and property acquisition interfaces. 3242 * 3243 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3244 * .value[0].i32: Whether to pop up the keyboard. \n 3245 * \n 3246 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 3247 * .value[0].i32: Whether to pop up the keyboard. \n 3248 * 3249 */ 3250 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 3251 3252 /** 3253 * @brief When this property is set, the height of the textInput component is calculated using this property. 3254 * 3255 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3256 * .value[0].i32: set the value of numberOfLines.\n 3257 * \n 3258 * Format of the return value {@link ArkUI_AttributeItem}:\n 3259 * .value[0].i32: the value of numberOfLines.\n 3260 * 3261 */ 3262 NODE_TEXT_INPUT_NUMBER_OF_LINES, 3263 3264 /** 3265 * @brief Sets the letter spacing of the <b>TextInput</b> component. 3266 * This attribute can be set, reset, and obtained as required through APIs. 3267 * 3268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3269 * .value[0].f32: letter spacing. The default unit is fp. \n 3270 * \n 3271 * Format of the return value {@link ArkUI_AttributeItem}:\n 3272 * .value[0].f32: letter spacing. The default unit is fp. \n 3273 * 3274 * @since 15 3275 */ 3276 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 3277 3278 /** 3279 * @brief Sets whether to enable preview text for the <b>TextInput</b> component. 3280 * This attribute can be set, reset, and obtained as required through APIs. 3281 * 3282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3283 * .value[0].i32: whether to enable preview tex. \n 3284 * \n 3285 * Format of the return value {@link ArkUI_AttributeItem}:\n 3286 * .value[0].i32: whether to enable preview tex. \n 3287 * 3288 * @since 15 3289 */ 3290 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 3291 3292 /** 3293 * @brief Sets whether to center text vertically in the textInput component. 3294 * 3295 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3296 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3297 * \n 3298 * Format of the return value {@link ArkUI_AttributeItem}:\n 3299 * .value[0].i32: whether to center text vertically. \n 3300 * 3301 * @since 18 3302 */ 3303 NODE_TEXT_INPUT_HALF_LEADING = 7034, 3304 3305 /** 3306 * @brief Set the keyboard style of textInput 3307 * 3308 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3309 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3310 * \n 3311 * Format of the return value {@link ArkUI_AttributeItem}:\n 3312 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3313 * 3314 * @since 15 3315 */ 3316 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 3317 3318 /** 3319 * @brief Set whether to enable the auto fill animation or not. 3320 * 3321 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3322 * .value[0].i32: Whether to enable the auto fill animation.\n 3323 * \n 3324 * Format of the return value {@link ArkUI_AttributeItem}: \n 3325 * .value[0].i32: Get the flag of whether the auto fill animation is enabled.\n 3326 * 3327 * @since 20 3328 */ 3329 NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION = 7036, 3330 3331 /** 3332 * @brief Set the line height of the input node. 3333 * This attribute can be set, reset, and obtained as required through APIs. 3334 * 3335 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3336 * .value[0].i32: line height value. 3337 * \n 3338 * Format of the return value {@link ArkUI_AttributeItem}: \n 3339 * .value[0].i32: line height value 3340 * 3341 * @since 20 3342 */ 3343 NODE_TEXT_INPUT_LINE_HEIGHT = 7037, 3344 3345 /** 3346 * @brief Defines the default placeholder text for the multi-line text box. 3347 * This attribute can be set, reset, and obtained as required through APIs. 3348 * 3349 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3350 * .string: default placeholder text. \n 3351 * \n 3352 * Format of the return value {@link ArkUI_AttributeItem}:\n 3353 * .string: default placeholder text. \n 3354 * 3355 */ 3356 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 3357 /** 3358 * @brief Defines the default text content for the multi-line text box. 3359 * This attribute can be set, reset, and obtained as required through APIs. 3360 * 3361 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3362 * .string: default text content. \n 3363 * \n 3364 * Format of the return value {@link ArkUI_AttributeItem}:\n 3365 * .string: default text content. \n 3366 * 3367 */ 3368 NODE_TEXT_AREA_TEXT, 3369 /** 3370 * @brief Defines the maximum number of characters in the text input. 3371 * This attribute can be set, reset, and obtained as required through APIs. 3372 * 3373 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3374 * .value[0].i32: maximum number of characters in the text input. \n 3375 * \n 3376 * Format of the return value {@link ArkUI_AttributeItem}:\n 3377 * .value[0].i32: maximum number of characters in the text input. \n 3378 * 3379 */ 3380 NODE_TEXT_AREA_MAX_LENGTH, 3381 /** 3382 * @brief Defines the placeholder text color. 3383 * This attribute can be set, reset, and obtained as required through APIs. 3384 * 3385 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3386 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3387 * \n 3388 * Format of the return value {@link ArkUI_AttributeItem}:\n 3389 * .value[0].u32: color value, in 0xARGB format. \n 3390 * 3391 */ 3392 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 3393 /** 3394 * @brief Defines the placeholder text font. 3395 * This attribute can be set, reset, and obtained as required through APIs. 3396 * 3397 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3398 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3399 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 3400 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 3401 * ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2". \n 3402 * \n 3403 * Format of the return value {@link ArkUI_AttributeItem}:\n 3404 * .value[0].f32: font size, in fp.\n 3405 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3406 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3407 * .string: font family. Multiple font families are separated by commas (,). \n 3408 * 3409 */ 3410 NODE_TEXT_AREA_PLACEHOLDER_FONT, 3411 /** 3412 * @brief Defines the caret color attribute. 3413 * This attribute can be set, reset, and obtained as required through APIs. 3414 * 3415 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3416 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3417 * \n 3418 * Format of the return value {@link ArkUI_AttributeItem}:\n 3419 * .value[0].u32: background color, in 0xARGB format. \n 3420 * 3421 */ 3422 NODE_TEXT_AREA_CARET_COLOR, 3423 /** 3424 * @brief Defines the editable state for the multi-line text box. 3425 * This attribute can be set as required through APIs. 3426 * 3427 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3428 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 3429 * editable state, and <b>false</b> means to exit the editable state.\n \n 3430 * \n 3431 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3432 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3433 * state, and <b>false</b> means to exit the editable state.\n \n 3434 * 3435 */ 3436 NODE_TEXT_AREA_EDITING, 3437 /** 3438 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 3439 * 3440 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3441 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. 3442 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 3443 * \n 3444 * Format of the return value {@link ArkUI_AttributeItem}:\n 3445 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 3446 * 3447 */ 3448 NODE_TEXT_AREA_TYPE, 3449 /** 3450 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 3451 * 3452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3453 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 3454 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 3455 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3456 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 3457 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 3458 * \n 3459 * Format of the return value {@link ArkUI_AttributeItem}:\n 3460 * .value[0].i32: whether to show a character counter. \n 3461 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 3462 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3463 * by the threshold percentage value. The value range is 1 to 100. \n 3464 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 3465 * The default value is <b>true</b>. \n 3466 * 3467 */ 3468 NODE_TEXT_AREA_SHOW_COUNTER, 3469 /** 3470 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, 3471 * or right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3472 * 3473 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3474 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3475 * or right-clicked. The default value is <b>false</b>. \n 3476 * \n 3477 * Format of the return value {@link ArkUI_AttributeItem}:\n 3478 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3479 * or right-clicked. \n 3480 * 3481 */ 3482 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 3483 /** 3484 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 3485 * 3486 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3487 * .value[0].i32: whether the text box loses focus. \n 3488 * \n 3489 * Format of the return value {@link ArkUI_AttributeItem}:\n 3490 * .value[0].i32: whether the text box loses focus. \n 3491 * 3492 */ 3493 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 3494 /** 3495 * @brief Sets the regular expression for input filtering. 3496 * Only inputs that comply with the regular expression can be displayed. 3497 * Other inputs are filtered out. The specified regular expression can match single characters, 3498 * but not strings. 3499 * 3500 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3501 * .string: regular expression. \n 3502 * \n 3503 * Format of the return value {@link ArkUI_AttributeItem}:\n 3504 * .string: regular expression. \n 3505 * 3506 */ 3507 NODE_TEXT_AREA_INPUT_FILTER, 3508 /** 3509 * @brief Defines the background color of the selected text. 3510 * This attribute can be set, reset, and obtained as required through APIs. 3511 * 3512 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3513 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3514 * \n 3515 * Format of the return value {@link ArkUI_AttributeItem}:\n 3516 * .value[0].u32: color value, in 0xARGB format. \n 3517 * 3518 */ 3519 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3520 /** 3521 * @brief Defines the type of the Enter key. 3522 * This attribute can be set, reset, and obtained as required through APIs. 3523 * 3524 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3525 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3526 * \n 3527 * Format of the return value {@link ArkUI_AttributeItem}:\n 3528 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3529 * 3530 */ 3531 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3532 /** 3533 * @brief Defines whether to enable the input method when the component obtains focus. 3534 * This attribute can be set, reset, and obtained as required through APIs. 3535 * 3536 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3537 * .value[0].i32: whether to enable the input method when the component obtains focus. 3538 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3539 * \n 3540 * Format of the return value {@link ArkUI_AttributeItem}:\n 3541 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3542 * and <b>0</b> means the opposite. \n 3543 * 3544 */ 3545 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3546 /** 3547 * @brief Defines whether to enable the input method when the component obtains focus. 3548 * This attribute can be set, reset, and obtained as required through APIs. 3549 * 3550 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3551 * .value[0].i32: whether to enable the input method when the component obtains focus. 3552 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3553 * \n 3554 * Format of the return value {@link ArkUI_AttributeItem}:\n 3555 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3556 * and <b>0</b> means the opposite. \n 3557 * 3558 */ 3559 NODE_TEXT_AREA_CARET_OFFSET, 3560 /** 3561 * @brief Obtains the position of the edited text area relative to the component and its size. 3562 * 3563 * Format of the return value {@link ArkUI_AttributeItem}:\n 3564 * .value[0].f32: horizontal coordinate. \n 3565 * .value[1].f32: vertical coordinate. \n 3566 * .value[2].f32: content width. \n 3567 * .value[3].f32: content height. \n 3568 * 3569 */ 3570 NODE_TEXT_AREA_CONTENT_RECT, 3571 /** 3572 * @brief Obtains the number of lines of the edited text. 3573 * 3574 * Format of the return value {@link ArkUI_AttributeItem}:\n 3575 * .value[0].i32: number of lines of the edited text. \n 3576 * 3577 */ 3578 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3579 /** 3580 * @brief Sets the text selection area, which will be highlighted. 3581 * This attribute can be set, reset, and obtained as required through APIs. 3582 * 3583 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3584 * .value[0].i32: start position of the text selection. \n 3585 * .value[1].i32: end position of the text selection. \n 3586 * \n 3587 * Format of the return value {@link ArkUI_AttributeItem}:\n 3588 * .value[0].i32: start position of the text selection. \n 3589 * .value[1].i32: end position of the text selection. \n 3590 * 3591 */ 3592 NODE_TEXT_AREA_TEXT_SELECTION, 3593 /** 3594 * @brief Sets whether to enable autofill. 3595 * 3596 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3597 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3598 * \n 3599 * Format of the return value {@link ArkUI_AttributeItem}:\n 3600 * .value[0].i32: whether to enable autofill. \n 3601 * 3602 */ 3603 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3604 /** 3605 * @brief Sets the autofill type. 3606 * 3607 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3608 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3609 * \n 3610 * Format of the return value {@link ArkUI_AttributeItem}:\n 3611 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3612 * 3613 */ 3614 NODE_TEXT_AREA_CONTENT_TYPE, 3615 3616 /** 3617 * @brief Sets whether the keyboard pops up when the input box gains focus. 3618 * It supports property setting, property reset and property acquisition interfaces. 3619 * 3620 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3621 * .value[0].i32: Whether to pop up the keyboard. \n 3622 * \n 3623 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 3624 * .value[0].i32: Whether to pop up the keyboard. \n 3625 * 3626 */ 3627 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3628 3629 /** 3630 * @brief When this property is set, the height of the textArea component is calculated using this property. 3631 * 3632 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3633 * .value[0].i32: set the value of numberOfLines.\n 3634 * \n 3635 * Format of the return value {@link ArkUI_AttributeItem}:\n 3636 * .value[0].i32: Set the value of numberOfLines\n 3637 * 3638 */ 3639 NODE_TEXT_AREA_NUMBER_OF_LINES, 3640 3641 /** 3642 * @brief Sets the letter spacing of the <b>TextArea</b> component. 3643 * This attribute can be set, reset, and obtained as required through APIs. 3644 * 3645 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3646 * .value[0].f32: letter spacing. The default unit is fp. \n 3647 * \n 3648 * Format of the return value {@link ArkUI_AttributeItem}:\n 3649 * .value[0].f32: letter spacing. The default unit is fp. \n 3650 * 3651 * @since 15 3652 */ 3653 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3654 /** 3655 * @brief Sets whether to enable preview text for the <b>TextArea</b> component. 3656 * This attribute can be set, reset, and obtained as required through APIs. 3657 * 3658 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3659 * .value[0].i32: whether to enable preview tex. \n 3660 * \n 3661 * Format of the return value {@link ArkUI_AttributeItem}:\n 3662 * .value[0].i32: whether to enable preview tex. \n 3663 * 3664 * @since 15 3665 */ 3666 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3667 3668 /** 3669 * @brief Sets whether to center text vertically in the textArea component. 3670 * 3671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3672 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3673 * \n 3674 * Format of the return value {@link ArkUI_AttributeItem}:\n 3675 * .value[0].i32: whether to center text vertically. \n 3676 * 3677 * @since 18 3678 */ 3679 NODE_TEXT_AREA_HALF_LEADING = 8025, 3680 3681 /** 3682 * @brief Set the keyboard style of textArea 3683 * 3684 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3685 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3686 * \n 3687 * Format of the return value {@link ArkUI_AttributeItem}:\n 3688 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3689 * 3690 * @since 15 3691 */ 3692 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3693 3694 /** 3695 * @brief Set the max lines of the node. This attribute can be set, reset, and obtained as required through APIs. 3696 * 3697 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3698 * .value[0].i32: max lines count. 3699 * \n 3700 * Format of the return value {@link ArkUI_AttributeItem}:\n 3701 * .value[0].i32: max lines count.\n 3702 * 3703 * @since 20 3704 */ 3705 NODE_TEXT_AREA_MAX_LINES = 8027, 3706 3707 /** 3708 * @brief Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs. 3709 * 3710 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3711 * .value[0].i32: line spacing value. \n 3712 * \n 3713 * Format of the return value {@link ArkUI_AttributeItem}:\n 3714 * .value[0].i32: line spacing value. \n 3715 * 3716 * @since 20 3717 */ 3718 NODE_TEXT_AREA_LINE_SPACING = 8028, 3719 3720 /** 3721 * @brief Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs. 3722 * 3723 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3724 * .value[0].i32: min lines count. 3725 * \n 3726 * Format of the return value {@link ArkUI_AttributeItem}: \n 3727 * .value[0].i32: min line count.\n 3728 * 3729 * @since 20 3730 * 3731 */ 3732 NODE_TEXT_AREA_MIN_LINES = 8029, 3733 3734 /** 3735 * @brief Set the max lines of the node with scroll. 3736 * This attribute can be set, reset, and obtained as required through APIs. 3737 * 3738 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3739 * .value[0].i32: max lines count with scroll. 3740 * \n 3741 * Format of the return value {@link ArkUI_AttributeItem}: \n 3742 * .value[0].i32: max line count with scroll.\n 3743 * 3744 * @since 20 3745 */ 3746 NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL = 8030, 3747 3748 /** 3749 * @brief Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs. 3750 * 3751 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3752 * .value[0].i32: line height value. 3753 * \n 3754 * Format of the return value {@link ArkUI_AttributeItem}: \n 3755 * .value[0].i32: line height value 3756 * 3757 * @since 20 3758 */ 3759 NODE_TEXT_AREA_LINE_HEIGHT = 8031, 3760 3761 /** 3762 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3763 * 3764 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3765 * .string: default text content. \n 3766 * \n 3767 * Format of the return value {@link ArkUI_AttributeItem}:\n 3768 * .string: default text content. \n 3769 * 3770 */ 3771 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3772 3773 /** 3774 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3775 * 3776 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3777 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3778 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3779 * \n 3780 * Format of the return value {@link ArkUI_AttributeItem}:\n 3781 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3782 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3783 * 3784 */ 3785 NODE_BUTTON_TYPE, 3786 3787 /** 3788 * @brief Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs. 3789 * 3790 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3791 * .value[0].f32: minimum font scale, in fp. 3792 * \n 3793 * Format of the return value {@link ArkUI_AttributeItem}:\n 3794 * .value[0].f32: minimum font scale, in fp. 3795 * 3796 * @since 18 3797 */ 3798 NODE_BUTTON_MIN_FONT_SCALE, 3799 3800 /** 3801 * @brief Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs. 3802 * 3803 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3804 * .value[0].f32: maximum font scale, in fp. 3805 * \n 3806 * Format of the return value {@link ArkUI_AttributeItem}:\n 3807 * .value[0].f32: maximum font scale, in fp. 3808 * 3809 * @since 18 3810 */ 3811 NODE_BUTTON_MAX_FONT_SCALE, 3812 3813 /** 3814 * @brief Defines the current value of the progress indicator. 3815 * This attribute can be set, reset, and obtained as required through APIs. 3816 * 3817 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3818 * .value[0].f32: current value of the progress indicator. \n 3819 * \n 3820 * Format of the return value {@link ArkUI_AttributeItem}:\n 3821 * .value[0].f32: current value of the progress indicator. \n 3822 * 3823 */ 3824 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3825 /** 3826 * @brief Defines the total value of the progress indicator. 3827 * This attribute can be set, reset, and obtained as required through APIs. 3828 * 3829 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3830 * .value[0].f32: total value of the progress indicator. \n 3831 * \n 3832 * Format of the return value {@link ArkUI_AttributeItem}:\n 3833 * .value[0].f32: total value of the progress indicator. \n 3834 * 3835 */ 3836 NODE_PROGRESS_TOTAL, 3837 /** 3838 * @brief Defines the color for the progress value on the progress indicator. 3839 * This attribute can be set, reset, and obtained as required through APIs. 3840 * 3841 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3842 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3843 * \n 3844 * Format of the return value {@link ArkUI_AttributeItem}:\n 3845 * .value[0].u32: color value, in 0xARGB format. \n 3846 * 3847 */ 3848 NODE_PROGRESS_COLOR, 3849 /** 3850 * @brief Defines the type of the progress indicator. 3851 * This attribute can be set, reset, and obtained as required through APIs. 3852 * 3853 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3854 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3855 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3856 * \n 3857 * Format of the return value {@link ArkUI_AttributeItem}:\n 3858 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3859 * 3860 */ 3861 NODE_PROGRESS_TYPE, 3862 /** 3863 * @brief Sets the style of the linear progress indicator. 3864 * This attribute can be set, reset, and obtained as required through APIs. 3865 * If the progress indicator type is not linear, it will not take effect. 3866 * 3867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3868 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3869 * \n 3870 * Format of the return value {@link ArkUI_AttributeItem}:\n 3871 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3872 * 3873 * @since 15 3874 */ 3875 NODE_PROGRESS_LINEAR_STYLE, 3876 3877 /** 3878 * @brief Defines whether the check box is selected. 3879 * This attribute can be set, reset, and obtained as required through APIs. 3880 * 3881 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3882 * .value[0].i32: whether the check box is selected. 3883 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3884 * \n 3885 * Format of the return value {@link ArkUI_AttributeItem}:\n 3886 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3887 * 3888 */ 3889 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3890 3891 /** 3892 * @brief Defines the color of the check box when it is selected. 3893 * This attribute can be set, reset, and obtained as required through APIs. 3894 * 3895 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3896 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3897 * \n 3898 * Format of the return value {@link ArkUI_AttributeItem}:\n 3899 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3900 * 3901 */ 3902 NODE_CHECKBOX_SELECT_COLOR, 3903 3904 /** 3905 * @brief Defines the border color of the check box when it is not selected. 3906 * This attribute can be set, reset, and obtained as required through APIs. 3907 * 3908 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3909 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3910 * \n 3911 * Format of the return value {@link ArkUI_AttributeItem}:\n 3912 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3913 * 3914 */ 3915 NODE_CHECKBOX_UNSELECT_COLOR, 3916 3917 /** 3918 * @brief Defines the internal icon style of the check box. 3919 * This attribute can be set, reset, and obtained as required through APIs. 3920 * 3921 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3922 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3923 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 3924 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 3925 * \n 3926 * Format of the return value {@link ArkUI_AttributeItem}:\n 3927 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3928 * .value[1].f32: size of the internal mark, in vp. \n 3929 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 3930 * 3931 */ 3932 NODE_CHECKBOX_MARK, 3933 3934 /** 3935 * @brief Defines the shape of the check box. 3936 * This attribute can be set, reset, and obtained as required through APIs. 3937 * 3938 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3939 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 3940 * \n 3941 * Format of the return value {@link ArkUI_AttributeItem}:\n 3942 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 3943 * 3944 */ 3945 NODE_CHECKBOX_SHAPE, 3946 3947 /** 3948 * @brief Defines the name of the checkbox. 3949 * This attribute can be set, reset, and obtained as required through APIs. 3950 * 3951 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3952 * .string: component name. \n 3953 * \n 3954 * Format of the return value {@link ArkUI_AttributeItem}:\n 3955 * .string: component name. \n 3956 * 3957 * @since 15 3958 */ 3959 NODE_CHECKBOX_NAME, 3960 3961 /** 3962 * @brief Defines the name of the checkbox. 3963 * This attribute can be set, reset, and obtained as required through APIs. 3964 * 3965 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3966 * .string: component name. \n 3967 * \n 3968 * Format of the return value {@link ArkUI_AttributeItem}:\n 3969 * .string: component name. \n 3970 * 3971 * @since 15 3972 */ 3973 NODE_CHECKBOX_GROUP, 3974 3975 /** 3976 * @brief Defines the ID of the <b><XComponent></b> component. 3977 * This attribute can be set and obtained as required through APIs. 3978 * 3979 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3980 * .string: component ID. \n 3981 * \n 3982 * Format of the return value {@link ArkUI_AttributeItem}:\n 3983 * .string: component ID. \n 3984 * 3985 */ 3986 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 3987 /** 3988 * @brief Specifies the type of the <b>XComponent</b> component. This attribute is read-only. \n 3989 * The type of the <b>XComponent</b> component must be explicitly set during creation using {@link ARKUI_NODE_XCOMPONENT} or {@link ARKUI_NODE_XCOMPONENT_TEXTURE}, and cannot be modified afterward. \n 3990 * Attempting to change the type through {@link setAttribute} will cause rendering exceptions. 3991 * 3992 * Format of the return value {@link ArkUI_AttributeItem}:\n 3993 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 3994 * 3995 */ 3996 NODE_XCOMPONENT_TYPE, 3997 /** 3998 * @brief Specifies the size of the <b>XComponent</b> component. This attribute is read-only. \n 3999 * Attempting to modify the size through {@link setAttribute} will have no effect. 4000 * 4001 * Format of the return value {@link ArkUI_AttributeItem}:\n 4002 * .value[0].u32: width, in px. \n 4003 * .value[1].u32: height, in px. \n 4004 * 4005 */ 4006 NODE_XCOMPONENT_SURFACE_SIZE, 4007 /** 4008 * @brief Defines the rectangle information of surface created by the <b><XComponent></b> component. 4009 * This attribute can be set and obtained as required through APIs. 4010 * 4011 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4012 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 4013 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 4014 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 4015 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 4016 * \n 4017 * Format of the return value {@link ArkUI_AttributeItem}:\n 4018 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4019 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 4020 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 4021 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 4022 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 4023 * @since 18 4024 */ 4025 NODE_XCOMPONENT_SURFACE_RECT, 4026 /** 4027 * @brief Defines whether to enable the AI analyzer for the <b><XComponent></b> component. 4028 * This attribute can be set and obtained as required through APIs. 4029 * 4030 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4031 * value[0].i32: The parameter type is 1 or 0. 4032 * \n 4033 * Format of the return value {@link ArkUI_AttributeItem}:\n 4034 * value[0].i32: The parameter type is 1 or 0. 4035 * @since 18 4036 */ 4037 NODE_XCOMPONENT_ENABLE_ANALYZER, 4038 4039 /** 4040 * @brief Defines whether to display the lunar calendar in the date picker. 4041 * This attribute can be set, reset, and obtained as required through APIs. 4042 * 4043 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4044 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 4045 * \n 4046 * Format of the return value {@link ArkUI_AttributeItem}:\n 4047 * .value[0].i32: whether to display the lunar calendar in the date picker. 4048 * 4049 */ 4050 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 4051 /** 4052 * @brief Defines the start date of the date picker. 4053 * This attribute can be set, reset, and obtained as required through APIs. 4054 * 4055 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4056 * .string: date. The default value is <b>"1970-1-1"</b>. \n 4057 * \n 4058 * Format of the return value {@link ArkUI_AttributeItem}:\n 4059 * .string: date. \n 4060 * 4061 */ 4062 NODE_DATE_PICKER_START, 4063 /** 4064 * @brief Defines the end date of the date picker. 4065 * This attribute can be set, reset, and obtained as required through APIs. 4066 * 4067 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4068 * .string: date. The default value is <b>"2100-12-31"</b>. \n 4069 * \n 4070 * Format of the return value {@link ArkUI_AttributeItem}:\n 4071 * .string: date. \n 4072 * 4073 */ 4074 NODE_DATE_PICKER_END, 4075 /** 4076 * @brief Defines the selected date of the date picker. 4077 * This attribute can be set, reset, and obtained as required through APIs. 4078 * 4079 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4080 * .string: date. The default value is <b>"2024-01-22"</b>. \n 4081 * \n 4082 * Format of the return value {@link ArkUI_AttributeItem}:\n 4083 * .string: date. 4084 * 4085 */ 4086 NODE_DATE_PICKER_SELECTED, 4087 /** 4088 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 4089 * This attribute can be set, reset, and obtained as required through APIs. 4090 * 4091 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4092 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4093 * Parameter 1: font color, in #ARGB format.\n 4094 * Parameter 2: font size, in fp. The value is a number.\n 4095 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4096 * Parameter 4: fonts, separated by commas (,).\n 4097 * Parameter 5: font style. Available options are ("normal", "italic").\n 4098 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4099 * \n 4100 * Format of the return value {@link ArkUI_AttributeItem}:\n 4101 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4102 * Parameter 1: font color, in #ARGB format.\n 4103 * Parameter 2: font size, in fp. The value is a number.\n 4104 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4105 * Parameter 4: fonts, separated by commas (,).\n 4106 * Parameter 5: font style. Available options are ("normal", "italic").\n 4107 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4108 * 4109 */ 4110 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 4111 /** 4112 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 4113 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 4114 * 4115 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4116 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4117 * Parameter 1: font color, in #ARGB format.\n 4118 * Parameter 2: font size, in fp. The value is a number.\n 4119 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4120 * Parameter 4: fonts, separated by commas (,).\n 4121 * Parameter 5: font style. Available options are ("normal", "italic").\n 4122 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4123 * \n 4124 * Format of the return value {@link ArkUI_AttributeItem}:\n 4125 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4126 * Parameter 1: font color, in #ARGB format.\n 4127 * Parameter 2: font size, in fp. The value is a number.\n 4128 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4129 * Parameter 4: fonts, separated by commas (,).\n 4130 * Parameter 5: font style. Available options are ("normal", "italic").\n 4131 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4132 * 4133 */ 4134 NODE_DATE_PICKER_TEXT_STYLE, 4135 /** 4136 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 4137 * This attribute can be set, reset, and obtained as required through APIs. 4138 * 4139 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4140 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4141 * Parameter 1: font color, in #ARGB format.\n 4142 * Parameter 2: font size, in fp. The value is a number.\n 4143 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4144 * Parameter 4: fonts, separated by commas (,).\n 4145 * Parameter 5: font style. Available options are ("normal", "italic").\n 4146 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4147 * \n 4148 * Format of the return value {@link ArkUI_AttributeItem}:\n 4149 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4150 * Parameter 1: font color, in #ARGB format.\n 4151 * Parameter 2: font size, in fp. The value is a number.\n 4152 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4153 * Parameter 4: fonts, separated by commas (,).\n 4154 * Parameter 5: font style. Available options are ("normal", "italic").\n 4155 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4156 * 4157 */ 4158 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 4159 /** 4160 * @brief Defines the mode of the date picker. 4161 * This attribute can be set, reset, and obtained as required through APIs. 4162 * 4163 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4164 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 4165 * \n 4166 * Format of the return value {@link ArkUI_AttributeItem}:\n 4167 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 4168 * 4169 * @since 18 4170 */ 4171 NODE_DATE_PICKER_MODE = 13007, 4172 /** 4173 * @brief Defines whether haptic feedback. 4174 * This attribute can be set, reset, and obtained as required through APIs. 4175 * 4176 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4177 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4178 * <b>false</b> means the opposite.\n 4179 * \n 4180 * Format of the return value {@link ArkUI_AttributeItem}:\n 4181 * value[0].i32: whether to feedback.\n 4182 * 4183 * @since 18 4184 */ 4185 NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK = 13008, 4186 /** 4187 * @brief Defines whether to support scroll looping for the date picker. 4188 * This attribute can be set, reset, and obtained as required through APIs. 4189 * 4190 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4191 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4192 * <b>false</b> means the opposite.\n 4193 * \n 4194 * Format of the return value {@link ArkUI_AttributeItem}:\n 4195 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4196 * 4197 * @since 20 4198 */ 4199 NODE_DATE_PICKER_CAN_LOOP = 13009, 4200 /** 4201 * @brief Defines the time of the selected item. in the timer picker. 4202 * This attribute can be set, reset, and obtained as required through APIs. 4203 * 4204 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4205 * .string: time. The default value is the current system time. \n 4206 * \n 4207 * Format of the return value {@link ArkUI_AttributeItem}:\n 4208 * .string: time. 4209 * 4210 */ 4211 4212 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 4213 /** 4214 * @brief Defines whether the display time is in 24-hour format. 4215 * This attribute can be set, reset, and obtained as required through APIs. 4216 * 4217 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4218 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 4219 * \n 4220 * Format of the return value {@link ArkUI_AttributeItem}:\n 4221 * .value[0].i32: whether the display time is in 24-hour format. 4222 * 4223 */ 4224 NODE_TIME_PICKER_USE_MILITARY_TIME, 4225 /** 4226 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 4227 * This attribute can be set, reset, and obtained as required through APIs. 4228 * 4229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4230 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4231 * Parameter 1: font color, in #ARGB format.\n 4232 * Parameter 2: font size, in fp. The value is a number.\n 4233 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4234 * Parameter 4: fonts, separated by commas (,).\n 4235 * Parameter 5: font style. Available options are ("normal", "italic").\n 4236 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4237 * \n 4238 * Format of the return value {@link ArkUI_AttributeItem}:\n 4239 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4240 * Parameter 1: font color, in #ARGB format.\n 4241 * Parameter 2: font size, in fp. The value is a number.\n 4242 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4243 * Parameter 4: fonts, separated by commas (,).\n 4244 * Parameter 5: font style. Available options are ("normal", "italic").\n 4245 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4246 * 4247 */ 4248 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 4249 /** 4250 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 4251 * in the time picker. This attribute can be set, reset, and obtained as required through APIs. 4252 * 4253 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4254 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4255 * Parameter 1: font color, in #ARGB format.\n 4256 * Parameter 2: font size, in fp. The value is a number.\n 4257 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4258 * Parameter 4: fonts, separated by commas (,).\n 4259 * Parameter 5: font style. Available options are ("normal", "italic").\n 4260 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4261 * \n 4262 * Format of the return value {@link ArkUI_AttributeItem}:\n 4263 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4264 * Parameter 1: font color, in #ARGB format.\n 4265 * Parameter 2: font size, in fp. The value is a number.\n 4266 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4267 * Parameter 4: fonts, separated by commas (,).\n 4268 * Parameter 5: font style. Available options are ("normal", "italic").\n 4269 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4270 * 4271 */ 4272 NODE_TIME_PICKER_TEXT_STYLE, 4273 /** 4274 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 4275 * This attribute can be set, reset, and obtained as required through APIs. 4276 * 4277 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4278 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4279 * Parameter 1: font color, in #ARGB format.\n 4280 * Parameter 2: font size, in fp. The value is a number.\n 4281 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4282 * Parameter 4: fonts, separated by commas (,).\n 4283 * Parameter 5: font style. Available options are ("normal", "italic").\n 4284 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4285 * \n 4286 * Format of the return value {@link ArkUI_AttributeItem}:\n 4287 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4288 * Parameter 1: font color, in #ARGB format.\n 4289 * Parameter 2: font size, in fp. The value is a number.\n 4290 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4291 * Parameter 4: fonts, separated by commas (,).\n 4292 * Parameter 5: font style. Available options are ("normal", "italic").\n 4293 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4294 * 4295 */ 4296 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 4297 /** 4298 * @brief Defines the start time of the time picker. 4299 * This attribute can be set, reset, and obtained as required through APIs. 4300 * 4301 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4302 * .string: time. The default value is <b>"00:00:00"</b>.\n 4303 * \n 4304 * Format of the return value {@link ArkUI_AttributeItem}:\n 4305 * .string: time. The default value is <b>"00:00:00"</b>.\n 4306 * 4307 * @since 18 4308 */ 4309 NODE_TIME_PICKER_START = 14005, 4310 /** 4311 * @brief Defines the end time of the time picker. 4312 * This attribute can be set, reset, and obtained as required through APIs. 4313 * 4314 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4315 * .string: time. The default value is <b>"23:59:59"</b>.\n 4316 * \n 4317 * Format of the return value {@link ArkUI_AttributeItem}:\n 4318 * .string: time. The default value is <b>"23:59:59"</b>.\n 4319 * 4320 * @since 18 4321 */ 4322 NODE_TIME_PICKER_END = 14006, 4323 /** 4324 * @brief Defines whether the AM/PM option is cascaded with the time in 12-hour mode. 4325 * This attribute can be set, reset, and obtained as required through APIs. 4326 * 4327 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4328 * .value[0].i32: whether to enable cascade. The default value is <b>false</b>.\n 4329 * \n 4330 * Format of the return value {@link ArkUI_AttributeItem}:\n 4331 * .value[0].i32: whether to enable cascade.\n 4332 * 4333 * @since 18 4334 */ 4335 NODE_TIME_PICKER_ENABLE_CASCADE = 14007, 4336 4337 /** 4338 * @brief Defines the data selection range of the text picker. 4339 * This attribute can be set, reset, and obtained as required through APIs. 4340 * 4341 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4342 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 4343 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 4344 * ?.string: string input, whose format varies by picker type.\n 4345 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 4346 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4347 * semicolons (;), and strings within each pair are separated by commas (,). \n 4348 * ?.object: Object input, whose format varies by picker type.\n 4349 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 4350 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4351 * \n 4352 * Format of the return value {@link ArkUI_AttributeItem}:\n 4353 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 4354 * ?.string: string output, whose format varies by picker type.\n 4355 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 4356 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4357 * semicolons (;), and strings within each pair are separated by commas (,). \n 4358 * ?.string: Object output, whose format varies by picker type.\n 4359 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 4360 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4361 * 4362 */ 4363 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 4364 /** 4365 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4366 * This attribute can be set, reset, and obtained as required through APIs. 4367 * 4368 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4369 * .value[0].u32: index. If there are multiple index values, add them one by one. \n 4370 * \n 4371 * Format of the return value {@link ArkUI_AttributeItem}:\n 4372 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 4373 * 4374 */ 4375 NODE_TEXT_PICKER_OPTION_SELECTED, 4376 /** 4377 * @brief Defines the value of the default selected item in the text picker. 4378 * This attribute can be set, reset, and obtained as required through APIs. 4379 * 4380 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4381 * .string: value of the selected item. If there are multiple values, add them one by one and 4382 * separate them with semicolons (;). \n 4383 * \n 4384 * Format of the return value {@link ArkUI_AttributeItem}:\n 4385 * .string: value of the selected item. If there are multiple values, add them one by one and 4386 * separate them with semicolons (;).\n 4387 * 4388 */ 4389 NODE_TEXT_PICKER_OPTION_VALUE, 4390 /** 4391 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker. 4392 * This attribute can be set, reset, and obtained as required through APIs. 4393 * 4394 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4395 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4396 * Parameter 1: font color, in #ARGB format.\n 4397 * Parameter 2: font size, in fp. The value is a number.\n 4398 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4399 * Parameter 4: fonts, separated by commas (,).\n 4400 * Parameter 5: font style. Available options are ("normal", "italic").\n 4401 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4402 * \n 4403 * Format of the return value {@link ArkUI_AttributeItem}:\n 4404 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4405 * Parameter 1: font color, in #ARGB format.\n 4406 * Parameter 2: font size, in fp. The value is a number.\n 4407 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4408 * Parameter 4: fonts, separated by commas (,).\n 4409 * Parameter 5: font style. Available options are ("normal", "italic").\n 4410 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4411 * 4412 */ 4413 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 4414 /** 4415 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 4416 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 4417 * 4418 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4419 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4420 * Parameter 1: font color, in #ARGB format.\n 4421 * Parameter 2: font size, in fp. The value is a number.\n 4422 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4423 * Parameter 4: fonts, separated by commas (,).\n 4424 * Parameter 5: font style. Available options are ("normal", "italic").\n 4425 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4426 * \n 4427 * Format of the return value {@link ArkUI_AttributeItem}:\n 4428 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4429 * Parameter 1: font color, in #ARGB format.\n 4430 * Parameter 2: font size, in fp. The value is a number.\n 4431 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4432 * Parameter 4: fonts, separated by commas (,).\n 4433 * Parameter 5: font style. Available options are ("normal", "italic").\n 4434 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4435 * 4436 */ 4437 NODE_TEXT_PICKER_TEXT_STYLE, 4438 /** 4439 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 4440 * This attribute can be set, reset, and obtained as required through APIs. 4441 * 4442 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4443 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4444 * Parameter 1: font color, in #ARGB format.\n 4445 * Parameter 2: font size, in fp. The value is a number.\n 4446 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4447 * Parameter 4: fonts, separated by commas (,).\n 4448 * Parameter 5: font style. Available options are ("normal", "italic").\n 4449 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4450 * \n 4451 * Format of the return value {@link ArkUI_AttributeItem}:\n 4452 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4453 * Parameter 1: font color, in #ARGB format.\n 4454 * Parameter 2: font size, in fp. The value is a number.\n 4455 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4456 * Parameter 4: fonts, separated by commas (,).\n 4457 * Parameter 5: font style. Available options are ("normal", "italic").\n 4458 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4459 * 4460 */ 4461 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 4462 /** 4463 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4464 * This attribute can be set, reset, and obtained as required through APIs. 4465 * 4466 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4467 * .value[0...].i32: index of the default item in the data selection range. 4468 * 4469 */ 4470 NODE_TEXT_PICKER_SELECTED_INDEX, 4471 /** 4472 * @brief Defines whether to support scroll looping for the text picker. 4473 * This attribute can be set, reset, and obtained as required through APIs. 4474 * 4475 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4476 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4477 * <b>false</b> means the opposite.\n \n 4478 * \n 4479 * Format of the return value {@link ArkUI_AttributeItem}:\n 4480 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4481 * 4482 */ 4483 NODE_TEXT_PICKER_CAN_LOOP, 4484 /** 4485 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 4486 * through APIs. 4487 * 4488 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4489 * .value[0].f32: item height, in vp. \n 4490 * \n 4491 * Format of the return value {@link ArkUI_AttributeItem}:\n 4492 * value[0].f32: item height, in vp. \n 4493 * 4494 */ 4495 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 4496 /** 4497 * @brief Defines whether haptic feedback. 4498 * This attribute can be set, reset, and obtained as required through APIs. 4499 * 4500 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4501 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4502 * <b>false</b> means the opposite.\n 4503 * \n 4504 * Format of the return value {@link ArkUI_AttributeItem}:\n 4505 * value[0].i32: whether to feedback.\n 4506 * 4507 * @since 18 4508 */ 4509 NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK = 15010, 4510 /** 4511 * @brief Defines the background color and border radius of the selected items. 4512 * This attribute can be set, reset, and obtained as required through APIs. 4513 * 4514 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4515 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4516 * 1: .value[1].f32: radius of the four corners. \n 4517 * 2: .value[1].f32: radius of the upper left corner. \n 4518 * .value[2].f32: radius of the upper right corner. \n 4519 * .value[3].f32: radius of the lower left corner. \n 4520 * .value[4].f32: radius of the lower right corner. \n 4521 * \n 4522 * Format of the return value {@link ArkUI_AttributeItem}:\n 4523 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n * 4524 * .value[1].f32: radius of the upper left corner. \n 4525 * .value[2].f32: radius of the upper right corner. \n 4526 * .value[3].f32: radius of the lower left corner. \n 4527 * .value[4].f32: radius of the lower right corner. \n 4528 * 4529 * @since 20 4530 */ 4531 NODE_TEXT_PICKER_SELECTED_BACKGROUND_STYLE = 15011, 4532 /** 4533 * @brief Defines the style of the background in the selected state of the calendar picker. 4534 * This attribute can be set, reset, and obtained as required through APIs. 4535 * 4536 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4537 * .value[0].f32: style of the background in the selected state of the calendar picker. 4538 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 4539 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 4540 * or greater than 16, the background is a circle. \n 4541 * \n 4542 * Format of the return value {@link ArkUI_AttributeItem}:\n 4543 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 4544 * If the value is <b>0</b>, the background is a rectangle with square corners. 4545 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 4546 * greater than 16, the background is a circle. \n 4547 * 4548 */ 4549 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 4550 /** 4551 * @brief Defines the date of the selected item in the calendar picker. 4552 * This attribute can be set, reset, and obtained as required through APIs. 4553 * 4554 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4555 * .value[0].u32: year of the selected date. \n 4556 * .value[1].u32: month of the selected date. \n 4557 * .value[2].u32: day of the selected date. \n 4558 * \n 4559 * Format of the return value {@link ArkUI_AttributeItem}:\n 4560 * .value[0].u32: year of the selected date. \n 4561 * .value[1].u32: month of the selected date. \n 4562 * .value[2].u32: day of the selected date. \n 4563 * 4564 */ 4565 NODE_CALENDAR_PICKER_SELECTED_DATE, 4566 /** 4567 * @brief Defines how the calendar picker is aligned with the entry component. 4568 * This attribute can be set, reset, and obtained as required through APIs. 4569 * 4570 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4571 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4572 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4573 * the specified alignment mode. \n 4574 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4575 * the specified alignment mode. \n 4576 * \n 4577 * Format of the return value {@link ArkUI_AttributeItem}:\n 4578 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4579 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4580 * the specified alignment mode. \n 4581 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4582 * the specified alignment mode. \n 4583 * 4584 */ 4585 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 4586 /** 4587 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 4588 * 4589 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4590 * .value[0]?.u32: font color of the entry area. \n 4591 * .value[1]?.f32: font size of the entry area, in fp. \n 4592 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4593 * \n 4594 * Format of the return value {@link ArkUI_AttributeItem}:\n 4595 * .value[0].u32: font color of the entry area. \n 4596 * .value[1].f32: font size of the entry area, in fp. \n 4597 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4598 * 4599 */ 4600 NODE_CALENDAR_PICKER_TEXT_STYLE, 4601 /** 4602 * @brief Defines the start date of the calendar picker. 4603 * This attribute can be set, reset, and obtained as required through APIs. 4604 * 4605 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4606 * .string: date. The value like <b>"1970-1-1"</b>. \n 4607 * \n 4608 * Format of the return value {@link ArkUI_AttributeItem}:\n 4609 * .string: date. \n 4610 * 4611 * @since 18 4612 */ 4613 NODE_CALENDAR_PICKER_START = 16004, 4614 /** 4615 * @brief Defines the end date of the calendar picker. 4616 * This attribute can be set, reset, and obtained as required through APIs. 4617 * 4618 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4619 * .string: date. The value like <b>"2100-12-31"</b>. \n 4620 * \n 4621 * Format of the return value {@link ArkUI_AttributeItem}:\n 4622 * .string: date. \n 4623 * 4624 * @since 18 4625 */ 4626 NODE_CALENDAR_PICKER_END = 16005, 4627 /** 4628 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 4629 * 4630 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4631 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4632 * \n 4633 * Format of the return value {@link ArkUI_AttributeItem}:\n 4634 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4635 * 4636 */ 4637 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 4638 4639 /** 4640 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 4641 * through APIs. 4642 * 4643 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4644 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4645 * \n 4646 * Format of the return value {@link ArkUI_AttributeItem}:\n 4647 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4648 * 4649 */ 4650 NODE_SLIDER_TRACK_COLOR, 4651 4652 /** 4653 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 4654 * as required through APIs. 4655 * 4656 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4657 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4658 * \n 4659 * Format of the return value {@link ArkUI_AttributeItem}:\n 4660 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4661 * 4662 */ 4663 NODE_SLIDER_SELECTED_COLOR, 4664 4665 /** 4666 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 4667 * through APIs. 4668 * 4669 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4670 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4671 * and <b>0</b> (default value) means the opposite. \n 4672 * \n 4673 * Format of the return value {@link ArkUI_AttributeItem}:\n 4674 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4675 * and <b>0</b> (default value) means the opposite. \n 4676 * 4677 */ 4678 NODE_SLIDER_SHOW_STEPS, 4679 4680 /** 4681 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 4682 * 4683 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4684 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4685 * .string?: depending on the shape. Optional. \n 4686 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4687 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4688 * There are five types:\n 4689 * 1. Rectangle:\n 4690 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4691 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4692 * .value[2].f32: width of the rectangle.\n 4693 * .value[3].f32: height of the rectangle.\n 4694 * .value[4].f32: width of the rounded corner of the rectangle.\n 4695 * .value[5].f32: height of the rounded corner of the rectangle.\n 4696 * 2. Circle:\n 4697 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4698 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4699 * .value[2].f32: width of the circle.\n 4700 * .value[3].f32: height of the circle.\n 4701 * 3.Ellipse:\n 4702 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4703 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4704 * .value[2].f32: width of the ellipse.\n 4705 * .value[3].f32: height of the ellipse;\n 4706 * 4. Path:\n 4707 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4708 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4709 * .value[2].f32: width of the path.\n 4710 * .value[3].f32: height of the path.\n 4711 * .string: command for drawing the path.\n 4712 * \n 4713 * Format of the return value {@link ArkUI_AttributeItem}:\n 4714 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4715 * .string?: depending on the shape. Optional. \n 4716 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4717 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4718 * There are five types:\n 4719 * 1. Rectangle:\n 4720 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4721 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4722 * .value[2].f32: width of the rectangle.\n 4723 * .value[3].f32: height of the rectangle.\n 4724 * .value[4].f32: width of the rounded corner of the rectangle.\n 4725 * .value[5].f32: height of the rounded corner of the rectangle.\n 4726 * 2. Circle:\n 4727 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4728 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4729 * .value[2].f32: width of the circle.\n 4730 * .value[3].f32: height of the circle.\n 4731 * 3.Ellipse:\n 4732 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4733 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4734 * .value[2].f32: width of the ellipse.\n 4735 * .value[3].f32: height of the ellipse;\n 4736 * 4. Path:\n 4737 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4738 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4739 * .value[2].f32: width of the path.\n 4740 * .value[3].f32: height of the path.\n 4741 * .string: command for drawing the path.\n 4742 * 4743 */ 4744 NODE_SLIDER_BLOCK_STYLE, 4745 4746 /** 4747 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 4748 * through APIs. 4749 * 4750 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4751 * .value[0].f32: current value. \n 4752 * \n 4753 * Format of the return value {@link ArkUI_AttributeItem}:\n 4754 * .value[0].f32: current value. 4755 * 4756 */ 4757 NODE_SLIDER_VALUE, 4758 4759 /** 4760 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 4761 * through APIs. 4762 * 4763 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4764 * .value[0].f32: minimum value. \n 4765 * \n 4766 * Format of the return value {@link ArkUI_AttributeItem}:\n 4767 * .value[0].f32: minimum value. 4768 * 4769 */ 4770 NODE_SLIDER_MIN_VALUE, 4771 4772 /** 4773 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 4774 * through APIs. 4775 * 4776 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4777 * .value[0].f32: maximum value. \n 4778 * \n 4779 * Format of the return value {@link ArkUI_AttributeItem}:\n 4780 * .value[0].f32: maximum value. 4781 * 4782 */ 4783 NODE_SLIDER_MAX_VALUE, 4784 4785 /** 4786 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4787 * 4788 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4789 * .value[0].f32: step. The value range is [0.01, 100]. \n 4790 * \n 4791 * Format of the return value {@link ArkUI_AttributeItem}:\n 4792 * .value[0].f32: step. The value range is [0.01, 100]. 4793 * 4794 */ 4795 NODE_SLIDER_STEP, 4796 4797 /** 4798 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4799 * obtained as required through APIs. 4800 * 4801 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4802 * .value[0].i32: whether the slider moves horizontally or vertically. 4803 * The parameter type is {@link ArkUI_SliderDirection}. \n 4804 * \n 4805 * Format of the return value {@link ArkUI_AttributeItem}:\n 4806 * .value[0].i32: whether the slider moves horizontally or vertically. 4807 * 4808 */ 4809 NODE_SLIDER_DIRECTION, 4810 4811 /** 4812 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4813 * through APIs. 4814 * 4815 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4816 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4817 * reversed, and <b>0</b> means the opposite. \n 4818 * \n 4819 * Format of the return value {@link ArkUI_AttributeItem}:\n 4820 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4821 * reversed, and <b>0</b> means the opposite. 4822 * 4823 */ 4824 NODE_SLIDER_REVERSE, 4825 4826 /** 4827 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4828 * as required through APIs. 4829 * 4830 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4831 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4832 * \n 4833 * Format of the return value {@link ArkUI_AttributeItem}:\n 4834 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4835 * 4836 */ 4837 NODE_SLIDER_STYLE, 4838 4839 /** 4840 * @brief Sets the track thickness of the slider. 4841 * This attribute can be set, reset, and obtained as required through APIs. 4842 * 4843 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4844 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4845 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4846 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4847 * \n 4848 * Format of the return value {@link ArkUI_AttributeItem}:\n 4849 * .value[0].f32: track thickness of the slider, in vp. \n 4850 * 4851 */ 4852 NODE_SLIDER_TRACK_THICKNESS, 4853 4854 /** 4855 * @brief Defines whether haptic feedback. 4856 * This attribute can be set, reset, and obtained as required through APIs. 4857 * 4858 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4859 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4860 * <b>false</b> means the opposite.\n 4861 * \n 4862 * Format of the return value {@link ArkUI_AttributeItem}:\n 4863 * value[0].i32: whether to feedback.\n 4864 * When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the 4865 * requestPermissions field of the module.json5 file to enable vibration permission.\n 4866 * 4867 * @since 18 4868 */ 4869 NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK = 17013, 4870 4871 /** 4872 * @brief Sets a custom component on the leading side of the Slider component. 4873 * 4874 * Attribute setting method {@link ArkUI_AttributeItem} parameter format:\n 4875 * .object: Parameter type {@link ArkUI_NodeHandle}. 4876 * 4877 * The prefix component will be placed at the start position of the Slider, 4878 * typically on the left side in LTR layouts. 4879 * 4880 * @since 20 4881 */ 4882 NODE_SLIDER_PREFIX, 4883 4884 /** 4885 * @brief Sets a custom component on the trailing side of the Slider component. 4886 * 4887 * Attribute setting method {@link link ArkUI_AttributeItem} parameter format:\n 4888 * .object: Parameter type {@link ArkUI_NodeHandle}. 4889 * 4890 * The suffix component will be placed at the end position of the Slider, 4891 * typically on the right side in LTR layouts. 4892 * 4893 * @since 20 4894 */ 4895 NODE_SLIDER_SUFFIX, 4896 4897 /** 4898 * @brief Set the selection status of an option button. Attribute setting, 4899 * attribute resetting, and attribute obtaining are supported. 4900 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4901 * .value[0].i32: check status of an option button. The default value is false. 4902 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4903 * .value[0].i32: selection status of an option button. 4904 */ 4905 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4906 /** 4907 * @brief Set the styles of the selected and deselected states of the option button. 4908 * The attribute setting, attribute resetting, and attribute obtaining are supported. 4909 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4910 * .value[0]?. u32: color of the mother board in enabled state. \n 4911 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4912 * .value[1]?. u32: stroke color in the close state. The type is 0xARGB, \n 4913 * and the default value is 0xFF182431. \n 4914 * .value[2]?. u32: color of the internal round pie in the enabled state. \n 4915 * The type is 0xARGB, and the default value is 0xFFFFFFFF. \n 4916 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4917 * .value[0]. u32: color of the mother board in enabled state. \n 4918 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4919 * .value[1]. u32: stroke color in the close state. The type is 0xARGB, \n 4920 * and the default value is 0xFF182431. \n 4921 * .value[2]. u32: color of the internal round pie in the enabled state. \n 4922 * The type is 0xARGB, and the default value is 0xFFFFFFF. \n 4923 */ 4924 NODE_RADIO_STYLE, 4925 /** 4926 * @brief Sets the value of the current radio. 4927 * This attribute can be set, reset, and obtained as required through APIs. 4928 * 4929 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4930 * .string: radio value.\n 4931 * \n 4932 * Format of the return value {@link ArkUI_AttributeItem}:\n 4933 * .string: radio value.\n 4934 * 4935 */ 4936 NODE_RADIO_VALUE, 4937 /** 4938 * @brief Set the group name of the current Radio group, only one radio of the same group can be selected. 4939 * This attribute can be set, reset, and obtained as required through APIs. 4940 * 4941 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4942 * .string: name of the group to which the current option box belongs.\n 4943 * \n 4944 * Format of the return value {@link ArkUI_AttributeItem}:\n 4945 * .string: name of the group to which the current option box belongs.\n 4946 * 4947 */ 4948 NODE_RADIO_GROUP, 4949 4950 /** 4951 * @brief Set the image frames for the image animator. Dynamic updates is not supported. 4952 * This attribute can be set, reset, and obtained as required through APIs. 4953 * 4954 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4955 * .size: number of the images.\n 4956 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4957 * \n 4958 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4959 * .size: number of the images.\n 4960 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4961 * 4962 */ 4963 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 4964 /** 4965 * @brief Set the playback status of the animation for the image animator. 4966 * This attribute can be set, reset, and obtained as required through APIs. 4967 * 4968 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4969 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}, 4970 * and the default value is ARKUI_ANIMATION_STATUS_INITIAL. 4971 * 4972 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4973 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}.\n 4974 * 4975 */ 4976 NODE_IMAGE_ANIMATOR_STATE = 19001, 4977 /** 4978 * @brief Set the playback duration for the image animator. When the duration is 0, no image is played. 4979 * The value change takes effect only at the beginning of the next cycle. 4980 * When a separate duration is set in images, the setting of this attribute is invalid. 4981 * This attribute can be set, reset, and obtained as required through APIs. 4982 * 4983 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4984 * .value[0].i32: the playback duration, the unit is ms and the default value is 1000.\n 4985 * 4986 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4987 * .value[0].i32: the playback duration, the unit is ms.\n 4988 * 4989 */ 4990 NODE_IMAGE_ANIMATOR_DURATION = 19002, 4991 /** 4992 * @brief Set the playback direction for the image animator. 4993 * This attribute can be set, reset, and obtained as required through APIs. 4994 * 4995 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4996 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 4997 * and 1 indicates that images are played from the last one to the first one.\n 4998 * 4999 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 5000 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 5001 * and 1 indicates that images are played from the last one to the first one.\n 5002 * 5003 */ 5004 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 5005 /** 5006 * @brief Set whether the image size is the same as the component size. 5007 * This attribute can be set, reset, and obtained as required through APIs. 5008 * 5009 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 5010 * .value[0].i32: whether the image size is the same as the component size. 5011 * 1 indicates the image size is the same as the component size. 5012 * In this case, the width, height, top, and left attributes of the image are invalid. 5013 * 0 indicates the image size is customized. 5014 * The width, height, top, and left attributes of each image must be set separately. 5015 * 5016 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 5017 * .value[0].i32: whether the image size is the same as the component size. 5018 * 1 indicates the image size is the same as the component size. 5019 * 0 indicates the image size is customized. 5020 * 5021 */ 5022 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 5023 /** 5024 * @brief Set the status before and after execution of the animation in the current playback direction. 5025 * This attribute can be set, reset, and obtained as required through APIs. 5026 * 5027 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 5028 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 5029 * the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.\n 5030 * 5031 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 5032 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 5033 * the type is {ArkUI_AnimationFillMode}. 5034 * 5035 */ 5036 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 5037 /** 5038 * @brief Set the number of times that the animation is played. 5039 * This attribute can be set, reset, and obtained as required through APIs. 5040 * 5041 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 5042 * .value[0].i32: the number of times that the animation is played.\n 5043 * 5044 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 5045 * .value[0].i32: the number of times that the animation is played.\n 5046 * 5047 */ 5048 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 5049 5050 /** 5051 * @brief Defines the name of the checkboxgroup. 5052 * This attribute can be set, reset, and obtained as required through APIs. 5053 * 5054 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5055 * .string: component name. \n 5056 * \n 5057 * Format of the return value {@link ArkUI_AttributeItem}:\n 5058 * .string: component name. \n 5059 * 5060 * @since 15 5061 */ 5062 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 5063 5064 /** 5065 * @brief Defines whether the checkboxgroup is selected. 5066 * This attribute can be set, reset, and obtained as required through APIs. 5067 * 5068 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5069 * .value[0].i32: whether the checkboxgroup is selected. 5070 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 5071 * \n 5072 * Format of the return value {@link ArkUI_AttributeItem}:\n 5073 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 5074 * 5075 * @since 15 5076 */ 5077 NODE_CHECKBOX_GROUP_SELECT_ALL, 5078 5079 /** 5080 * @brief Defines the color of the checkboxgroup when it is selected. 5081 * This attribute can be set, reset, and obtained as required through APIs. 5082 * 5083 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5084 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 5085 * for example, <b>0xFF1122FF</b>. \n 5086 * \n 5087 * Format of the return value {@link ArkUI_AttributeItem}:\n 5088 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 5089 * 5090 * @since 15 5091 */ 5092 NODE_CHECKBOX_GROUP_SELECTED_COLOR, 5093 /** 5094 * @brief Defines the border color of the checkboxgroup when it is not selected. 5095 * This attribute can be set, reset, and obtained as required through APIs. 5096 * 5097 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5098 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 5099 * \n 5100 * Format of the return value {@link ArkUI_AttributeItem}:\n 5101 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 5102 * 5103 * @since 15 5104 */ 5105 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR, 5106 5107 /** 5108 * @brief Defines the internal icon style of the checkboxgroup. 5109 * This attribute can be set, reset, and obtained as required through APIs. 5110 * 5111 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5112 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 5113 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 5114 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 5115 * \n 5116 * Format of the return value {@link ArkUI_AttributeItem}:\n 5117 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 5118 * .value[1].f32: size of the internal mark, in vp. \n 5119 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 5120 * 5121 * @since 15 5122 */ 5123 NODE_CHECKBOX_GROUP_MARK, 5124 5125 /** 5126 * @brief Defines the shape of the checkboxgroup. 5127 * This attribute can be set, reset, and obtained as required through APIs. 5128 * 5129 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5130 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 5131 * \n 5132 * Format of the return value {@link ArkUI_AttributeItem}:\n 5133 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 5134 * 5135 * @since 15 5136 */ 5137 NODE_CHECKBOX_GROUP_SHAPE, 5138 5139 /** 5140 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 5141 * and obtained as required through APIs. 5142 * 5143 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5144 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 5145 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 5146 * \n 5147 * Format of the return value {@link ArkUI_AttributeItem}:\n 5148 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 5149 * 5150 */ 5151 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 5152 5153 /** 5154 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 5155 * 5156 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5157 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 5158 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 5159 * \n 5160 * Format of the return value {@link ArkUI_AttributeItem}:\n 5161 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 5162 * 5163 */ 5164 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 5165 /** 5166 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 5167 * through APIs. 5168 * 5169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5170 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 5171 * \n 5172 * Format of the return value {@link ArkUI_AttributeItem}:\n 5173 * .value[0].f32: width of the scrollbar, in vp. \n 5174 * 5175 */ 5176 NODE_SCROLL_BAR_WIDTH, 5177 /** 5178 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 5179 * through APIs. 5180 * 5181 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5182 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 5183 * \n 5184 * Format of the return value {@link ArkUI_AttributeItem}:\n 5185 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 5186 * 5187 */ 5188 NODE_SCROLL_BAR_COLOR, 5189 /** 5190 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 5191 * 5192 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5193 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 5194 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 5195 * \n 5196 * Format of the return value {@link ArkUI_AttributeItem}:\n 5197 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 5198 * 5199 */ 5200 NODE_SCROLL_SCROLL_DIRECTION, 5201 /** 5202 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 5203 * reached. This attribute can be set, reset, and obtained as required through APIs. 5204 * 5205 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5206 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 5207 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 5208 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 5209 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 5210 * opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the 5211 * Scroll component is <b>1</b>. \n 5212 * .value[2]?.i32: direction in which the effect takes effect. The parameter type is {@link ArkUI_EffectEdge}. 5213 * The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since 5214 * API version 16. \n 5215 * \n 5216 * Format of the return value {@link ArkUI_AttributeItem}:\n 5217 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 5218 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5219 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 5220 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 5221 * .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached. 5222 * The parameter type is {@link ArkUI_EffectEdge}. This parameter is supported since API version 16. \n 5223 * 5224 */ 5225 NODE_SCROLL_EDGE_EFFECT, 5226 /** 5227 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 5228 * finger or mouse is not supported, but the scroll controller API is not affected. 5229 * 5230 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5231 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 5232 * \n 5233 * Format of the return value {@link ArkUI_AttributeItem}:\n 5234 * .value[0].i32: whether to support scroll gestures. \n 5235 * 5236 */ 5237 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 5238 /** 5239 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 5240 * indirectly the scroll chaining during the inertial scrolling process. 5241 * 5242 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5243 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 5244 * for wearable devices. \n 5245 * \n 5246 * Format of the return value {@link ArkUI_AttributeItem}:\n 5247 * .value[0].f32: friction coefficient. 5248 * 5249 */ 5250 NODE_SCROLL_FRICTION, 5251 /** 5252 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 5253 * 5254 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5255 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5256 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5257 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 5258 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5259 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 5260 * snap points.\n 5261 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 5262 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5263 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 5264 * snap points.\n 5265 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 5266 * edge to which the <b><Scroll></b> component can scroll. \n 5267 * \n 5268 * Format of the return value {@link ArkUI_AttributeItem}:\n 5269 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5270 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 5271 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5272 * start edge and the first snap point.\n 5273 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 5274 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5275 * end edge and the last snap point.\n 5276 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 5277 * to which the <b><Scroll></b> component can scroll. \n 5278 * 5279 */ 5280 NODE_SCROLL_SNAP, 5281 5282 /** 5283 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 5284 * through APIs. 5285 * 5286 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5287 * .value[0].i32: nested scrolling option when the component scrolls forward. 5288 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5289 * .value[1].i32: nested scrolling option when the component scrolls backward. 5290 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5291 * \n 5292 * Format of the return value {@link ArkUI_AttributeItem}:\n 5293 * .value[0].i32: nested scrolling option when the component scrolls forward. 5294 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5295 * .value[1].i32: nested scrolling option when the component scrolls backward. 5296 * The parameter type is {@link ArkUI_ScrollNestedMode}. 5297 * 5298 */ 5299 NODE_SCROLL_NESTED_SCROLL, 5300 /** 5301 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 5302 * through APIs. 5303 * 5304 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5305 * .value[0].f32: horizontal scrolling offset, in vp. \n 5306 * .value[1].f32: vertical scrolling offset, in vp. \n 5307 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 5308 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 5309 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 5310 * .value[4]?.i32: whether to enable the default spring animation. Optional. 5311 * The default value <b>0</b> means not to enable the default spring animation. \n 5312 * .value[5]?.i32: whether to convert the scroll animation to an overshoot animation when the boundary is reached. 5313 * Optional. \n 5314 * .value[6]?.i32: whether the component can stop at an overscrolled position. 5315 * This parameter is supported since API version 20. \n 5316 * \n 5317 * Format of the return value {@link ArkUI_AttributeItem}:\n 5318 * .value[0].f32: horizontal scrolling offset, in vp. \n 5319 * .value[1].f32: vertical scrolling offset, in vp. \n 5320 * 5321 */ 5322 NODE_SCROLL_OFFSET, 5323 5324 /** 5325 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 5326 * 5327 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5328 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 5329 * \n 5330 * Format of the return value {@link ArkUI_AttributeItem}:\n 5331 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 5332 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 5333 * 5334 */ 5335 NODE_SCROLL_EDGE, 5336 5337 /** 5338 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 5339 * as required through APIs. 5340 * 5341 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 5342 * <b>enablePaging</b> does not. \n 5343 * \n 5344 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5345 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 5346 * \n 5347 * Format of the return value {@link ArkUI_AttributeItem}:\n 5348 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 5349 * 5350 */ 5351 NODE_SCROLL_ENABLE_PAGING, 5352 5353 /** 5354 * @brief Scroll to the next or previous page. 5355 * 5356 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5357 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 5358 * indicates scroll to previous page. \n 5359 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 5360 * 5361 */ 5362 NODE_SCROLL_PAGE, 5363 5364 /** 5365 * @brief Scroll a specified distance. 5366 * 5367 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5368 * .value[0].f32:Horizontal scrolling distance in vp; \n 5369 * .value[1].f32: Vertical scrolling distance in vp; \n 5370 * 5371 */ 5372 NODE_SCROLL_BY, 5373 5374 /** 5375 * @brief Performs inertial scrolling based on the initial velocity passed in. 5376 * 5377 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5378 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 5379 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 5380 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 5381 * 5382 * @since 13 5383 */ 5384 NODE_SCROLL_FLING, 5385 5386 /** 5387 * @brief Sets the fading effect for the edges of scrollable components. 5388 * 5389 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 5390 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, 5391 * and 1 means to enable it. 5392 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 5393 * 5394 * Format of the return value {@link ArkUI_AttributeItem}: 5395 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is 5396 * disabled, and 1 means that it is enabled. 5397 * .value[1].f32: length of the fading effect on edges, in vp. 5398 * 5399 * @since 14 5400 */ 5401 NODE_SCROLL_FADING_EDGE, 5402 5403 /** 5404 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 5405 * 5406 * Format of the return value {@link ArkUI_AttributeItem}:\n 5407 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 5408 * The default unit is vp. \n 5409 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 5410 * The default unit is vp. \n 5411 * When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the 5412 * nearest pixel when being converted from vp to px. 5413 * The returned values are calculated based on these rounded pixel values. \n 5414 * 5415 * @since 14 5416 */ 5417 NODE_SCROLL_SIZE, 5418 5419 /** 5420 * @brief Sets the offset from the start of the scrollable components content. 5421 * 5422 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5423 * .value[0].f32: offset from the start of the content, in vp. \n 5424 * \n 5425 * Format of the return value {@link ArkUI_AttributeItem}:\n 5426 * .value[0].f32: offset from the start of the content, in vp. \n 5427 * 5428 * @since 15 5429 */ 5430 NODE_SCROLL_CONTENT_START_OFFSET, 5431 5432 /** 5433 * @brief Sets the offset from the end of the scrollable components content. 5434 * 5435 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5436 * .value[0].f32: offset from the end of the content, in vp. \n 5437 * \n 5438 * Format of the return value {@link ArkUI_AttributeItem}:\n 5439 * .value[0].f32: offset from the end of the content, in vp. \n 5440 * 5441 * @since 15 5442 */ 5443 NODE_SCROLL_CONTENT_END_OFFSET, 5444 5445 /** 5446 * @brief Defines the maximum starting fling speed of the scrollable when the fling animation starts. 5447 * This attribute can be set, reset, and obtained as required through APIs. 5448 * 5449 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5450 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5451 * \n 5452 * Format of the return value {@link ArkUI_AttributeItem}: \n 5453 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5454 * 5455 * @since 18 5456 */ 5457 NODE_SCROLL_FLING_SPEED_LIMIT = 1002019, 5458 5459 /** 5460 * @brief Defines the clip mode of the scrollable. 5461 * This attribute can be set, reset, and obtained as required through APIs. 5462 * 5463 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5464 * .value[0].i32: clip content mode, The parameter type is {@link ArkUI_ContentClipMode}. \n 5465 * \n 5466 * Format of the return value {@link ArkUI_AttributeItem}: \n 5467 * .value[0].i32: clip content mode, The parameter type is {@link ArkUI_ContentClipMode}. \n 5468 * 5469 * @since 18 5470 */ 5471 NODE_SCROLL_CLIP_CONTENT = 1002020, 5472 5473 /** 5474 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 5475 * This attribute can be set, reset, and obtained as required through APIs. 5476 * 5477 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5478 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. 5479 * The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. The default value is <b>0/b>. \n 5480 * \n 5481 * Format of the return value {@link ArkUI_AttributeItem}: \n 5482 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 5483 * 5484 * @since 15 5485 */ 5486 NODE_SCROLL_BACK_TO_TOP = 1002021, 5487 5488 /** 5489 * @brief Defines the margin of the scrollbar. 5490 * This attribute can be set, reset, and obtained as required through APIs. 5491 * 5492 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5493 * .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>. \n 5494 * .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>. \n 5495 * \n 5496 * Format of the return value {@link ArkUI_AttributeItem}:\n 5497 * .value[0].f32: start margin of the scrollbar, in vp. \n 5498 * .value[1].f32: end margin of the scrollbar, in vp. \n 5499 * 5500 * @since 20 5501 */ 5502 NODE_SCROLL_BAR_MARGIN = 1002022, 5503 5504 /** 5505 * @brief Sets the maximum zoom scale for scrollable content. 5506 * 5507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5508 * .value[0].f32: maximum zoom scale to set. \n 5509 * \n 5510 * Format of the return value {@link ArkUI_AttributeItem}:\n 5511 * .value[0].f32: current maximum zoom scale. \n 5512 * 5513 * @since 20 5514 */ 5515 NODE_SCROLL_MAX_ZOOM_SCALE = 1002023, 5516 5517 /** 5518 * @brief Sets the minimum zoom scale for scrollable content. 5519 * 5520 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5521 * .value[0].f32: minimum zoom scale to set. \n 5522 * \n 5523 * Format of the return value {@link ArkUI_AttributeItem}:\n 5524 * .value[0].f32: current minimum zoom scale. \n 5525 * 5526 * @since 20 5527 */ 5528 NODE_SCROLL_MIN_ZOOM_SCALE = 1002024, 5529 5530 /** 5531 * @brief Sets the zoom scale for scrollable content. 5532 * 5533 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5534 * .value[0].f32: zoom scale to set. \n 5535 * \n 5536 * Format of the return value {@link ArkUI_AttributeItem}:\n 5537 * .value[0].f32: current zoom scale. \n 5538 * 5539 * @since 20 5540 */ 5541 NODE_SCROLL_ZOOM_SCALE = 1002025, 5542 5543 /** 5544 * @brief Sets whether to enable the zoom bounce effect when the scaling exceeds the limits. 5545 * 5546 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5547 * .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits. 5548 * The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite. \n 5549 * \n 5550 * Format of the return value {@link ArkUI_AttributeItem}:\n 5551 * .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits. 5552 * The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite. \n 5553 * 5554 * @since 20 5555 */ 5556 NODE_SCROLL_ENABLE_BOUNCES_ZOOM = 1002026, 5557 5558 /** 5559 * @brief Sets the direction in which the list items are arranged. 5560 * This attribute can be set, reset, and obtained as required through APIs. 5561 * 5562 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5563 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 5564 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 5565 * \n 5566 * Format of the return value {@link ArkUI_AttributeItem}:\n 5567 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 5568 * 5569 */ 5570 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 5571 /** 5572 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5573 * component. This attribute can be set, reset, and obtained as required through APIs. 5574 * 5575 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5576 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5577 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5578 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 5579 * \n 5580 * Format of the return value {@link ArkUI_AttributeItem}:\n 5581 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5582 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5583 * {@link ArkUI_StickyStyle}. 5584 * 5585 */ 5586 NODE_LIST_STICKY, 5587 /** 5588 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 5589 * through APIs. 5590 * 5591 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5592 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 5593 * \n 5594 * Format of the return value {@link ArkUI_AttributeItem}:\n 5595 * .value[0].f32: spacing between list items along the main axis. \n 5596 * 5597 */ 5598 NODE_LIST_SPACE, 5599 /** 5600 * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs. 5601 * 5602 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5603 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5604 */ 5605 NODE_LIST_NODE_ADAPTER, 5606 5607 /** 5608 * @brief Sets the number of cached items in the list adapter. 5609 * This attribute can be set, reset, and obtained as required through APIs. 5610 * 5611 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5612 * .value[0].i32: number of cached items in the list adapter. \n 5613 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5614 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 5615 * \n 5616 * Format of the return value {@link ArkUI_AttributeItem}:\n 5617 * .value[0].i32: number of cached items in the list adapter. \n 5618 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5619 * to show cached items. This parameter is supported since API version 15. \n 5620 * 5621 */ 5622 NODE_LIST_CACHED_COUNT, 5623 5624 /** 5625 * @brief Scroll to the specified index. 5626 * 5627 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5628 * lead to performance issues when loading a large number of items.\n 5629 * \n 5630 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5631 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5632 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5633 * 1 indicates an action and 0 indicates no action. Default value: 0。\n 5634 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5635 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 5636 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 5637 * This parameter is supported since API version 15. \n 5638 * 5639 */ 5640 NODE_LIST_SCROLL_TO_INDEX, 5641 /** 5642 * @brief Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is 5643 * greater than the cross-axis width of list items multiplied by the value of lanes. 5644 * This attribute can be set, reset, and obtained as required through APIs. 5645 * 5646 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5647 * .value[0].i32: alignment mode of list items along the cross axis. 5648 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 5649 * \n 5650 * Format of the return value {@link ArkUI_AttributeItem}:\n 5651 * .value[0].i32: alignment mode of list items along the cross axis. 5652 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 5653 */ 5654 NODE_LIST_ALIGN_LIST_ITEM, 5655 5656 /** 5657 * @brief Set the default spindle size for the List subcomponent. 5658 * 5659 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5660 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5661 * \n 5662 * Format of the return value {@link ArkUI_AttributeItem}:\n 5663 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5664 */ 5665 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 5666 5667 /** 5668 * @brief Set the index value of the item displayed at the start of the viewport 5669 * when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs. 5670 * 5671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5672 * .value[0].i32: index value of the item displayed at 5673 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 5674 * \n 5675 * Format of the return value {@link ArkUI_AttributeItem}:\n 5676 * .value[0].i32: index value of the item displayed at 5677 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 5678 */ 5679 NODE_LIST_INITIAL_INDEX = 1003008, 5680 /** 5681 * @brief sets the ListItem splitter style. By default, there is no splitter. 5682 * This attribute can be set, reset, and obtained as required through APIs. 5683 * 5684 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format: \n 5685 *.value[0].u32: divider color, type 0xargb; \n 5686 *.value[1].f32: dividing line width; \n 5687 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5688 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5689 * \n 5690 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 5691 *.value[0].u32: divider color, type 0xargb; \n 5692 *.value[1].f32: dividing line width; \n 5693 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5694 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5695 * 5696 */ 5697 NODE_LIST_DIVIDER = 1003009, 5698 5699 /** 5700 * @brief Scrolls to the item with the specified index in the specified list item group. 5701 * 5702 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 5703 * This may result in performance issues if a large number of items are involved. \n 5704 * \n 5705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5706 * .value[0].i32: index of the target list item group in the current list. \n 5707 *.value[1].i32: index of the target list item in the list item group. \n 5708 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 5709 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 5710 * The default value is <b>0</b>. \n 5711 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 5712 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 5713 * 5714 * @since 15 5715 */ 5716 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 5717 5718 /** 5719 * @brief Sets the number of lanes in the list. 5720 * This attribute can be set, reset, and obtained as required through APIs. 5721 * 5722 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5723 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 5724 * of lanes will not take effect. \n 5725 * .value[1]?.f32: minimum lane width, in vp. \n 5726 * .value[2]?.f32: maximum column width, in vp. \n 5727 * .value[3]?.f32: lane spacing, in vp. \n 5728 * \n 5729 * Format of the return value {@link ArkUI_AttributeItem}:\n 5730 * .value[0].u32: number of lanes in the list. \n 5731 * .value[1].f32: minimum lane width, in vp. \n 5732 * .value[2].f32: maximum column width, in vp. \n 5733 * .value[3].f32: lane spacing, in vp. \n \n 5734 * 5735 * @since 15 5736 */ 5737 NODE_LIST_LANES = 1003011, 5738 5739 /** 5740 * @brief Sets the list snap alignment mode. 5741 * 5742 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5743 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5744 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5745 * \n 5746 * Format of the return value {@link ArkUI_AttributeItem}:\n 5747 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5748 * 5749 * @since 15 5750 */ 5751 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 5752 5753 /** 5754 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 5755 * display area of the <b>List</b> component. 5756 * 5757 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5758 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5759 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5760 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5761 * \n 5762 * Format of the return value {@link ArkUI_AttributeItem}:\n 5763 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5764 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5765 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5766 * 5767 * @since 15 5768 */ 5769 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 5770 5771 /** 5772 * @brief Sets whether the <b>List</b> component starts layout from the end. 5773 * 5774 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5775 * .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout 5776 * starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>. \n 5777 * \n 5778 * Format of the return value {@link ArkUI_AttributeItem}:\n 5779 * .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout 5780 * starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>. \n 5781 * 5782 * @since 19 5783 */ 5784 NODE_LIST_STACK_FROM_END = 1003014, 5785 5786 /** 5787 * @brief Defines the focus wrap mode for the <b>List</b> component. 5788 * This attribute can be set, reset, and obtained as required through APIs. 5789 * 5790 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5791 * .value[0].i32: focus wrap mode of the <b>List</b> component. 5792 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 5793 * \n 5794 * Format of the return value {@link ArkUI_AttributeItem}:\n 5795 * .value[0].i32: focus wrap mode of the <b>List</b> component. 5796 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 5797 * 5798 * @since 20 5799 */ 5800 NODE_LIST_FOCUS_WRAP_MODE = 1003015, 5801 5802 /** 5803 * @brief Defines whether the <b>List</b> component loads child nodes synchronously. 5804 * This attribute can be set, reset, and obtained as required through APIs. 5805 * 5806 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5807 * .value[0].i32: whether the <b>List</b> component synchronously loads child nodes. 5808 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 5809 * \n 5810 * Format of the return value {@link ArkUI_AttributeItem}:\n 5811 * .value[0].i32: whether the <b>List</b> component synchronously loads child nodes. 5812 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 5813 * 5814 * @since 20 5815 */ 5816 NODE_LIST_SYNC_LOAD = 1003016, 5817 5818 /** 5819 * @brief Defines whether to enable loop playback for the swiper. 5820 * This attribute can be set, reset, and obtained as required through APIs. 5821 * 5822 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5823 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5824 * means the opposite. The default value is <b>1/b>. \n 5825 * \n 5826 * Format of the return value {@link ArkUI_AttributeItem}:\n 5827 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5828 * means the opposite. The default value is <b>1</b>. \n 5829 * 5830 */ 5831 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 5832 /** 5833 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 5834 * This attribute can be set, reset, and obtained as required through APIs. 5835 * 5836 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5837 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 5838 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5839 * \n 5840 * .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means 5841 * to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is 5842 * supported since API version 16. \n 5843 * \n 5844 * Format of the return value {@link ArkUI_AttributeItem}:\n 5845 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 5846 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5847 * .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to 5848 * stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16. \n 5849 * 5850 */ 5851 NODE_SWIPER_AUTO_PLAY, 5852 /** 5853 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 5854 * reset, and obtained as required through APIs. 5855 * 5856 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5857 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5858 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5859 * \n 5860 * Format of the return value {@link ArkUI_AttributeItem}:\n 5861 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5862 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5863 * 5864 */ 5865 NODE_SWIPER_SHOW_INDICATOR, 5866 /** 5867 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 5868 * through APIs. 5869 * 5870 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5871 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5872 * \n 5873 * Format of the return value {@link ArkUI_AttributeItem}:\n 5874 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5875 * 5876 */ 5877 NODE_SWIPER_INTERVAL, 5878 /** 5879 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 5880 * as required through APIs. 5881 * 5882 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5883 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5884 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5885 * \n 5886 * Format of the return value {@link ArkUI_AttributeItem}:\n 5887 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5888 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5889 * 5890 */ 5891 NODE_SWIPER_VERTICAL, 5892 5893 /** 5894 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 5895 * and obtained as required through APIs. 5896 * 5897 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5898 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5899 * <b>400</b>. \n 5900 * \n 5901 * Format of the return value {@link ArkUI_AttributeItem}:\n 5902 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5903 * <b>400</b>. \n 5904 * 5905 */ 5906 NODE_SWIPER_DURATION, 5907 5908 /** 5909 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 5910 * through APIs. 5911 * 5912 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5913 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5914 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5915 * \n 5916 * Format of the return value {@link ArkUI_AttributeItem}:\n 5917 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5918 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5919 * 5920 */ 5921 NODE_SWIPER_CURVE, 5922 5923 /** 5924 * @brief Defines the spacing between child components in the swiper. 5925 * This attribute can be set, reset, and obtained as required through APIs. 5926 * 5927 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5928 * .value[0].f32: spacing between child components. \n 5929 * \n 5930 * Format of the return value {@link ArkUI_AttributeItem}:\n 5931 * .value[0].f32: spacing between child components. \n 5932 * 5933 */ 5934 NODE_SWIPER_ITEM_SPACE, 5935 5936 /** 5937 * @brief Defines the index of the child component currently displayed in the swiper. 5938 * This attribute can be set, reset, and obtained as required through APIs. 5939 * 5940 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5941 * .value[0].i32: index value of the child component. \n 5942 * .value[1]?.i32: animation mode, the parameter type is {@link ArkUI_SwiperAnimationMode}. \n 5943 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call. \n 5944 * This parameter is supported since API version 15. \n 5945 * \n 5946 * Format of the return value {@link ArkUI_AttributeItem}:\n 5947 * .value[0].i32: index value of the child component. \n 5948 * 5949 */ 5950 NODE_SWIPER_INDEX, 5951 5952 /** 5953 * @brief Defines the number of elements to display per page. 5954 * This attribute can be set, reset, and obtained as required through APIs. 5955 * 5956 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5957 * .value[0].i32: number of elements to display per page. \n 5958 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 5959 * and <b>1</b> means to turn pages by group. This parameter is supported since API version 19. \n 5960 * .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored. 5961 * This parameter is supported since API version 19. \n 5962 * \n 5963 * Format of the return value {@link ArkUI_AttributeItem}:\n 5964 * .value[0].i32: number of elements to display per page. \n 5965 * .value[1].i32: whether to turn pages by group. This parameter is supported since API version 19. \n 5966 * .string: 'auto' or empty string. 5967 * 5968 */ 5969 NODE_SWIPER_DISPLAY_COUNT, 5970 5971 /** 5972 * @brief Defines whether to disable the swipe feature. 5973 * This attribute can be set, reset, and obtained as required through APIs. 5974 * 5975 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5976 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 5977 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5978 * \n 5979 * Format of the return value {@link ArkUI_AttributeItem}:\n 5980 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 5981 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5982 * 5983 */ 5984 NODE_SWIPER_DISABLE_SWIPE, 5985 5986 /** 5987 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5988 * This attribute can be set, reset, and obtained as required through APIs. 5989 * 5990 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5991 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5992 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5993 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5994 * .?object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 5995 * This parameter is supported since API version 19. \n 5996 * \n 5997 * Format of the return value {@link ArkUI_AttributeItem}:\n 5998 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5999 * The parameter type is {@link ArkUI_SwiperArrow}.\n 6000 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 6001 * .object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 6002 * This parameter is supported since API version 19. \n 6003 * 6004 */ 6005 NODE_SWIPER_SHOW_DISPLAY_ARROW, 6006 6007 /** 6008 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 6009 * This attribute can be set, reset, and obtained as required through APIs. 6010 * 6011 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6012 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 6013 * The parameter type is {@link ArkUI_EdgeEffect}.\n 6014 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 6015 * \n 6016 * Format of the return value {@link ArkUI_AttributeItem}:\n 6017 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 6018 * The parameter type is {@link ArkUI_EdgeEffect}. \n 6019 * 6020 */ 6021 NODE_SWIPER_EDGE_EFFECT_MODE, 6022 6023 /** 6024 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 6025 * 6026 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6027 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6028 */ 6029 NODE_SWIPER_NODE_ADAPTER, 6030 6031 /** 6032 * @brief Sets the number of cached items in the swiper adapter. 6033 * This attribute can be set, reset, and obtained as required through APIs. 6034 * 6035 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6036 * .value[0].i32: number of cached items in the swiper adapter. \n 6037 * .value[1]?.i32: whether the cached items will be displayed. \n 6038 * The value <b>0</b> indicates that cached items will not be displayed, \n 6039 * and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>. \n 6040 * This parameter is supported from API version 19. \n 6041 * \n 6042 * Format of the return value {@link ArkUI_AttributeItem}:\n 6043 * .value[0].i32: number of cached items in the swiper adapter. \n 6044 * .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 19. \n 6045 */ 6046 NODE_SWIPER_CACHED_COUNT, 6047 6048 /** 6049 * @brief Defines the front margin of the wiper. 6050 * The attribute can be set, reset, and obtained as required through APIs. 6051 * 6052 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6053 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 6054 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 6055 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 6056 * Format of the return value {@link ArkUI_AttributeItem}:\n 6057 * .value[0].f32: the front margin, the unit is vp. \n 6058 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 6059 * the opposite. \n 6060 */ 6061 NODE_SWIPER_PREV_MARGIN, 6062 6063 /** 6064 * @brief Defines the back margin of the wiper. 6065 * The attribute can be set, reset, and obtained as required through APIs. 6066 * 6067 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6068 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 6069 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 6070 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 6071 * Format of the return value {@link ArkUI_AttributeItem}:\n 6072 * .value[0].f32: the back margin, the unit is vp. \n 6073 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 6074 * the opposite. \n 6075 */ 6076 NODE_SWIPER_NEXT_MARGIN, 6077 6078 /** 6079 * @brief Defines the navigation indicator type of the swiper. 6080 * The attribute can be set, reset, and obtained as required through APIs. 6081 * 6082 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6083 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 6084 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 6085 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 6086 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 6087 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 19. \n 6088 * \n 6089 * Format of the return value {@link ArkUI_AttributeItem}:\n 6090 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 6091 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 6092 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 6093 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 6094 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 19. \n 6095 * 6096 */ 6097 NODE_SWIPER_INDICATOR, 6098 6099 /** 6100 * @brief Set the nested scrolling mode for the Swiper component and parent component. 6101 * 6102 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6103 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 6104 * {@link ArkUI_SwiperNestedScrollMode} \n 6105 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 6106 * \n 6107 * Format of the return value {@link ArkUI_AttributeItem}:\n 6108 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 6109 * {@link ArkUI_SwiperNestedScrollMode} \n 6110 */ 6111 NODE_SWIPER_NESTED_SCROLL, 6112 6113 /** 6114 * @brief Set the switcher component to flip to the specified page. 6115 * 6116 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6117 * .value[0].i32:Specify the index value of the page in Swiper.\n 6118 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 6119 * effect, 0 indicates no active effect, default value is 0。\n 6120 */ 6121 NODE_SWIPER_SWIPE_TO_INDEX, 6122 6123 /** 6124 * @brief Set to disable component navigation point interaction function。 6125 * 6126 * Property setting method parameter {@link ArkUI-AttributeItem} format: \n 6127 * .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it 6128 * indicates that the navigation points are interactive. The default value is true. \n 6129 * The return value of the attribute acquisition method is in the format of {@ link ArkUI-AttributeItem}: \n 6130 * .value[0].i32:Set to disable component navigation point interaction. \n 6131 */ 6132 NODE_SWIPER_INDICATOR_INTERACTIVE, 6133 6134 /** 6135 * @brief Sets the page flipping mode using the mouse wheel. 6136 * 6137 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6138 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 6139 * \n 6140 * Format of the return value {@link ArkUI_PageFlipMode}:\n 6141 * .value[0].i32: page flipping mode using the mouse wheel. \n 6142 * 6143 * @since 15 6144 */ 6145 NODE_SWIPER_PAGE_FLIP_MODE, 6146 6147 /** 6148 * @brief Defines the minimum main axis size of child element for swiper to works out the display count. 6149 * This attribute can be set, reset, and obtained as required through APIs. 6150 * 6151 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6152 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 6153 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 6154 * and <b>1</b> means to turn pages by group. The default value is <b>0</b>. \n 6155 * \n 6156 * Format of the return value {@link ArkUI_AttributeItem}:\n 6157 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 6158 * .value[1].i32: whether to turn pages by group. \n 6159 * 6160 * @since 19 6161 */ 6162 NODE_SWIPER_AUTO_FILL, 6163 6164 /** 6165 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside 6166 * the display area of the <b>Swiper</b> component. 6167 * 6168 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6169 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside 6170 * the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's 6171 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 6172 * \n 6173 * Format of the return value {@link ArkUI_AttributeItem}:\n 6174 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside 6175 * the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's 6176 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 6177 * 6178 * @since 20 6179 */ 6180 NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION = 1001023, 6181 6182 /** 6183 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 6184 * property acquisition interfaces. 6185 * 6186 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 6187 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 6188 * \n 6189 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n 6190 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 6191 * 6192 */ 6193 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 6194 6195 /** 6196 * @brief Defines the header of the list item group. 6197 * This attribute can be set, reset, and obtained as required through APIs. 6198 * 6199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6200 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 6201 * \n 6202 * Format of the return value {@link ArkUI_AttributeItem}:\n 6203 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 6204 * 6205 */ 6206 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 6207 /** 6208 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 6209 * required through APIs. 6210 * 6211 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6212 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 6213 * \n 6214 * Format of the return value {@link ArkUI_AttributeItem}:\n 6215 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 6216 * 6217 */ 6218 NODE_LIST_ITEM_GROUP_SET_FOOTER, 6219 /** 6220 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 6221 * as required through APIs. 6222 * 6223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6224 * .value[0].u32: color of the divider, in 0xARGB format.\n 6225 * .value[1].f32: stroke width of the divider, in vp.\n 6226 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 6227 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 6228 * \n 6229 * Format of the return value {@link ArkUI_AttributeItem}:\n 6230 * .value[0].u32: color of the divider, in 0xARGB format.\n 6231 * .value[1].f32: stroke width of the divider, in vp.\n 6232 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 6233 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 6234 * 6235 */ 6236 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 6237 6238 /** 6239 * @brief Set the default spindle size for the ListItem Group subcomponent. 6240 * 6241 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6242 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 6243 * \n 6244 * Format of the return value {@link ArkUI_AttributeItem}:\n 6245 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 6246 */ 6247 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 6248 6249 /** 6250 * @brief Defines the list item group adapter. 6251 * This attribute can be set, reset, and obtained as required through APIs. 6252 * 6253 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6254 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6255 * \n 6256 * Format of the return value {@link ArkUI_AttributeItem}:\n 6257 * .object: {@link ArkUI_NodeAdapter} object. \n 6258 * 6259 * @since 15 6260 */ 6261 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 6262 6263 /** 6264 * @brief Defines the horizontal alignment mode of child components in the column. 6265 * This attribute can be set, reset, and obtained as required through APIs. 6266 * 6267 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6268 * .value[0].i32: horizontal alignment mode of child components. 6269 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 6270 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 6271 * \n 6272 * Format of the return value {@link ArkUI_AttributeItem}:\n 6273 * .value[0].i32: horizontal alignment mode of child components. 6274 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 6275 * 6276 */ 6277 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 6278 /** 6279 * @brief Defines the vertical alignment mode of child components in the column. 6280 * This attribute can be set, reset, and obtained as required through APIs. 6281 * 6282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6283 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 6284 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 6285 * \n 6286 * Format of the return value {@link ArkUI_AttributeItem}:\n 6287 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 6288 * 6289 */ 6290 NODE_COLUMN_JUSTIFY_CONTENT, 6291 6292 /** 6293 * @brief Defines the vertical alignment mode of child components in the row. 6294 * This attribute can be set, reset, and obtained as required through APIs. 6295 * 6296 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6297 * .value[0].i32: vertical alignment mode of child components. 6298 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 6299 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 6300 * \n 6301 * Format of the return value {@link ArkUI_AttributeItem}:\n 6302 * .value[0].i32: vertical alignment mode of child components. 6303 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 6304 * 6305 */ 6306 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 6307 /** 6308 * @brief Defines the horizontal alignment mode of child components in the row. 6309 * This attribute can be set, reset, and obtained as required through APIs. 6310 * 6311 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6312 * .value[0].i32: horizontal alignment mode of child components. 6313 * The parameter type is {@link ArkUI_FlexAlignment}.\n 6314 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 6315 * \n 6316 * Format of the return value {@link ArkUI_AttributeItem}:\n 6317 * .value[0].i32: horizontal alignment mode of child components. 6318 * The parameter type is {@link ArkUI_FlexAlignment}. \n 6319 * 6320 */ 6321 NODE_ROW_JUSTIFY_CONTENT, 6322 6323 /** 6324 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 6325 * 6326 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6327 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 6328 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 6329 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 6330 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 6331 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 6332 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 6333 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 6334 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 6335 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 6336 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 6337 * \n 6338 * Format of the return value {@link ArkUI_AttributeItem}:\n 6339 * .value[0].i32: direction in which flex items are arranged. \n 6340 * .value[1].i32: how the flex items are wrapped. \n 6341 * .value[2].i32: alignment mode along the main axis. \n 6342 * .value[3].i32: alignment mode along the cross axis. \n 6343 * .value[4].i32: alignment mode along the cross axis for multi-line content.\n 6344 * 6345 */ 6346 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 6347 6348 /** 6349 * @brief Sets whether the component is being refreshed. 6350 * This attribute can be set and obtained as required through APIs. 6351 * 6352 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6353 * .value[0].i32: The parameter type is 1 or 0. 6354 * \n 6355 * Format of the return value {@link ArkUI_AttributeItem}:\n 6356 * .value[0].i32: The parameter type is 1 or 0. 6357 * 6358 */ 6359 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 6360 /** 6361 * @brief Sets the custom content in the pull-down area. 6362 * This attribute can be set, reset, and obtained as required through APIs. 6363 * 6364 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6365 * .object: The parameter type is {@Link ArkUI_NodeHandle}. 6366 * 6367 */ 6368 NODE_REFRESH_CONTENT, 6369 /** 6370 * @brief Set the pull-down hand coefficient. 6371 * This attribute can be set, reset, and obtained as required through APIs. 6372 * 6373 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6374 * .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1. 6375 * \n 6376 * Format of the return value {@link ArkUI_AttributeItem}:\n 6377 * .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1. 6378 * 6379 */ 6380 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 6381 /** 6382 * @brief Sets the pull-down offset that initiates a refresh. 6383 * This attribute can be set, reset, and obtained as required through APIs. 6384 * 6385 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6386 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 6387 * \n 6388 * Format of the return value {@link ArkUI_AttributeItem}:\n 6389 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 6390 * 6391 */ 6392 NODE_REFRESH_OFFSET = 1009003, 6393 /** 6394 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 6395 * This attribute can be set, reset, and obtained as required through APIs. 6396 * 6397 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6398 * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 6399 * <b>false</b> means the opposite. 6400 * \n 6401 * Format of the return value {@link ArkUI_AttributeItem}:\n 6402 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 6403 * <b>0</b> means the opposite. 6404 * 6405 */ 6406 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 6407 /** 6408 * @brief Sets the maximum pull-down distance for refreshing. 6409 * This attribute can be set, reset, and obtained through the API as required. 6410 * 6411 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6412 * .value[0].f32: maximum pull-down distance, in vp. 6413 * \n 6414 * Format of the return value {@link ArkUI_AttributeItem}:\n 6415 * .value[0].f32: maximum pull-down distance, in vp. 6416 * 6417 * @since 20 6418 */ 6419 NODE_REFRESH_MAX_PULL_DOWN_DISTANCE = 1009005, 6420 6421 /** 6422 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 6423 * This attribute can be set, reset, and obtained as required through APIs. 6424 * 6425 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6426 * .value[0].i32: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 6427 * \n 6428 * Format of the return value {@link ArkUI_AttributeItem}:\n 6429 * .value[0].i32: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 6430 * 6431 */ 6432 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 6433 6434 /** 6435 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 6436 * by default. This attribute can be set, reset, and obtained as required through APIs. 6437 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6438 * component's full width, the second column 1/4, and the third column 2/4. 6439 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6440 * columns based on the specified column width <b>track-size</b>. 6441 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6442 * or a valid number. 6443 * 6444 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6445 * .string: number of columns in the layout.\n 6446 * \n 6447 * Format of the return value {@link ArkUI_AttributeItem}:\n 6448 * .string: number of columns in the layout.\n 6449 * 6450 */ 6451 NODE_WATER_FLOW_COLUMN_TEMPLATE, 6452 6453 /** 6454 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 6455 * by default. This attribute can be set, reset, and obtained as required through APIs. 6456 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6457 * component's full height, the second row 1/4, and the third row 2/4. 6458 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6459 * based on the specified row height <b>track-size</b>. 6460 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6461 * or a valid number. 6462 * 6463 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6464 * .string: number of rows in the layout. \n 6465 * \n 6466 * Format of the return value {@link ArkUI_AttributeItem}:\n 6467 * .string: number of rows in the layout. \n 6468 * 6469 */ 6470 NODE_WATER_FLOW_ROW_TEMPLATE, 6471 6472 /** 6473 * @brief Sets the gap between columns. 6474 * This attribute can be set, reset, and obtained as required through APIs. 6475 * 6476 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6477 * .value[0].f32: gap between columns, in vp.\n 6478 * \n 6479 * Format of the return value {@link ArkUI_AttributeItem}:\n 6480 * .value[0].f32: gap between columns, in vp.\n 6481 * 6482 */ 6483 NODE_WATER_FLOW_COLUMN_GAP, 6484 6485 /** 6486 * @brief Sets the gap between rows. 6487 * This attribute can be set, reset, and obtained as required through APIs. 6488 * 6489 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6490 * .value[0].f32: gap between lines, in vp.\n 6491 * \n 6492 * Format of the return value {@link ArkUI_AttributeItem}:\n 6493 * .value[0].f32: gap between lines, in vp.\n 6494 * 6495 */ 6496 NODE_WATER_FLOW_ROW_GAP, 6497 6498 /** 6499 * @brief Defines the water flow section configuration. 6500 * This attribute can be set, reset, and obtained as required through APIs. 6501 * 6502 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6503 * .value[0].i32: An index calculated from 0 is converted to an integer, 6504 * indicating that you want to start changing the position of the group. 6505 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 6506 * \n 6507 * Format of the return value {@link ArkUI_AttributeItem}:\n 6508 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 6509 * 6510 */ 6511 NODE_WATER_FLOW_SECTION_OPTION, 6512 6513 /** 6514 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 6515 * 6516 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6517 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6518 */ 6519 NODE_WATER_FLOW_NODE_ADAPTER, 6520 6521 /** 6522 * @brief Sets the number of cached items in the water flow adapter. 6523 * This attribute can be set, reset, and obtained as required through APIs. 6524 * 6525 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6526 * value[0].i32:number of cached items in the water flow adapter. \n 6527 * .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 6528 * This parameter is supported since API version 16. \n 6529 * \n 6530 * Format of the return value {@link ArkUI_AttributeItem}:\n 6531 * .value[0].i32: number of cached items in the water flow adapter. \n 6532 * .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 6533 * This parameter is supported since API version 16. \n 6534 */ 6535 NODE_WATER_FLOW_CACHED_COUNT, 6536 6537 /** 6538 * @brief Set the custom display component at the end of the waterfall flow component. 6539 * 6540 * Attribute setting method {@link ArkUI_AttributeItem} parameter format: \n 6541 * .object: Parameter type {@link ArkUI_NodeHandle}. 6542 * 6543 */ 6544 NODE_WATER_FLOW_FOOTER, 6545 6546 /** 6547 * @brief Scroll to the specified index. 6548 * 6549 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 6550 * lead to performance issues when loading a large number of items.\n 6551 * \n 6552 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6553 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 6554 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 6555 * 1 indicates an action and 0 indicates no action. Default value is 0。\n 6556 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 6557 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。\n 6558 * 6559 */ 6560 NODE_WATER_FLOW_SCROLL_TO_INDEX, 6561 6562 /** 6563 * @brief Defines the size constraints to apply to water flow items. 6564 * This attribute can be set, reset, and obtained as required through APIs. 6565 * 6566 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6567 * .value[0].f32: minimum width, in vp.\n 6568 * .value[1].f32: maximum width, in vp.\n 6569 * .value[2].f32: minimum height, in vp.\n 6570 * .value[3].f32: maximum height, in vp.\n 6571 * \n 6572 * Format of the return value {@link ArkUI_AttributeItem}:\n 6573 * .value[0].f32: minimum width, in vp.\n 6574 * .value[1].f32: maximum width, in vp.\n 6575 * .value[2].f32: minimum height, in vp.\n 6576 * .value[3].f32: maximum height, in vp.\n 6577 * 6578 */ 6579 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 6580 6581 /** 6582 * @brief Defines the layout mode of the <b><WaterFlow></b> component. 6583 * This attribute can be set, reset, and obtained as required through APIs. 6584 * 6585 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6586 * .value[0].i32: waterflow layout mode. The parameter type is {@Link ArkUI_WaterFlowLayoutMode}. 6587 * \n 6588 * Format of the return value {@link ArkUI_AttributeItem}:\n 6589 * .value[0].i32: waterflow layout mode. The parameter type is {@Link ArkUI_WaterFlowLayoutMode}. 6590 * @since 18 6591 */ 6592 NODE_WATER_FLOW_LAYOUT_MODE, 6593 6594 /** 6595 * @brief Defines whether the <b>WaterFlow</b> component loads child nodes synchronously. 6596 * This attribute can be set, reset, and obtained as required through APIs. 6597 * 6598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6599 * .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes. 6600 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6601 * \n 6602 * Format of the return value {@link ArkUI_AttributeItem}:\n 6603 * .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes. 6604 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6605 * 6606 * @since 20 6607 */ 6608 NODE_WATER_FLOW_SYNC_LOAD = 1010012, 6609 6610 /** 6611 * @brief Set the auxiliary line in the RelativeContaine container, supporting property setting, 6612 * property reset and property acquisition interfaces. 6613 * 6614 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 6615 * .object: Auxiliary lines within the RelativeContaine container: \n 6616 *\n 6617 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 6618 * .object: Auxiliary lines within the RelativeContaine container: \n 6619 * 6620 */ 6621 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 6622 6623 /** 6624 * @brief Sets the barrier within the RelativeContaine container and supports property setting, 6625 * property reset and property acquisition interfaces. 6626 * 6627 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 6628 * .object: Auxiliary lines within the RelativeContaine container: \n 6629 *\n 6630 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 6631 * .object: Barrier within the RelativeContaine container: \n 6632 * 6633 */ 6634 NODE_RELATIVE_CONTAINER_BARRIER, 6635 6636 /** 6637 * @brief Sets the number of columns in the grid layout. If this parameter is not set, one column is used 6638 * by default. This attribute can be set, reset, and obtained as required through APIs. 6639 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6640 * component's full width, the second column 1/4, and the third column 2/4. 6641 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6642 * columns based on the specified column width <b>track-size</b>. 6643 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6644 * or a valid number. 6645 * 6646 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6647 * .string: number of columns in the layout.\n 6648 * \n 6649 * Format of the return value {@link ArkUI_AttributeItem}:\n 6650 * .string: number of columns in the layout.\n 6651 * 6652 */ 6653 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 6654 6655 /** 6656 * @brief Sets the number of rows in the grid layout. If this parameter is not set, one row is used 6657 * by default. This attribute can be set, reset, and obtained as required through APIs. 6658 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6659 * component's full height, the second row 1/4, and the third row 2/4. 6660 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6661 * based on the specified row height <b>track-size</b>. 6662 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6663 * or a valid number. 6664 * 6665 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6666 * .string: number of rows in the layout. \n 6667 * \n 6668 * Format of the return value {@link ArkUI_AttributeItem}:\n 6669 * .string: number of rows in the layout. \n 6670 * 6671 */ 6672 NODE_GRID_ROW_TEMPLATE, 6673 6674 /** 6675 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 6676 * 6677 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6678 * .value[0].f32: gap between columns, in vp.\n 6679 * \n 6680 * Format of the return value {@link ArkUI_AttributeItem}:\n 6681 * .value[0].f32: gap between columns, in vp.\n 6682 * 6683 */ 6684 NODE_GRID_COLUMN_GAP, 6685 6686 /** 6687 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 6688 * 6689 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6690 * .value[0].f32: gap between lines, in vp.\n 6691 * \n 6692 * Format of the return value {@link ArkUI_AttributeItem}:\n 6693 * .value[0].f32: gap between lines, in vp.\n 6694 * 6695 */ 6696 NODE_GRID_ROW_GAP, 6697 6698 /** 6699 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 6700 * 6701 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6702 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6703 */ 6704 NODE_GRID_NODE_ADAPTER, 6705 6706 /** 6707 * @brief Sets the number of cached items in the grid adapter. 6708 * This attribute can be set, reset, and obtained as required through APIs. 6709 * 6710 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6711 * .value[0].i32: number of cached items in the grid adapter. \n 6712 */ 6713 NODE_GRID_CACHED_COUNT, 6714 6715 /** 6716 * @brief Defines the focus wrap mode for the <b>Grid</b> component. 6717 * This attribute can be set, reset, and obtained as required through APIs. 6718 * 6719 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6720 * .value[0].i32: focus wrap mode of the <b>Grid</b> component. 6721 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 6722 * \n 6723 * Format of the return value {@link ArkUI_AttributeItem}:\n 6724 * .value[0].i32: focus wrap mode of the <b>Grid</b> component. 6725 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 6726 * 6727 * @since 20 6728 */ 6729 NODE_GRID_FOCUS_WRAP_MODE = 1013006, 6730 6731 /** 6732 * @brief Defines whether the <b>Grid</b> component loads child nodes synchronously. 6733 * This attribute can be set, reset, and obtained as required through APIs. 6734 * 6735 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6736 * .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes. 6737 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6738 * \n 6739 * Format of the return value {@link ArkUI_AttributeItem}:\n 6740 * .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes. 6741 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6742 * 6743 * @since 20 6744 */ 6745 NODE_GRID_SYNC_LOAD = 1013007, 6746 6747 /** 6748 * @brief Defines the column width of the text picker. 6749 * This attribute can be set, reset, and obtained as required through APIs. 6750 * 6751 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6752 * .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.\n 6753 * .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6754 * .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6755 * ...\n 6756 * .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6757 * \n 6758 * Format of the return value {@link ArkUI_AttributeItem}:\n 6759 * value[0].f32: percentage of total width.\n 6760 * value[1].f32: percentage of total width.\n 6761 * value[2].f32: percentage of total width.\n 6762 * ...\n 6763 * value[n].f32: percentage of total width.\n 6764 * 6765 * @since 18 6766 */ 6767 NODE_TEXT_PICKER_COLUMN_WIDTHS = 15009, 6768 /** 6769 * @brief Defines the disabled date range of the calendar picker. 6770 * This attribute can be set, reset, and obtained as required through APIs. 6771 * 6772 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6773 * .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`, 6774 * ...,`nth start date`,`nth end date` of the disabled date range.\n 6775 * Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31\n 6776 * \n 6777 * Format of the return value {@link ArkUI_AttributeItem}:\n 6778 * .string: A string of dates.\n 6779 * 6780 * @since 19 6781 */ 6782 NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE = 16006, 6783 6784 /** 6785 * @brief Defines whether the calendar picker marks today. 6786 * This attribute can be set, reset, and obtained as required through APIs. 6787 * 6788 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6789 * value[0].i32: whether the calendar picker marks today. The default value is <b>false</b>.\n 6790 * \n 6791 * Format of the return value {@link ArkUI_AttributeItem}:\n 6792 * value[0].i32: whether the calendar picker marks today.\n 6793 * 6794 * @since 19 6795 */ 6796 NODE_CALENDAR_PICKER_MARK_TODAY = 16007, 6797 6798 /** 6799 * @brief Defines the want used to start EmbeddedAbility. 6800 * This attribute can be set as required through APIs. 6801 * 6802 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6803 * .object: The want of EmbeddedComponent, with parameter type {@AbilityBase_Want}. 6804 * The default value is <b>nullptr</b>.\n 6805 * 6806 * @since 20 6807 */ 6808 NODE_EMBEDDED_COMPONENT_WANT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_EMBEDDED_COMPONENT, 6809 6810 /** 6811 * @brief Set onError and onTerminated callbacks for EMBEDDED_COMPONENT. 6812 * This attribute can be set as required through APIs. 6813 * 6814 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6815 * .object: The option for EmbeddedComponent, with parameter type {@ArkUI_EmbeddedComponentOption}.\n 6816 * 6817 * @since 20 6818 */ 6819 NODE_EMBEDDED_COMPONENT_OPTION, 6820 } ArkUI_NodeAttributeType; 6821 6822 /** 6823 * @brief Define commponent event max args size. 6824 * 6825 * @since 12 6826 */ 6827 #define MAX_COMPONENT_EVENT_ARG_NUM 12 6828 /** 6829 * @brief Defines the parameter type of the component callback event. 6830 * 6831 * @since 12 6832 */ 6833 typedef struct { 6834 /** Data array object. */ 6835 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 6836 } ArkUI_NodeComponentEvent; 6837 6838 /** 6839 * @brief Defines the string type parameter used by the component callback event. 6840 * 6841 * @since 12 6842 */ 6843 typedef struct { 6844 /** String. */ 6845 const char* pStr; 6846 } ArkUI_StringAsyncEvent; 6847 6848 /** 6849 * @brief Defines a hybrid data structure for component events. 6850 * 6851 * @since 15 6852 */ 6853 typedef struct { 6854 /** String data */ 6855 const char* pStr; 6856 /** Extended string data */ 6857 const char* pExtendStr; 6858 /** Numeric data */ 6859 int32_t number; 6860 } ArkUI_TextChangeEvent; 6861 6862 /** 6863 * @brief Enumerates the event types supported by the NativeNode component. 6864 * 6865 * @since 12 6866 */ 6867 typedef enum { 6868 /** 6869 * @brief Defines the gesture event type. 6870 * 6871 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6872 * {@link ArkUI_UIInputEvent}. 6873 */ 6874 NODE_TOUCH_EVENT = 0, 6875 6876 /** 6877 * @brief Defines the mount event. 6878 * 6879 * This event is triggered when the component is mounted and displayed. \n 6880 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6881 * {@link ArkUI_NodeComponentEvent}. \n 6882 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6883 */ 6884 NODE_EVENT_ON_APPEAR, 6885 /** 6886 * @brief Defines the unmount event. 6887 * 6888 * This event is triggered when the component is unmounted and hidden. \n 6889 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6890 * {@link ArkUI_NodeComponentEvent}. \n 6891 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6892 */ 6893 NODE_EVENT_ON_DISAPPEAR, 6894 6895 /** 6896 * @brief Defines the area change event. 6897 * 6898 * This event is triggered when the component's size, position, or any other attribute that may 6899 * affect its display area changes. \n 6900 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6901 * {@link ArkUI_NodeComponentEvent}. \n 6902 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6903 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 6904 * The value type is number. \n 6905 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 6906 * The value type is number. \n 6907 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 6908 * relative to the parent element's, in vp. The value type is number. \n 6909 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 6910 * relative to the parent element's, in vp. The value type is number. \n 6911 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 6912 * relative to the page's, in vp. The value type is number. \n 6913 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 6914 * relative to the page's, in vp. The value type is number. \n 6915 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 6916 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 6917 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 6918 * to the parent element's, in vp. The value type is number. \n 6919 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 6920 * to the parent element's, in vp. The value type is number. \n 6921 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 6922 * to the page's, in vp. The value type is number. \n 6923 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 6924 * to the page's, in vp. The value type is number. \n 6925 */ 6926 NODE_EVENT_ON_AREA_CHANGE, 6927 /** 6928 * @brief Defines the focus event. 6929 * 6930 * This event is triggered when the component obtains the focus. \n 6931 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6932 * {@link ArkUI_NodeComponentEvent}. \n 6933 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6934 */ 6935 NODE_ON_FOCUS, 6936 /** 6937 * @brief Defines the blur event. 6938 * 6939 * This event is triggered when the component loses the focus. \n 6940 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6941 * {@link ArkUI_NodeComponentEvent}. \n 6942 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6943 */ 6944 NODE_ON_BLUR, 6945 /** 6946 * @brief Defines the click event. 6947 * 6948 * This event is triggered when the component is clicked. \n 6949 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6950 * {@link ArkUI_NodeComponentEvent}. \n 6951 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6952 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 6953 * clicked component's original area, in vp. \n 6954 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 6955 * clicked component's original area, in vp. \n 6956 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 6957 * is triggered and the time when the system starts, in microseconds. \n 6958 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 6959 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 6960 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 6961 * application window, in vp. \n 6962 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 6963 * application window, in vp. \n 6964 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 6965 * application screen, in vp. \n 6966 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 6967 * application screen, in vp. \n 6968 */ 6969 NODE_ON_CLICK, 6970 /** 6971 * @brief Defines event interception. 6972 * 6973 * This event is triggered when the component is touched. \n 6974 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6975 * {@link ArkUI_UIInputEvent}. \n 6976 */ 6977 NODE_ON_TOUCH_INTERCEPT, 6978 /** 6979 * @brief Defines the visible area change event. 6980 * 6981 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 6982 * than the threshold. 6983 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 6984 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6985 * {@link ArkUI_NodeComponentEvent}. \n 6986 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6987 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 6988 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 6989 * decrease. \n 6990 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 6991 * callback is invoked. \n 6992 */ 6993 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 6994 /** 6995 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 6996 * 6997 \n 6998 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6999 * {@link ArkUI_NodeComponentEvent}. \n 7000 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7001 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 7002 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 7003 * the mouse pointer is moved away from the component. \n 7004 */ 7005 NODE_ON_HOVER, 7006 /** 7007 * @brief Defines the click event. 7008 * 7009 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 7010 * within the component. \n 7011 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7012 * {@link ArkUI_UIInputEvent}. \n 7013 */ 7014 NODE_ON_MOUSE, 7015 /** 7016 * @brief Defines the attach event. 7017 * 7018 * This event is triggered when the component is attached. \n 7019 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7020 * {@link ArkUI_NodeComponentEvent}. \n 7021 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 7022 */ 7023 NODE_EVENT_ON_ATTACH, 7024 /** 7025 * @brief Defines the detach event. 7026 * 7027 * This event is triggered when the component is detached. \n 7028 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7029 * {@link ArkUI_NodeComponentEvent}. \n 7030 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 7031 */ 7032 NODE_EVENT_ON_DETACH, 7033 7034 /** 7035 * @brief Defines the accessibility action event. 7036 * 7037 * This event is triggered when The accessibility operation type has been set and 7038 * corresponding operations have been carried out. \n 7039 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7040 * {@link ArkUI_NodeComponentEvent}. \n 7041 * {@link ArkUI_NodeComponentEvent} contains one parameters:\n 7042 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is 7043 * {@link ArkUI_AccessibilityActionType} \n 7044 * 7045 */ 7046 NODE_ON_ACCESSIBILITY_ACTIONS = 13, 7047 7048 /** 7049 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 7050 * 7051 * This event is triggered when a drag operation is about to start on a draggable item. \n 7052 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7053 * {@link ArkUI_NodeComponentEvent}. \n 7054 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7055 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 7056 */ 7057 NODE_ON_PRE_DRAG = 14, 7058 /** 7059 * @brief Called when the user starts to drag an ite 7060 * 7061 * A drag operation is recognized only when the dragged item is moved far enough. \n 7062 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7063 * {@link ArkUI_NodeEvent} object. \n 7064 */ 7065 NODE_ON_DRAG_START = 15, 7066 /** 7067 * @brief Called when a dragged item enters the boundaries of the current component. 7068 * 7069 * The current component refers to the component that listens for this event. \n 7070 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7071 * {@link ArkUI_NodeEvent} object. \n 7072 */ 7073 NODE_ON_DRAG_ENTER = 16, 7074 /** 7075 * @brief Called when a dragged item moves in the current component. 7076 * 7077 * The current component refers to the component that listens for this event. \n 7078 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7079 * {@link ArkUI_NodeEvent} object. \n 7080 */ 7081 NODE_ON_DRAG_MOVE = 17, 7082 /** 7083 * @brief Called when a dragged item leaves the boundaries of the current component. 7084 * 7085 * The current component refers to the component that listens for this event. \n 7086 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7087 * {@link ArkUI_NodeEvent} object. \n 7088 */ 7089 NODE_ON_DRAG_LEAVE = 18, 7090 /** 7091 * @brief Called when a dragged item is dropped on the current component. 7092 * The component can obtain the drag data for processing through the callback. 7093 * 7094 * The current component refers to the component that listens for this event. \n 7095 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7096 * {@link ArkUI_NodeEvent} object. \n 7097 */ 7098 NODE_ON_DROP = 19, 7099 /** 7100 * @brief Called when a drag operation ends. 7101 * The drag source can obtain the drag result by registering this callback. 7102 * 7103 * A drag operation ends when the dragged item is released. 7104 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7105 * {@link ArkUI_NodeEvent} object. \n 7106 */ 7107 NODE_ON_DRAG_END = 20, 7108 /** 7109 * @brief Defines the event triggered when a key event occurs. 7110 * 7111 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 7112 * device. \n 7113 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7114 * {@link ArkUI_NodeComponentEvent}. \n 7115 * 7116 * @since 14 7117 */ 7118 NODE_ON_KEY_EVENT = 21, 7119 /** 7120 * @brief Defines the event triggered before the input method responds to the key action. 7121 * 7122 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 7123 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 7124 * and no longer triggered. 7125 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 7126 * device. \n 7127 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7128 * {@link ArkUI_NodeComponentEvent}. \n 7129 * 7130 * @since 14 7131 */ 7132 NODE_ON_KEY_PRE_IME = 22, 7133 /** 7134 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 7135 * 7136 * The event callback is triggered by interactions with a joystick and a focused component. \n 7137 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7138 * {@link ArkUI_UIInputEvent}. \n 7139 * 7140 * @since 15 7141 */ 7142 NODE_ON_FOCUS_AXIS = 23, 7143 7144 /** 7145 * @brief Dispatch key event on the component node. 7146 * 7147 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 7148 * children. \n 7149 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7150 * {@link ArkUI_NodeComponentEvent}. \n 7151 * 7152 * @since 15 7153 */ 7154 NODE_DISPATCH_KEY_EVENT = 24, 7155 7156 /** 7157 * @brief Defines the event triggered when the bound component receives an axis event. 7158 * 7159 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7160 * {@link ArkUI_UIInputEvent}. \n 7161 * 7162 * @since 17 7163 */ 7164 NODE_ON_AXIS = 25, 7165 7166 /** 7167 * @brief Defines the event triggered when the bound component is clicked. 7168 * 7169 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7170 * {@link ArkUI_UIInputEvent}. \n 7171 * 7172 * @since 18 7173 */ 7174 NODE_ON_CLICK_EVENT = 26, 7175 7176 /** 7177 * @brief Defines the event triggered when the mouse pointer hovers over or moves away from a component. 7178 * 7179 * This event is triggered when the mouse pointer enters or leaves the component's bounding box. \n 7180 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7181 * {@link ArkUI_UIInputEvent}. \n 7182 * 7183 *@since 17 7184 */ 7185 NODE_ON_HOVER_EVENT = 27, 7186 7187 /** 7188 * @brief Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval. 7189 * 7190 * The callback is triggered when the ratio of the component's visible area to its total area is greater than or 7191 * less than the threshold. Before registering the callback, you must configure the threshold and update interval 7192 * using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>. \n 7193 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7194 * {@link ArkUI_NodeComponentEvent}. \n 7195 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7196 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 7197 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates 7198 * a decrease. \n 7199 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area 7200 * when this callback is invoked. \n 7201 * 7202 * @since 17 7203 */ 7204 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT = 28, 7205 7206 /** 7207 * @brief Defines the hover event. 7208 * 7209 * The event is triggered when the pointer is hovered by a pen device. 7210 * within the component. \n 7211 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 7212 * {@link ArkUI_UIInputEvent} object. \n 7213 * @since 15 7214 */ 7215 NODE_ON_HOVER_MOVE = 29, 7216 7217 /** 7218 * @brief Triggers onDetectResultUpdate callback 7219 * when the text is set to TextDataDetectorConfig and recognized successfully. 7220 * 7221 * Trigger this event when TextDataDetectorConfig is set and recognized successfully.\n 7222 * When the event callback occurs, the event parameter{@link ArkUI_NodeEvent}The union type in the object is 7223 * {@link ArkUI_StringAsyncEvent}.\n 7224 * {@link ArkUI_StringAsyncEvent}contains 1 parameter\n 7225 * <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.\n 7226 * 7227 */ 7228 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 7229 /** 7230 * @brief Defines the long press event for span. 7231 * 7232 * The event is triggered when the span is long pressed. 7233 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 7234 * {@link ArkUI_UIInputEvent} object. \n 7235 * @since 20 7236 */ 7237 NODE_TEXT_SPAN_ON_LONG_PRESS = 1001, 7238 /** 7239 * @brief Defines the image loading success event. 7240 * 7241 * This event is triggered when an image is successfully loaded or decoded. \n 7242 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7243 * {@link ArkUI_NodeComponentEvent}. \n 7244 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 7245 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 7246 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 7247 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 7248 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 7249 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 7250 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 7251 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 7252 * x-axis, in px. \n 7253 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 7254 * y-axis, in px. \n 7255 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 7256 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 7257 */ 7258 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 7259 /** 7260 * @brief Defines the image loading failure event. 7261 * 7262 * This event is triggered when an error occurs during image loading. \n 7263 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7264 * {@link ArkUI_NodeComponentEvent}. \n 7265 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7266 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 7267 * 401: The image could not be obtained because the image path is invalid. \n 7268 * 103101: The image format is not supported. \n 7269 */ 7270 NODE_IMAGE_ON_ERROR, 7271 /** 7272 * @brief Defines the SVG animation playback completion event. 7273 * 7274 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 7275 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7276 * {@link ArkUI_NodeComponentEvent}. \n 7277 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 7278 */ 7279 NODE_IMAGE_ON_SVG_PLAY_FINISH, 7280 /** 7281 * @brief Defines image download process event. 7282 * 7283 * This event is triggered when downloading webpage images from page components.\n 7284 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7285 * {@link ArkUI_NodeComponentEvent}. \n 7286 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 7287 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 7288 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 7289 */ 7290 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 7291 /** 7292 * @brief Defines the event triggered when the toggle status changes. 7293 * 7294 \n 7295 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7296 * {@link ArkUI_NodeComponentEvent}. \n 7297 * {@link ArkUI_NodeComponentEvent} contains one parameter: \n 7298 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 7299 * 7300 */ 7301 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 7302 /** 7303 * @brief Defines the event triggered when the text input content changes. 7304 * 7305 \n 7306 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7307 * {@link ArkUI_StringAsyncEvent}. \n 7308 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7309 * <b>ArkUI_StringAsyncEvent.pStr</b>: text input. 7310 * 7311 */ 7312 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 7313 /** 7314 * @brief Defines the event triggered when the Enter key of the text input method is pressed. 7315 * 7316 \n 7317 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7318 * {@link ArkUI_NodeComponentEvent}. \n 7319 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7320 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 7321 * 7322 */ 7323 NODE_TEXT_INPUT_ON_SUBMIT, 7324 /** 7325 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 7326 * is long pressed, is clicked. 7327 * 7328 \n 7329 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7330 * {@link ArkUI_StringAsyncEvent}. \n 7331 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7332 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 7333 * 7334 */ 7335 NODE_TEXT_INPUT_ON_CUT, 7336 /** 7337 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 7338 * is long pressed, is clicked. 7339 * 7340 \n 7341 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7342 * {@link ArkUI_StringAsyncEvent}. \n 7343 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7344 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 7345 * 7346 */ 7347 NODE_TEXT_INPUT_ON_PASTE, 7348 /** 7349 * @brief Defines the event triggered when the text selection position changes. 7350 * 7351 \n 7352 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7353 * {@link ArkUI_NodeComponentEvent}. \n 7354 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7355 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 7356 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 7357 * 7358 */ 7359 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 7360 7361 /** 7362 * @brief Defines the event triggered when the input status changes. 7363 * 7364 \n 7365 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7366 * {@link ArkUI_NodeComponentEvent}. \n 7367 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7368 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 7369 * 7370 */ 7371 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 7372 7373 /** 7374 * @brief textInput This event is triggered when the input content changes. 7375 * 7376 * Conditions for triggering this event: When the input content changes. \n 7377 * When the event callback occurs, the union type in the event parameter 7378 * {@link ArkUI_NodeEvent} object is {@link ArkUI_NodeComponentEvent}. \n 7379 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 7380 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 7381 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 7382 * 7383 */ 7384 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 7385 7386 /** 7387 * @brief Defines the event triggered when matching with the regular expression specified by 7388 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 7389 * 7390 \n 7391 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7392 * {@link ArkUI_StringAsyncEvent}. \n 7393 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7394 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 7395 * 7396 */ 7397 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 7398 7399 /** 7400 * @brief This callback is triggered when the text content is scrolled. 7401 * 7402 \n 7403 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7404 * {@link ArkUI_NodeComponentEvent}. \n 7405 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7406 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 7407 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 7408 * the text in the content area. \n 7409 * 7410 */ 7411 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 7412 7413 /** 7414 * @brief Defines the event triggered when text is about to be entered. 7415 * 7416 * The event parameter is {@link ArkUI_NodeEvent}. \n 7417 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7418 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7419 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7420 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7421 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 7422 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7423 */ 7424 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 7425 7426 /** 7427 * @brief Defines the event triggered when text is entered. 7428 * 7429 * The event parameter is {@link ArkUI_NodeEvent}. \n 7430 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7431 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7432 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7433 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7434 */ 7435 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 7436 7437 /** 7438 * @brief Defines the event triggered when text is about to be deleted. 7439 * 7440 * The event parameter is {@link ArkUI_NodeEvent}. \n 7441 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 7442 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7443 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7444 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7445 * forward-delete. \n 7446 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7447 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7448 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 7449 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7450 */ 7451 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 7452 7453 /** 7454 * @brief Defines the event triggered when text is deleted. 7455 * 7456 * The event parameter is {@link ArkUI_NodeEvent}. \n 7457 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 7458 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7459 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7460 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7461 * forward-delete. \n 7462 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7463 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7464 */ 7465 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 7466 7467 /** 7468 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextInput</b> 7469 * component. 7470 * 7471 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7472 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7473 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 7474 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 7475 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 7476 * 7477 * @since 15 7478 */ 7479 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 7480 7481 /** 7482 * @brief Defines the event triggered before content changes 7483 * 7484 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7485 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7486 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 7487 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 7488 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 7489 * 7490 * @since 20 7491 */ 7492 NODE_TEXT_INPUT_ON_WILL_CHANGE = 7014, 7493 7494 /** 7495 * @brief Defines the event triggered when the input in the text box changes. 7496 * 7497 \n 7498 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7499 * {@link ArkUI_StringAsyncEvent}. \n 7500 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7501 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 7502 * 7503 */ 7504 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 7505 /** 7506 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 7507 * long pressed, is clicked. 7508 * 7509 \n 7510 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7511 * {@link ArkUI_StringAsyncEvent}. \n 7512 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7513 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 7514 * 7515 */ 7516 NODE_TEXT_AREA_ON_PASTE, 7517 /** 7518 * @brief Defines the event triggered when the text selection position changes. 7519 * 7520 \n 7521 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7522 * {@link ArkUI_NodeComponentEvent}. \n 7523 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7524 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 7525 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 7526 * 7527 */ 7528 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 7529 /** 7530 * @brief Defines the event triggered when matching with the regular expression specified by 7531 * <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails. 7532 * 7533 \n 7534 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7535 * {@link ArkUI_StringAsyncEvent}. \n 7536 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7537 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 7538 * 7539 */ 7540 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 7541 /** 7542 * @brief This callback is triggered when the text content is scrolled. 7543 * 7544 \n 7545 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7546 * {@link ArkUI_NodeComponentEvent}. \n 7547 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7548 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 7549 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 7550 * the text in the content area. \n 7551 * 7552 */ 7553 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 7554 7555 /** 7556 * @brief Defines the event triggered when the input status changes. 7557 * 7558 \n 7559 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 7560 * {@link ArkUI_NodeComponentEvent}. \n 7561 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7562 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 7563 * 7564 */ 7565 NODE_TEXT_AREA_ON_EDIT_CHANGE, 7566 7567 /** 7568 * @brief Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box. 7569 * 7570 * This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>. \n 7571 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 7572 * {@link ArkUI_NodeComponentEvent}. \n 7573 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7574 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key. 7575 * 7576 */ 7577 NODE_TEXT_AREA_ON_SUBMIT, 7578 7579 /** 7580 * @brief textArea This event is triggered when the input content changes. 7581 * 7582 * Conditions for triggering this event: When the input content changes. \n 7583 * When the event callback occurs, the union type in the event parameter {@link ArkUI_NodeEvent} object is \n 7584 * {@link ArkUI_NodeComponentEvent}.\n 7585 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 7586 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 7587 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 7588 * 7589 */ 7590 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 7591 7592 /** 7593 * @brief Defines the event triggered when text is about to be entered. 7594 * 7595 * The event parameter is {@link ArkUI_NodeEvent}. \n 7596 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7597 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7598 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7599 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7600 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 7601 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7602 */ 7603 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 7604 7605 /** 7606 * @brief Defines the event triggered when text is entered. 7607 * 7608 * The event parameter is {@link ArkUI_NodeEvent}. \n 7609 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7610 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7611 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7612 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7613 */ 7614 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 7615 7616 /** 7617 * @brief Defines the event triggered when text is about to be deleted. 7618 * 7619 * The event parameter is {@link ArkUI_NodeEvent}. \n 7620 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 7621 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7622 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7623 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7624 * forward-delete. \n 7625 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7626 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7627 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 7628 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7629 */ 7630 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 7631 7632 /** 7633 * @brief Defines the event triggered when text is deleted. 7634 * 7635 * The event parameter is {@link ArkUI_NodeEvent}. \n 7636 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 7637 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7638 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7639 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7640 * forward-delete. \n 7641 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7642 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7643 */ 7644 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 7645 7646 /** 7647 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextArea</b> 7648 * component. 7649 * 7650 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7651 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7652 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 7653 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 7654 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 7655 * 7656 * @since 15 7657 */ 7658 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 7659 7660 /** 7661 * @brief Defines the event triggered before content changes. 7662 * 7663 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7664 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7665 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 7666 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 7667 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 7668 * 7669 * @since 20 7670 */ 7671 NODE_TEXT_AREA_ON_WILL_CHANGE = 8013, 7672 7673 /** 7674 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 7675 * 7676 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7677 * {@link ArkUI_NodeComponentEvent}. \n 7678 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 7679 */ 7680 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 7681 7682 /** 7683 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 7684 * 7685 \n 7686 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7687 * {@link ArkUI_NodeComponentEvent}. \n 7688 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7689 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 7690 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 7691 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 7692 */ 7693 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 7694 7695 /** 7696 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 7697 * 7698 \n 7699 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7700 * {@link ArkUI_NodeComponentEvent}. \n 7701 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7702 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 7703 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 7704 */ 7705 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 7706 7707 /** 7708 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 7709 * 7710 \n 7711 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7712 * {@link ArkUI_NodeComponentEvent}. \n 7713 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7714 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7715 */ 7716 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 7717 7718 /** 7719 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 7720 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 7721 * 7722 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7723 * {@link ArkUI_NodeComponentEvent}. \n 7724 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7725 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7726 * 7727 * @since 14 7728 */ 7729 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 7730 7731 /** 7732 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 7733 * 7734 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7735 * {@link ArkUI_NodeComponentEvent}. \n 7736 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 7737 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 7738 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 7739 */ 7740 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 7741 7742 /** 7743 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 7744 * 7745 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7746 * {@link ArkUI_NodeComponentEvent}. \n 7747 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7748 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 7749 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 7750 */ 7751 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 7752 7753 /** 7754 * @brief Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO. 7755 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7756 * {@Link ArkUI_NodeComponentEvent}. \n 7757 * {@Link ArkUI_NodeComponentEvent} contains one parameter:\n 7758 * ArkUI_NodeComponentEvent.data[0].i32: option button status. \n 7759 */ 7760 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 7761 7762 /** 7763 * @brief Defines the event callback function triggered when the animation starts to play. 7764 * 7765 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7766 * {@Link ArkUI_NodeComponentEvent}. \n 7767 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7768 * 7769 */ 7770 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 7771 /** 7772 * @brief Defines the event callback function triggered when the animation playback is paused. 7773 * 7774 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7775 * {@Link ArkUI_NodeComponentEvent}. \n 7776 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7777 * 7778 */ 7779 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 7780 /** 7781 * @brief Defines the event callback function triggered when the animation playback is repeated. 7782 * 7783 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7784 * {@Link ArkUI_NodeComponentEvent}. \n 7785 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7786 * 7787 */ 7788 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 7789 /** 7790 * @brief Defines the event callback function when the animation playback returns to the initial state. 7791 * 7792 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7793 * {@Link ArkUI_NodeComponentEvent}. \n 7794 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7795 * 7796 */ 7797 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 7798 /** 7799 * @brief Defines the event callback function triggered when the animation playback is complete or stopped. 7800 * 7801 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7802 * {@Link ArkUI_NodeComponentEvent}. \n 7803 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7804 * 7805 */ 7806 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 7807 7808 /** 7809 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 7810 * or checkbox changes. 7811 * 7812 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7813 * {@link ArkUI_StringAsyncEvent}. \n 7814 * <b>ArkUI_StringAsyncEvent.pStr</b> 7815 * Name: The names of the selected checkboxes; 7816 * Status: 7817 * 0: All checkboxes are selected. 7818 * 1: Some checkboxes are selected. 7819 * 2: No checkboxes are selected. \n 7820 * 7821 * @since 15 7822 */ 7823 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 7824 7825 /** 7826 * @brief Defines the event triggered when the index of the currently displayed element of this 7827 * <b>ARKUI_NODE_SWIPER</b> instance changes. 7828 * 7829 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7830 * {@link ArkUI_NodeComponentEvent}. \n 7831 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7832 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7833 */ 7834 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 7835 7836 /** 7837 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 7838 * 7839 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7840 * {@link ArkUI_NodeComponentEvent}. \n 7841 * {@link ArkUI_NodeComponentEvent} contains five parameters: \n 7842 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7843 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 7844 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 7845 * start position of the swiper along the main axis. \n 7846 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 7847 * of the swiper along the main axis. \n 7848 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 7849 */ 7850 NODE_SWIPER_EVENT_ON_ANIMATION_START, 7851 7852 /** 7853 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 7854 * 7855 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7856 * {@link ArkUI_NodeComponentEvent}. \n 7857 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7858 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7859 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7860 * start position of the swiper along the main axis. \n 7861 */ 7862 NODE_SWIPER_EVENT_ON_ANIMATION_END, 7863 7864 /** 7865 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 7866 * <b>ARKUI_NODE_SWIPER</b> instance. 7867 * 7868 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7869 * {@link ArkUI_NodeComponentEvent}. \n 7870 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7871 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7872 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7873 * start position of the swiper along the main axis. \n 7874 */ 7875 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 7876 7877 /** 7878 * @brief Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events. 7879 * Instruction: \n 7880 * 1. If the {@link ArkUI_SwiperDisplayModeType} attribute is set to \n 7881 * ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect. \n 7882 * 2, circular scenario, set prevMargin and nextMargin attributes, \n 7883 * so that Swiper front and back end display the same page, the interface does not take effect. \n 7884 * 3. During page sliding, the ContentDidScrollCallback callback is \n 7885 * triggered frame-by-frame for all pages in the window. \n 7886 * For example, when there are two pages in the window with subscripts 0 and 1, \n 7887 * callbacks with index values 0 and 1 are triggered twice per frame. \n 7888 * 4, set the swipeByGroup parameter of the displayCount property to \n 7889 * true if at least one page in the same group is in the window, \n 7890 * A callback is triggered for all pages in the group. \n 7891 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7892 * {@link ArkUI_NodeComponentEvent}. \n 7893 * {@link ArkUI_NodeComponentEvent} contains four parameters:\n 7894 * <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component, \n 7895 * which is consistent with the index change in the onChange event. \n 7896 * <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window. \n 7897 * <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to \n 7898 * the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page). \n 7899 * <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction. \n 7900 */ 7901 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 7902 7903 /** 7904 * @brief Defines the event triggered when content in the swiper component will scroll. 7905 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 7906 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7907 * {@link ArkUI_NodeComponentEvent}. \n 7908 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7909 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 7910 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 7911 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 7912 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 7913 * slide forward(e.g. from index=0 to index=1). \n 7914 * 7915 * @since 15 7916 */ 7917 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 7918 7919 /** 7920 * @brief Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed. 7921 * 7922 * This event is triggered under the following scenarios: \n 7923 * 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets 7924 * the threshold for page turning. \n 7925 * 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or 7926 * <b>NODE_SWIPER_SWIPE_TO_INDEX</b>. \n 7927 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7928 * {@link ArkUI_NodeComponentEvent}. \n 7929 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7930 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element. \n 7931 * 7932 * @since 18 7933 */ 7934 NODE_SWIPER_EVENT_ON_SELECTED = 1001005, 7935 7936 /** 7937 * @brief Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed. 7938 * 7939 * This event is triggered under the following scenarios: \n 7940 * 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets 7941 * the threshold for page turning. \n 7942 * 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or 7943 * <b>NODE_SWIPER_SWIPE_TO_INDEX</b>. \n 7944 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7945 * {@link ArkUI_NodeComponentEvent}. \n 7946 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7947 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected. \n 7948 * 7949 * @since 18 7950 */ 7951 NODE_SWIPER_EVENT_ON_UNSELECTED = 1001006, 7952 7953 /** 7954 * @brief Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event. 7955 * This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging, 7956 * during the animation phase after the user lifts their finger, or upon stopping of scrolling. 7957 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7958 * {@link ArkUI_NodeComponentEvent}. \n 7959 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7960 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is 7961 * {@link ArkUI_ScrollState}. \n 7962 * 7963 * @since 20 7964 */ 7965 NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED = 1001008, 7966 7967 /** 7968 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 7969 * 7970 * Notes for triggering the event:\n 7971 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7972 * settings, such as keyboard and mouse operations. \n 7973 * 2. Scrolling can be initiated by calling the controller API. \n 7974 * 3. The out-of-bounds bounce effect is supported. \n 7975 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7976 * {@link ArkUI_NodeComponentEvent}. \n 7977 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7978 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 7979 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 7980 */ 7981 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 7982 /** 7983 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 7984 * 7985 * Notes for triggering the event:\n 7986 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7987 * settings, such as keyboard and mouse operations. \n 7988 * 2. This event is not triggered when the controller API is called. \n 7989 * 3. This event does not support the out-of-bounds bounce effect. \n 7990 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7991 * {@link ArkUI_NodeComponentEvent}. \n 7992 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7993 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 7994 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 7995 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 7996 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 7997 * needs to scroll based on the real-world situation and return the result in this parameter. \n 7998 */ 7999 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 8000 8001 /** 8002 * @brief Define the enumeration value of the pre sliding trigger event for the scrolling container component. 8003 * 8004 * The conditions that trigger this event: \n 8005 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 8006 * operations that trigger scrolling.\n 8007 * 2. Called through the rolling controller API interface.\n 8008 * 3. Cross boundary rebound.\n 8009 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 8010 * {@link ArkUI_NodeComponentEvent}. \n 8011 * {@link ArkUI_NodeComponentEvent} contains four parameters: \n 8012 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 8013 * the left and negative when scrolling to the right, measured in vp. \n 8014 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 8015 * scrolling up and a negative offset when scrolling down, measured in vp. \n 8016 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 8017 * parameter type is {@link ArkUI_ScrollState}. \n 8018 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source, \n 8019 * parameter type is {@link ArkUI_ScrollSource}. \n 8020 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. 8021 */ 8022 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 8023 /** 8024 * @brief Define the event enumeration value triggered when sliding a scrolling container component. 8025 * 8026 * The conditions that trigger this event: \n 8027 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 8028 * operations that trigger scrolling.\n 8029 * 2. Called through the rolling controller API interface.\n 8030 * 3. Cross boundary rebound.\n 8031 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 8032 * {@link ArkUI_NodeComponentEvent}. \n 8033 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 8034 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 8035 * the left and negative when scrolling to the right, measured in vp. \n 8036 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 8037 * scrolling up and a negative offset when scrolling down, measured in vp. \n 8038 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 8039 parameter type is {@link ArkUI_ScrollState}. \n 8040 */ 8041 NODE_SCROLL_EVENT_ON_DID_SCROLL, 8042 8043 /** 8044 * @brief Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 8045 * 8046 * Notes for triggering the event:\n 8047 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 8048 * and mouse operations. \n 8049 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 8050 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8051 * {@link ArkUI_NodeComponentEvent}. \n 8052 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8053 */ 8054 NODE_SCROLL_EVENT_ON_SCROLL_START, 8055 /** 8056 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 8057 * 8058 * Notes for triggering the event:\n 8059 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 8060 * settings, such as keyboard and mouse operations. \n 8061 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 8062 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8063 * {@link ArkUI_NodeComponentEvent}. \n 8064 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8065 */ 8066 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 8067 /** 8068 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 8069 * one of the edges. 8070 * 8071 * Notes for triggering the event:\n 8072 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 8073 * component or other input settings, such as keyboard and mouse operations. \n 8074 * 2. Scrolling can be initiated by calling the controller API. \n 8075 * 3. The out-of-bounds bounce effect is supported. \n 8076 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8077 * {@link ArkUI_NodeComponentEvent}. \n 8078 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 8079 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 8080 */ 8081 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 8082 /** 8083 * @brief Define that a callback is triggered when the scrolling container component reaches the start position. 8084 * Condition for triggering the event: \n 8085 * Triggered when the component reaches the start position. \n 8086 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 8087 * {@Link ArkUI_NodeComponentEvent}. \n 8088 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 8089 */ 8090 NODE_SCROLL_EVENT_ON_REACH_START, 8091 /** 8092 * @brief Define that a callback is triggered when the scrolling container component ends. \n 8093 * Condition for triggering the event: \n 8094 * Triggered when the component reaches the end. \n 8095 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 8096 * {@Link ArkUI_NodeComponentEvent}. \n 8097 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 8098 */ 8099 NODE_SCROLL_EVENT_ON_REACH_END, 8100 /** 8101 * @brief Defines the callback for when the user is about to release the drag on the scrollable container component. 8102 * 8103 * This event is triggered when the user is about to release the drag on the scrollable container component. \n 8104 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8105 * {@link ArkUI_NodeComponentEvent}. \n 8106 * {@link ArkUI_NodeComponentEvent} contains one parameter: \n 8107 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp. \n 8108 * 8109 * @since 20 8110 */ 8111 NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING, 8112 /** 8113 * @brief Defines the callback for the <b>Scroll</b> component's zoom event, 8114 * triggered at the end of each frame during zooming. \n 8115 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8116 * is {@link ArkUI_NodeComponentEvent}. \n 8117 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8118 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale. \n 8119 * 8120 * @since 20 8121 */ 8122 NODE_SCROLL_EVENT_ON_DID_ZOOM, 8123 /** 8124 * @brief Defines the callback for the <b>Scroll</b> component's zoom start event, 8125 * triggered when zooming begins. \n 8126 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8127 * is {@link ArkUI_NodeComponentEvent}. \n 8128 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8129 * 8130 * @since 20 8131 */ 8132 NODE_SCROLL_EVENT_ON_ZOOM_START, 8133 /** 8134 * @brief Defines the callback for the <b>Scroll</b> component's zoom end event, 8135 * triggered when zooming ends. \n 8136 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8137 * is {@link ArkUI_NodeComponentEvent}. \n 8138 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8139 * 8140 * @since 20 8141 */ 8142 NODE_SCROLL_EVENT_ON_ZOOM_STOP, 8143 /** 8144 * @brief Defines the enumerated values of the event triggered, \n 8145 * when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area. \n 8146 * Condition for triggering the event: \n 8147 * This method is triggered once during list initialization. \n 8148 * It is triggered when the index value of the first or last subcomponent in the list display area changes. \n 8149 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 8150 * {@Link ArkUI_NodeComponentEvent}. \n 8151 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 8152 * ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of \n 8153 * the first child component in the region. \n 8154 * ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of \n 8155 * the last child component in the region. \n 8156 * ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of \n 8157 * the subcomponent in the middle of the area. \n 8158 */ 8159 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 8160 /** 8161 * @brief Defines the enumerated values of the event triggered 8162 * before the sliding of the ARKUI_NODE_LIST component. \n 8163 * Condition for triggering the event: \n 8164 * This event is triggered when the scrolling component triggers scrolling. \n 8165 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 8166 * Called through the scroll controller API. \n 8167 * Out-of-bounds rebound. \n 8168 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8169 * {@Link ArkUI_NodeComponentEvent}. \n 8170 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 8171 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 8172 * The offset is positive when the list content is scrolled up and \n 8173 * is negative when the list content is scrolled down. \n 8174 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 8175 * parameter type is {@link ArkUI_ScrollState}. \n 8176 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 8177 * parameter type is {@link ArkUI_ScrollSource}. \n 8178 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 8179 */ 8180 NODE_LIST_ON_WILL_SCROLL, 8181 /** 8182 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked. 8183 * Condition for triggering the event: \n 8184 * This event is triggered when the scrolling component triggers scrolling. \n 8185 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 8186 * Called through the scroll controller API. \n 8187 * Out-of-bounds rebound. \n 8188 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8189 * {@Link ArkUI_NodeComponentEvent}. \n 8190 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 8191 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 8192 * The offset is positive when the list content is scrolled up and \n 8193 * is negative when the list content is scrolled down. \n 8194 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 8195 */ 8196 NODE_LIST_ON_DID_SCROLL, 8197 8198 /** 8199 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 8200 * 8201 * Notes for triggering the event:\n 8202 * This event is triggered once when the list is initialized and when the index of the first child component or the 8203 * next child component in the list display area changes. 8204 * During index calculation, the list item, header of the list item group, and footer of the list item group each 8205 * are counted as a child component. \n 8206 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8207 * {@link ArkUI_NodeComponentEvent}. \n 8208 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 8209 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 8210 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 8211 * The type is {@link ArkUI_ListItemGroupArea}. \n 8212 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 8213 * in the list item group. 8214 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 8215 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area. \n 8216 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends. 8217 * The type is {@link ArkUI_ListItemGroupArea}. \n 8218 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the 8219 * list item group. 8220 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 8221 * 8222 * @since 15 8223 */ 8224 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 8225 8226 /** 8227 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 8228 * 8229 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8230 * {@link ArkUI_NodeComponentEvent}. \n 8231 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8232 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 8233 */ 8234 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 8235 /** 8236 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 8237 * 8238 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8239 * {@link ArkUI_NodeComponentEvent}. \n 8240 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 8241 */ 8242 NODE_REFRESH_ON_REFRESH, 8243 8244 /** 8245 * @brief Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes. 8246 * 8247 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8248 * {@link ArkUI_NodeComponentEvent}. \n 8249 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8250 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance. \n 8251 */ 8252 NODE_REFRESH_ON_OFFSET_CHANGE, 8253 8254 /** 8255 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 8256 * 8257 * Notes for triggering the event:\n 8258 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 8259 * input settings, such as keyboard and mouse operations. \n 8260 * 2. Scrolling can be initiated by calling the controller API. \n 8261 * 3. The out-of-bounds bounce effect is supported. \n 8262 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8263 * {@link ArkUI_NodeComponentEvent}. \n 8264 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 8265 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 8266 * The offset is positive when the list content is scrolled up and \n 8267 * is negative when the list content is scrolled down. \n 8268 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 8269 * parameter type is {@link ArkUI_ScrollState}. \n 8270 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 8271 * parameter type is {@link ArkUI_ScrollSource}. \n 8272 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 8273 */ 8274 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 8275 /** 8276 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides. 8277 * Condition for triggering the event: \n 8278 * This event is triggered when the scrolling component triggers scrolling. 8279 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 8280 * Called through the scroll controller API. \n 8281 * Out-of-bounds rebound. \n 8282 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8283 * {@Link ArkUI_NodeComponentEvent}. \n 8284 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 8285 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 8286 * The offset is positive when the content is scrolled up and is negative when the content is scrolled down. \n 8287 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 8288 */ 8289 NODE_WATER_FLOW_ON_DID_SCROLL, 8290 /** 8291 * @brief Defines the enumerated values of the event triggered, 8292 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 8293 * Condition for triggering the event: \n 8294 * This event is triggered when the index value of the \n 8295 * first or last subcomponent in the waterfall display area changes. \n 8296 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8297 * {@Link ArkUI_NodeComponentEvent}. \n 8298 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 8299 * ArkUI_NodeComponentEvent.data[0].i32: The index value of the \n 8300 * start position of the currently displayed WaterFlow. \n 8301 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 8302 * the end position of the currently displayed waterfall. \n 8303 */ 8304 NODE_WATER_FLOW_ON_SCROLL_INDEX, 8305 } ArkUI_NodeEventType; 8306 8307 /** 8308 * @brief Defines the common structure type of a component event. 8309 * 8310 * @since 12 8311 */ 8312 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 8313 8314 /** 8315 * @brief Obtains the type of a component event. 8316 * 8317 * @param event Indicates the pointer to the component event. 8318 * @return Returns the type of the component event. 8319 * @since 12 8320 */ 8321 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 8322 8323 /** 8324 * @brief Obtains the custom ID of a component event. 8325 * 8326 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 8327 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 8328 * 8329 * @param event Indicates the pointer to the component event. 8330 * @return Returns the custom ID of the component event. 8331 * @since 12 8332 */ 8333 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 8334 8335 /** 8336 * @brief Obtains the component object that triggers a component event. 8337 * 8338 * @param event Indicates the pointer to the component event. 8339 * @return Returns the component object that triggers the component event. 8340 * @since 12 8341 */ 8342 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 8343 8344 /** 8345 * @brief Obtains input event (for example, touch event) data for a component event. 8346 * 8347 * @param event Indicates the pointer to the component event. 8348 * @return Returns the pointer to the input event data. 8349 * @since 12 8350 */ 8351 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 8352 8353 /** 8354 * @brief Obtains the numerical data in a component event. 8355 * 8356 * @param event Indicates the pointer to the component event. 8357 * @return Returns the pointer to the numerical data. 8358 * @since 12 8359 */ 8360 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 8361 8362 /** 8363 * @brief Obtains the string data in a component event. 8364 * 8365 * @param event Indicates the pointer to the component event. 8366 * @return Returns the pointer to the string data. 8367 * @since 12 8368 */ 8369 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 8370 8371 /** 8372 * @brief Obtains the ArkUI_TextChangeEvent data from a component event. 8373 * 8374 * @param event Pointer to a component event. It cannot be null. 8375 * @return Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object. 8376 * @since 15 8377 */ 8378 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 8379 8380 /** 8381 * @brief Obtains the custom data in a component event. 8382 * 8383 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 8384 * is triggered. 8385 * 8386 * @param event Indicates the pointer to the component event. 8387 * @return Returns the pointer to the custom data. 8388 * @since 12 8389 */ 8390 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 8391 8392 /** 8393 * @brief Obtains the numeric-type parameter of a component event. 8394 * 8395 * @param event Indicates the pointer to the component event. 8396 * @param index Indicates the index of the return value. 8397 * @param value Indicates the return value. 8398 * @return Returns the error code. 8399 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8400 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 8401 * the limit. 8402 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 8403 * @since 12 8404 */ 8405 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 8406 8407 /** 8408 * @brief Obtains the string-type parameter of a component event. The string data is valid only during an event 8409 * callback. To use it outside an event callback, you are advised to copy the string data. 8410 * 8411 * @param event Indicates the pointer to the component event. 8412 * @param index Indicates the index of the return value. 8413 * @param string Indicates the pointer to the string array. 8414 * @param stringSize Indicates the length of the string array. 8415 * @return Returns the error code. 8416 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8417 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 8418 * the limit. 8419 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 8420 * @since 12 8421 */ 8422 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 8423 8424 /** 8425 * @brief Sets the return value for a component event. 8426 * 8427 * @param event Indicates the pointer to the component event. 8428 * @param value Indicates the numeric-type array. 8429 * @param size Indicates the array length. 8430 * @return Returns the error code. 8431 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8432 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} if the component event does not support return values. 8433 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if data does not exist in the component event. 8434 * @since 12 8435 */ 8436 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 8437 8438 /** 8439 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 8440 * 8441 * @since 12 8442 */ 8443 typedef enum { 8444 /** 8445 * @brief Remeasure. 8446 * 8447 * When this type of flag is specified, re-layout is triggered by default. 8448 */ 8449 NODE_NEED_MEASURE = 1, 8450 8451 /** Re-layout. */ 8452 NODE_NEED_LAYOUT, 8453 /** Re-rendering. */ 8454 NODE_NEED_RENDER, 8455 } ArkUI_NodeDirtyFlag; 8456 8457 /** 8458 * @brief Defines the custom component event type. 8459 * 8460 * @since 12 8461 */ 8462 typedef enum { 8463 /** Measure type. */ 8464 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 8465 /** Layout type. */ 8466 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 8467 /** Draw type. */ 8468 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 8469 /** Foreground type. */ 8470 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 8471 /** Overlay type. */ 8472 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 8473 /** 8474 * Draw front type. 8475 * @since 20 8476 */ 8477 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT = 1 << 5, 8478 /** 8479 * Draw behind type. 8480 * @since 20 8481 */ 8482 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND = 1 << 6, 8483 } ArkUI_NodeCustomEventType; 8484 8485 /** 8486 * @brief Defines the general structure of a custom component event. 8487 * 8488 * @since 12 8489 */ 8490 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 8491 8492 /** 8493 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 8494 * 8495 * @since 12 8496 */ 8497 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 8498 8499 /** 8500 * @brief Defines the component adapter event. 8501 * 8502 * @since 12 8503 */ 8504 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 8505 8506 /** 8507 * @brief Enumerates component adapter events. 8508 * 8509 * @since 12 8510 */ 8511 typedef enum { 8512 /** This event occurs when the component is attached to the adapter. */ 8513 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 8514 /** This event occurs when the component is detached from the adapter. */ 8515 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 8516 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 8517 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 8518 /** This event occurs when the adapter obtains the content of the new element to add. */ 8519 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 8520 /** This event occurs when the adapter removes an element. */ 8521 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 8522 } ArkUI_NodeAdapterEventType; 8523 8524 /** 8525 * @brief Creates a component adapter. 8526 * 8527 * @since 12 8528 */ 8529 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(); 8530 8531 /** 8532 * @brief Destroys a component adapter. 8533 * 8534 * @param handle Indicates the target component adapter. 8535 * @since 12 8536 */ 8537 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 8538 8539 /** 8540 * @brief Sets the total number of elements in the specified adapter. 8541 * 8542 * @param handle Indicates the target component adapter. 8543 * @param size Indicates the number of elements. 8544 * @return Returns the error code. 8545 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8546 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8547 * @since 12 8548 */ 8549 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 8550 8551 /** 8552 * @brief Obtains the total number of elements in the specified adapter. 8553 * 8554 * @param handle Indicates the target component adapter. 8555 * @return Returns the total number of elements in the adapter. 8556 * @since 12 8557 */ 8558 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 8559 8560 /** 8561 * @brief Registers an event callback for the adapter. 8562 * 8563 * @param handle Indicates the target component adapter. 8564 * @param userData Indicates custom data. 8565 * @param receiver Indicates the event receiver callback. 8566 * @return Returns the error code. 8567 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8568 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8569 * @since 12 8570 */ 8571 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 8572 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 8573 8574 /** 8575 * @brief Deregisters an event callback for the adapter. 8576 * 8577 * @param handle Indicates the target component adapter. 8578 * @since 12 8579 */ 8580 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 8581 8582 /** 8583 * @brief Instructs the specified adapter to reload all elements. 8584 * 8585 * @param handle Indicates the target component adapter. 8586 * @return Returns the error code. 8587 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8588 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8589 * @since 12 8590 */ 8591 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 8592 8593 /** 8594 * @brief Instructs the specified adapter to reload certain elements. 8595 * 8596 * @param handle Indicates the target component adapter. 8597 * @param startPosition Indicates the start position of the elements to reload. 8598 * @param itemCount Indicates the number of the elements to reload. 8599 * @return Returns the error code. 8600 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8601 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8602 * @since 12 8603 */ 8604 int32_t OH_ArkUI_NodeAdapter_ReloadItem( 8605 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8606 8607 /** 8608 * @brief Instructs the specified adapter to remove certain elements. 8609 * 8610 * @param handle Indicates the target component adapter. 8611 * @param startPosition Indicates the start position of the elements to remove. 8612 * @param itemCount Indicates the number of the elements to remove. 8613 * @return Returns the error code. 8614 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8615 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8616 * @since 12 8617 */ 8618 int32_t OH_ArkUI_NodeAdapter_RemoveItem( 8619 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8620 8621 /** 8622 * @brief Instructs the specified adapter to insert certain elements. 8623 * 8624 * @param handle Indicates the target component adapter. 8625 * @param startPosition Indicates the start position of the elements to insert. 8626 * @param itemCount Indicates the number of the elements to insert. 8627 * @return Returns the error code. 8628 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8629 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8630 * @since 12 8631 */ 8632 int32_t OH_ArkUI_NodeAdapter_InsertItem( 8633 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8634 8635 /** 8636 * @brief Instructs the specified adapter to move certain elements. 8637 * 8638 * @param handle Indicates the target component adapter. 8639 * @param from Indicates the start position of the elements to move. 8640 * @param to Indicates the end position of the elements to move. 8641 * @return Returns the error code. 8642 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8643 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8644 * @since 12 8645 */ 8646 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 8647 8648 /** 8649 * @brief Obtains all elements stored in the specified adapter. 8650 * 8651 * This API returns the pointer to the array of the elements. You need to manually release the memory data 8652 * to which the pointer points. 8653 * 8654 * @param handle Indicates the target component adapter. 8655 * @param items Indicates the pointer to the array of the elements in the adapter. 8656 * @param size Indicates the number of elements. 8657 * @return Returns the error code. 8658 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8659 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8660 * @since 12 8661 */ 8662 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 8663 8664 /** 8665 * @brief Obtains the custom data passed in during registration of the specified event. 8666 * 8667 * @param event Indicates the target adapter event. 8668 * @since 12 8669 */ 8670 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 8671 8672 /** 8673 * @brief Obtains the event type. 8674 * 8675 * @param event Indicates the target adapter event. 8676 * @return Returns the event type. 8677 * @since 12 8678 */ 8679 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 8680 8681 /** 8682 * @brief Obtains the element to be removed for the event to be destroyed. 8683 * 8684 * @param event Indicates the target adapter event. 8685 * @return Returns the element to be removed. 8686 * @since 12 8687 */ 8688 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 8689 8690 /** 8691 * @brief Obtains the index of the element to be operated for the specified adapter event. 8692 * 8693 * @param event Indicates the target adapter event. 8694 * @return Returns the index of the element. 8695 * @since 12 8696 */ 8697 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 8698 8699 /** 8700 * @brief Obtains the scrollable container node that uses the specified adapter. 8701 * 8702 * @param event Indicates the target adapter event. 8703 * @return Returns the scrollable container node that uses the specified adapter. 8704 * @since 12 8705 */ 8706 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 8707 8708 /** 8709 * @brief Sets the component to be added to the specified adapter. 8710 * 8711 * @param event Indicates the target adapter event. 8712 * @param node Indicates the component to be added. 8713 * @return Returns the error code. 8714 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8715 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8716 * @since 12 8717 */ 8718 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 8719 8720 /** 8721 * @brief Sets the component ID to be generated. 8722 * 8723 * @param event Indicates the target adapter event. 8724 * @param id Indicates the component ID to set. 8725 * @return Returns the error code. 8726 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8727 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8728 * @since 12 8729 */ 8730 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 8731 8732 /** 8733 * @brief Declares a collection of native node APIs provided by ArkUI. 8734 * 8735 * The APIs related to the native node must be called in the main thread. 8736 * 8737 * @version 1 8738 * @since 12 8739 */ 8740 typedef struct { 8741 /** Struct version. */ 8742 int32_t version; 8743 8744 /** 8745 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 8746 * 8747 * @param type Indicates the type of component to create. 8748 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 8749 */ 8750 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 8751 8752 /** 8753 * @brief Destroys the component to which the specified pointer points. 8754 * 8755 * @param node Indicates the pointer. 8756 */ 8757 void (*disposeNode)(ArkUI_NodeHandle node); 8758 8759 /** 8760 * @brief Adds a component to a parent node. 8761 * 8762 * @param parent Indicates the pointer to the parent node. 8763 * @param child Indicates the pointer to the child node. 8764 * @return Returns the error code. 8765 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8766 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8767 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8768 * on BuilderNode generated nodes: 8769 * setting or resetting attributes, setting events, or adding or editing subnodes. 8770 */ 8771 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8772 8773 /** 8774 * @brief Removes a component from its parent node. 8775 * 8776 * @param parent Indicates the pointer to the parent node. 8777 * @param child Indicates the pointer to the child node. 8778 * @return Returns the error code. 8779 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8780 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8781 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8782 * on BuilderNode generated nodes: 8783 * setting or resetting attributes, setting events, or adding or editing subnodes. 8784 */ 8785 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8786 8787 /** 8788 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 8789 * 8790 * @param parent Indicates the pointer to the parent node. 8791 * @param child Indicates the pointer to the child node. 8792 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 8793 * If the value is null, the node is inserted at the start of the parent node. 8794 * @return Returns the error code. 8795 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8796 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8797 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8798 * on BuilderNode generated nodes: 8799 * setting or resetting attributes, setting events, or adding or editing subnodes. 8800 */ 8801 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8802 8803 /** 8804 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 8805 * 8806 * @param parent Indicates the pointer to the parent node. 8807 * @param child Indicates the pointer to the child node. 8808 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 8809 * If the value is null, the node is inserted at the end of the parent node. 8810 * @return Returns the error code. 8811 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8812 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8813 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8814 * on BuilderNode generated nodes: 8815 * setting or resetting attributes, setting events, or adding or editing subnodes. 8816 */ 8817 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8818 8819 /** 8820 * @brief Inserts a component to the specified position in a parent node. 8821 * 8822 * @param parent Indicates the pointer to the parent node. 8823 * @param child Indicates the pointer to the child node. 8824 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 8825 * negative number or invalid, the node is inserted at the end of the parent node. 8826 * @return Returns the error code. 8827 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8828 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8829 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8830 * on BuilderNode generated nodes: 8831 * setting or resetting attributes, setting events, or adding or editing subnodes. 8832 */ 8833 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 8834 8835 /** 8836 * @brief Sets the attribute of a node. 8837 * 8838 * @param node Indicates the node whose attribute needs to be set. 8839 * @param attribute Indicates the type of attribute to set. 8840 * @param value Indicates the attribute value. 8841 * @return Returns the error code. 8842 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8843 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8844 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8845 * of the native API was not found. 8846 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8847 * on BuilderNode generated nodes: 8848 * setting or resetting attributes, setting events, or adding or editing subnodes. 8849 */ 8850 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 8851 8852 /** 8853 * @brief Obtains an attribute. 8854 * 8855 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 8856 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 8857 * time. Otherwise, the pointer may be overwritten by other values. 8858 * @param node Indicates the node whose attribute needs to be obtained. 8859 * @param attribute Indicates the type of attribute to obtain. 8860 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 8861 */ 8862 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8863 8864 /** 8865 * @brief Resets an attribute. 8866 * 8867 * @param node Indicates the node whose attribute needs to be reset. 8868 * @param attribute Indicates the type of attribute to reset. 8869 * @return Returns the error code. 8870 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8871 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8872 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8873 * of the native API was not found. 8874 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8875 * on BuilderNode generated nodes: 8876 * setting or resetting attributes, setting events, or adding or editing subnodes. 8877 */ 8878 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8879 8880 /** 8881 * @brief Registers an event for the specified node. 8882 * 8883 * When the component is being displayed, this API must be called in the main thread. 8884 * 8885 * @param node Indicates the target node. 8886 * @param eventType Indicates the type of event to register. 8887 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 8888 * when the event is triggered. 8889 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 8890 * @return Returns the error code. 8891 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8892 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8893 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8894 * of the native API was not found. 8895 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8896 * on BuilderNode generated nodes: 8897 * setting or resetting attributes, setting events, or adding or editing subnodes. 8898 */ 8899 int32_t (*registerNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, 8900 int32_t targetId, void* userData); 8901 8902 /** 8903 * @brief Unregisters an event for the specified node. 8904 * 8905 * When the component is being displayed, this API must be called in the main thread. 8906 * 8907 * @param node Indicates the target node. 8908 * @param eventType Indicates the type of event to unregister. 8909 */ 8910 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 8911 8912 /** 8913 * @brief Registers an event receiver. 8914 * 8915 * The ArkUI framework collects component events generated during the process and calls back the events through 8916 * the registered event receiver. \n 8917 * A new call to this API will overwrite the previously registered event receiver. \n 8918 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the 8919 * callback is complete. \n 8920 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 8921 * 8922 * @param eventReceiver Indicates the event receiver to register. 8923 */ 8924 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 8925 8926 /** 8927 * @brief Unregisters the event receiver. 8928 * 8929 */ 8930 void (*unregisterNodeEventReceiver)(); 8931 8932 /** 8933 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 8934 * 8935 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 8936 * measuring, layout, or rendering again. In this case, you do not need to call this API. 8937 * @param node Indicates the node for which you want to mark as dirty area. 8938 * @param dirtyFlag Indicates type of dirty area. 8939 */ 8940 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 8941 8942 /** 8943 * @brief Obtains the number of subnodes. 8944 * 8945 * @param node Indicates the target node. 8946 * @return the number of subnodes. If not, returns 0. 8947 */ 8948 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 8949 8950 /** 8951 * @brief Obtains a subnode. 8952 * 8953 * @param node Indicates the target node. 8954 * @param position Indicates the position of the subnode. 8955 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8956 */ 8957 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 8958 8959 /** 8960 * @brief Obtains the first subnode. 8961 * 8962 * @param node Indicates the target node. 8963 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8964 */ 8965 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 8966 8967 /** 8968 * @brief Obtains the last subnode. 8969 * 8970 * @param node Indicates the target node. 8971 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8972 */ 8973 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 8974 8975 /** 8976 * @brief Obtains the previous sibling node. 8977 * 8978 * @param node Indicates the target node. 8979 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8980 */ 8981 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 8982 8983 /** 8984 * @brief Obtains the next sibling node. 8985 * 8986 * @param node Indicates the target node. 8987 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8988 */ 8989 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 8990 8991 /** 8992 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 8993 * point function registered by <b>registerNodeCustomEventReceiver</b>. 8994 * 8995 * @param node Indicates the target node. 8996 * @param eventType Indicates the type of event to register. 8997 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 8998 * when the event is triggered. 8999 * @param userData Indicates the custom event parameter, which is passed in the callback of 9000 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 9001 * @return Returns the error code. 9002 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9003 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9004 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 9005 * of the native API was not found. 9006 */ 9007 int32_t (*registerNodeCustomEvent)( 9008 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 9009 9010 /** 9011 * @brief Unregisters a custom event for a node. 9012 * 9013 * @param node Indicates the target node. 9014 * @param eventType Indicates the type of event to unregister. 9015 */ 9016 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 9017 9018 /** 9019 * @brief Registers a unified entry point function for custom node event callbacks. 9020 * 9021 * The ArkUI framework collects custom component events generated during the process and calls back the events 9022 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 9023 * A new call to this API will overwrite the previously registered event receiver. 9024 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 9025 * The data will be destroyed after the callback is complete. \n 9026 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 9027 * 9028 * @param eventReceiver Indicates the event receiver to register. 9029 */ 9030 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9031 9032 /** 9033 * @brief Unregisters the unified entry point function for custom node event callbacks. 9034 * 9035 */ 9036 void (*unregisterNodeCustomEventReceiver)(); 9037 9038 /** 9039 * @brief Sets the width and height for a component after the measurement. 9040 * 9041 * @param node Indicates the target node. 9042 * @param width Indicates the width. 9043 * @param height Indicates the height. 9044 * @return Returns the error code. 9045 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9046 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9047 */ 9048 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 9049 9050 /** 9051 * @brief Sets the position for a component. 9052 * 9053 * @param node Indicates the target node. 9054 * @param positionX Indicates the X coordinate. 9055 * @param positionY Indicates the Y coordinate. 9056 * @return Returns the error code. 9057 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9058 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9059 */ 9060 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 9061 9062 /** 9063 * @brief Obtains the width and height of a component after measurement. 9064 * 9065 * @param node Indicates the target node. 9066 * @return Returns the width and height of the component. 9067 */ 9068 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 9069 9070 /** 9071 * @brief Obtains the position of a component after the layout is complete. 9072 * 9073 * @param node Indicates the target node. 9074 * @return Returns the position of the component. 9075 */ 9076 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 9077 9078 /** 9079 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 9080 * 9081 * @param node Indicates the target node. 9082 * @param Constraint Indicates the size constraint. 9083 * @return Returns the error code. 9084 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9085 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9086 */ 9087 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 9088 9089 /** 9090 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 9091 * 9092 * When the component is being displayed, this API must be called in the main thread. 9093 * 9094 * @param node Indicates the target node. 9095 * @param positionX Indicates the X coordinate. 9096 * @param positionY Indicates the Y coordinate. 9097 * @return Returns the error code. 9098 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9099 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9100 */ 9101 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 9102 9103 /** 9104 * @brief Adds a component event callback function to a component to receive component events generated 9105 * by the component. 9106 * 9107 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 9108 * receivers to be added to the same component. \n 9109 * The callback added by this API is triggered before the global callback registered by 9110 * <b>registerNodeEventReceiver</b>. \n 9111 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 9112 * The data will be destroyed after the callback is complete. \n 9113 * 9114 * @param node Indicates the component for which you want to add the event callback function. 9115 * @param eventReceiver Indicates the component event callback function to add. 9116 * @return Returns the error code. 9117 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9118 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9119 */ 9120 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 9121 9122 /** 9123 * @brief Removes the registered component event callback function from a component. 9124 * 9125 * @param node Indicates the component from which you want to remove the event callback function. 9126 * @param eventReceiver Indicates the component event callback function to remove. 9127 * @return Returns the error code. 9128 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9129 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9130 */ 9131 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 9132 9133 /** 9134 * @brief Adds a custom event callback function to a component to receive custom events 9135 * (such as layout and drawing events) generated by the component. 9136 * 9137 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 9138 * multiple event receivers to be added to the same component. \n 9139 * The callback added by this API is triggered before the global callback registered by 9140 * <b>registerNodeCustomEventReceiver</b>. \n 9141 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 9142 * The data will be destroyed after the callback is complete. \n 9143 * 9144 * @param node Indicates the component for which you want to add the custom event callback function. 9145 * @param eventReceiver Indicates the custom event callback function to add. 9146 * @return Returns the error code. 9147 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9148 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9149 */ 9150 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9151 9152 /** 9153 * @brief Removes a registered custom event callback function from a component. 9154 * 9155 * @param node Indicates the component from which you want to remove the custom event callback function. 9156 * @param eventReceiver Indicates the custom event callback function to remove. 9157 * @return Returns the error code. 9158 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9159 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9160 */ 9161 int32_t (*removeNodeCustomEventReceiver)(ArkUI_NodeHandle node, 9162 void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9163 9164 /** 9165 * @brief Saves custom data on the specified component. 9166 * 9167 * @param node Indicates the component on which the custom data will be saved. 9168 * @param userData Indicates the custom data to be saved. 9169 * @return Returns the error code. 9170 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9171 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 9172 */ 9173 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 9174 9175 /** 9176 * @brief Obtains the custom data saved on the specified component. 9177 * 9178 * @param node Indicates the target component. 9179 * @return Returns the custom data. 9180 */ 9181 void* (*getUserData)(ArkUI_NodeHandle node); 9182 9183 /** 9184 * @brief Sets the unit for a component. 9185 * 9186 * @param node Indicates the component for which you want to set the unit. 9187 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 9188 * The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>. 9189 * @return Returns the error code. 9190 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9191 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9192 */ 9193 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 9194 9195 /** 9196 * @brief Get the parent node. 9197 * 9198 * @param node target node object. 9199 * @return Returns the pointer of the component, if not return NULL 9200 */ 9201 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 9202 9203 /** 9204 * @brief Uninstall all child nodes from the parent component. 9205 * 9206 * @param parent target node object. 9207 * @return Returns the error code. 9208 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9209 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9210 * @since 12 9211 */ 9212 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 9213 } ArkUI_NativeNodeAPI_1; 9214 9215 /** 9216 * @brief Obtains the size constraint for measurement through a custom component event. 9217 * 9218 * @param event Indicates the pointer to the custom component event. 9219 * @return Returns the pointer to the size constraint. 9220 * @since 12 9221 */ 9222 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 9223 9224 /** 9225 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 9226 * custom component event. 9227 * 9228 * @param event Indicates the pointer to the custom component event. 9229 * @return Returns the expected position relative to the parent component. 9230 * @since 12 9231 */ 9232 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 9233 9234 /** 9235 * @brief Obtains the drawing context through a custom component event. 9236 * 9237 * @param event Indicates the pointer to the custom component event. 9238 * @return Returns the drawing context. 9239 * @since 12 9240 */ 9241 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 9242 9243 /** 9244 * @brief Obtains the ID of a custom component event. 9245 * 9246 * @param event Indicates the pointer to the custom component event. 9247 * @return Returns the ID of the custom component event. 9248 * @since 12 9249 */ 9250 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 9251 9252 /** 9253 * @brief Obtains custom event parameters through a custom component event. 9254 * 9255 * @param event Indicates the pointer to the custom component event. 9256 * @return Returns the custom event parameters. 9257 * @since 12 9258 */ 9259 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 9260 9261 /** 9262 * @brief Obtains a component object through a custom component event. 9263 * 9264 * @param event Indicates the pointer to the custom component event. 9265 * @return Returns the component object. 9266 * @since 12 9267 */ 9268 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 9269 9270 /** 9271 * @brief Obtains the event type through a custom component event. 9272 * 9273 * @param event Indicates the pointer to the custom component event. 9274 * @return Returns the type of the custom component event. 9275 * @since 12 9276 */ 9277 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 9278 9279 /** 9280 * @brief Obtains the measurement information of a custom span through a custom component event. 9281 * 9282 * @param event Indicates the pointer to the custom component event. 9283 * @param info Indicates the measurement information to be obtained. 9284 * @return Returns the result code. 9285 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9286 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9287 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 9288 * @since 12 9289 */ 9290 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 9291 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 9292 9293 /** 9294 * @brief Sets the measurement metrics of a custom span through a custom component event. 9295 * 9296 * @param event Indicates the pointer to the custom component event. 9297 * @param metrics Indicates the measurement metrics to set. 9298 * @return Returns the result code. 9299 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9300 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9301 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 9302 * @since 12 9303 */ 9304 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 9305 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 9306 9307 /** 9308 * @brief Obtains the drawing information of a custom span through a custom component event. 9309 * 9310 * @param event Indicates the pointer to the custom component event. 9311 * @param info Indicates the drawing information to obtain. 9312 * @return Returns the result code. 9313 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9314 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9315 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 9316 * @since 12 9317 */ 9318 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 9319 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 9320 9321 /** 9322 * @brief Defines the node content event type. 9323 * 9324 * @since 12 9325 */ 9326 typedef enum { 9327 /** Defines the attach event. */ 9328 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 9329 /** Defines the detach event. */ 9330 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 9331 } ArkUI_NodeContentEventType; 9332 9333 /** 9334 * @brief Enumerates the inspector error codes. 9335 * @since 15 9336 */ 9337 typedef enum { 9338 /** 9339 * @error Success. 9340 */ 9341 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 9342 /** 9343 * @error Invalid parameter. 9344 */ 9345 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 9346 } ArkUI_InspectorErrorCode; 9347 9348 /** 9349 * @brief Defines the general structure of a node content event. 9350 * @since 12 9351 */ 9352 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 9353 9354 /** 9355 * @brief Defines the callback function of a node content event. 9356 * @since 12 9357 */ 9358 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 9359 9360 /** 9361 * @brief register a callback function to a node content. 9362 * 9363 * @param content Indicates the pointer to the node content instance. 9364 * @param callback Indicates the callback function. 9365 * @return Returns the error code. 9366 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9367 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9368 * @since 12 9369 */ 9370 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 9371 9372 /** 9373 * @brief Obtains the type of a node content event. 9374 * 9375 * @param event Indicates the pointer to the node content event. 9376 * @return Returns the type of the node content event. 9377 * @since 12 9378 */ 9379 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 9380 9381 /** 9382 * @brief Obtains the node content object that triggers a node content event. 9383 * 9384 * @param event Indicates the pointer to the node content event. 9385 * @return Returns the node content object that triggers the node content event. 9386 * @since 12 9387 */ 9388 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 9389 9390 /** 9391 * @brief Saves custom data on the specified node content. 9392 * 9393 * @param content Indicates the node content on which the custom data will be saved. 9394 * @param userData Indicates the custom data to be saved. 9395 * @return Returns the error code. 9396 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9397 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9398 * @since 12 9399 */ 9400 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 9401 9402 /** 9403 * @brief Obtains the custom data saved on the specified node content. 9404 * 9405 * @param content Indicates the target node content. 9406 * @return Returns the custom data. 9407 * @since 12 9408 */ 9409 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 9410 9411 /** 9412 * @brief Add a node to a node content. 9413 * 9414 * @param content Indicates the pointer to the node content instance. 9415 * @param node Indicates the pointer to the node 9416 * @return Returns the error code. 9417 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9418 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9419 * @since 12 9420 */ 9421 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 9422 9423 /** 9424 * @brief remove a node from a node content. 9425 * 9426 * @param content Indicates the pointer to the node content instance. 9427 * @param node Indicates the pointer to the node 9428 * @return Returns the error code. 9429 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9430 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9431 * @since 12 9432 */ 9433 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 9434 9435 /** 9436 * @brief insert a node into a node content at a given position. 9437 * 9438 * @param content Indicates the pointer to the node content instance. 9439 * @param node Indicates the pointer to the node 9440 * @param position Indicates the position for inserting the node 9441 * @return Returns the error code. 9442 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9443 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9444 * @since 12 9445 */ 9446 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 9447 9448 /** 9449 * @brief Get the size of the component layout area. 9450 * The layout area size does not include graphic variation attributes such as scaling. 9451 * 9452 * @param node ArkUI_NodeHandle pointer. 9453 * @param size The drawing area size of the component handle, in px. 9454 * @return Returns the error code. 9455 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9456 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9457 * @since 12 9458 */ 9459 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 9460 9461 /** 9462 * @brief Obtain the position of the component layout area relative to the parent component. 9463 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9464 * 9465 * @param node ArkUI_NodeHandle pointer. 9466 * @param localOffset The offset value of the component handle relative to the parent component, in px. 9467 * @return Returns the error code. 9468 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9469 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9470 * @since 12 9471 */ 9472 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 9473 9474 /** 9475 * @brief Obtain the position of the component layout area relative to the window. 9476 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9477 * 9478 * @param node ArkUI_NodeHandle pointer. 9479 * @param globalOffset The offset value of the component handle relative to the window, in px. 9480 * @return Returns the error code. 9481 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9482 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9483 * @since 12 9484 */ 9485 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9486 9487 /** 9488 * @brief Obtain the position of the component layout area relative to the screen. 9489 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9490 * 9491 * @param node ArkUI_NodeHandle pointer. 9492 * @param screenOffset The offset value of the component handle relative to the screen, in px. 9493 * @return Returns the error code. 9494 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9495 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9496 * @since 12 9497 */ 9498 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 9499 9500 /** 9501 * @brief Obtains the offset of a component relative to the global display. 9502 * The relative position does not count in transformation attributes, such as translate. 9503 * 9504 * @param node Pointer to the <b>ArkUI_NodeHandle</b> representing the component. 9505 * @param offset Offset of the component relative to the global display, in px. 9506 * @return Result code. 9507 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9508 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9509 * @since 20 9510 */ 9511 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(ArkUI_NodeHandle node, ArkUI_IntOffset* offset); 9512 9513 /** 9514 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 9515 * 9516 * @param node ArkUI_NodeHandle pointer. 9517 * @param translateOffset The cumulative offset value of the component handle itself, 9518 * parent components, and ancestor nodes, in px. 9519 * @return Returns the error code. 9520 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9521 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9522 * @since 12 9523 */ 9524 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 9525 9526 /** 9527 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 9528 * 9529 * @param node ArkUI_NodeHandle pointer. 9530 * @param translateOffset The cumulative offset value of the component handle itself, 9531 * parent components, and ancestor nodes, in px. 9532 * @return Returns the error code. 9533 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9534 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9535 * @since 12 9536 */ 9537 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 9538 9539 /** 9540 * @brief Add the custom property of the component. This interface only works on the main thread. 9541 * 9542 * @param node ArkUI_NodeHandle pointer. 9543 * @param name The name of the custom property. Passing null pointers is not allowed. 9544 * @param value The value of the custom property. Passing null pointers is not allowed. 9545 * @since 13 9546 */ 9547 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 9548 9549 /** 9550 * @brief Remove the custom property of the component. 9551 * 9552 * @param node ArkUI_NodeHandle pointer. 9553 * @param name The name of the custom property. 9554 * @since 13 9555 */ 9556 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 9557 9558 /** 9559 * @brief Get the value of the custom property of the component. 9560 * 9561 * @param node ArkUI-NodeHandle pointer. 9562 * @param name The name of the custom attribute. 9563 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 9564 * @return Error code. 9565 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9566 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9567 * @since 14 9568 */ 9569 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 9570 9571 /** 9572 * @brief Get the parent node to obtain the component nodes created by ArkTs. 9573 * 9574 * @param node Target node object. 9575 * @return Return the pointer of the component. 9576 * @since 14 9577 */ 9578 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 9579 9580 /** 9581 * @brief Retrieve all active child nodes of a node. Span will not be counted in the children. 9582 * 9583 * @param head Pass in the node that needs to be obtained. 9584 * @param handle The structure corresponding to the sub node information of the head node. 9585 * @return Error code. 9586 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9587 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9588 * @since 14 9589 */ 9590 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 9591 9592 /** 9593 * @brief Retrieve the root node of the current page. 9594 * 9595 * @param node Target node object. 9596 * @return Return the pointer of the component. 9597 * @since 14 9598 */ 9599 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 9600 9601 /** 9602 * @brief Retrieve whether the component is labeled by C-API. 9603 * 9604 * @param node Target node object. 9605 * @return Return whether the node is a Tag created by C-API, 9606 * true represents created by C-API, false represents not created by C-API. 9607 * @since 14 9608 */ 9609 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 9610 9611 /** 9612 * @brief Get the type of node. 9613 * 9614 * @param node Target node object. 9615 * @return Return the type of the node. 9616 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 9617 * @since 14 9618 */ 9619 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 9620 9621 /** 9622 * @brief Get info of the window to which the node belongs. 9623 * 9624 * @param node Target node object. 9625 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 9626 * @return Error code. 9627 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9628 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9629 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 9630 * @since 15 9631 */ 9632 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 9633 9634 /** 9635 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 9636 * 9637 * @param node Indicates the target node. 9638 * @param index The index of the subnode. 9639 * @return Error code. 9640 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9641 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9642 * @since 15 9643 */ 9644 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9645 9646 /** 9647 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 9648 * 9649 * @param node Indicates the target node. 9650 * @param index the index of the subnode. 9651 * @return Error code. 9652 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9653 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9654 * @since 15 9655 */ 9656 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9657 9658 /** 9659 * @brief Obtains a subnode by position with the expand mode. 9660 * 9661 * @param node Indicates the target node. 9662 * @param position Indicates the position of the subnode. 9663 * @param subnode The pointer to the subnode. 9664 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 9665 * @return Error code. 9666 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9667 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9668 * @since 15 9669 */ 9670 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 9671 ArkUI_NodeHandle* subnode, uint32_t expandMode); 9672 9673 /** 9674 * @brief Collapse the ListItem in its expanded state. 9675 * 9676 * @param node Node objects that need to be registered for events. 9677 * @param userData Custom event parameters are carried back in the callback parameter when the event is triggered. 9678 * @param onFinish The callback triggered after the completion of the folding animation. 9679 * @return Error code. 9680 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9681 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9682 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 9683 * @since 12 9684 */ 9685 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 9686 9687 /** 9688 * @brief Obtain the UIContext pointer to the page where the node is located. 9689 * 9690 * @param node The node. 9691 * @return The UIContext pointer. 9692 * If a null pointer is returned, it may be because the node is empty. 9693 * @since 12 9694 */ 9695 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 9696 9697 /** 9698 * @brief The event called when the system color mode changes. 9699 * Only one system color change callback can be registered for the same component. 9700 * 9701 * @param node Indicates the target node. 9702 * @param userData Indicates the custom data to be saved. 9703 * @param onColorModeChange Callback Events. 9704 * @return Error code. 9705 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9706 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9707 * @since 12 9708 */ 9709 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node, 9710 void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 9711 9712 /** 9713 * @brief Unregister the event callback when the system color mode changes. 9714 * 9715 * @param node Indicates the target node. 9716 * @since 12 9717 */ 9718 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 9719 9720 /** 9721 * @brief The event called when the system font style changes. 9722 * Only one system font change callback can be registered for the same component. 9723 * 9724 * @param node Indicates the target node. 9725 * @param userData Indicates the custom data to be saved. 9726 * @param onFontStyleChange Callback Events. 9727 * @return Error code. 9728 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9729 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9730 * @since 12 9731 */ 9732 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, 9733 void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 9734 9735 /** 9736 * @brief Unregister the event callback when the system font style changes. 9737 * 9738 * @param node Indicates the target node. 9739 * @since 12 9740 */ 9741 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 9742 9743 /** 9744 * @brief Retrieve the font size value for system font change events. 9745 * 9746 * @param event Indicates a pointer to the current system font change event. 9747 * @return Updated system font size scaling factor. Default value: 1.0. 9748 * @since 12 9749 */ 9750 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 9751 9752 /** 9753 * @brief Retrieve the font thickness values for system font change events. 9754 * 9755 * @param event Indicates a pointer to the current system font change event. 9756 * @return The updated system font thickness scaling factor. Default value: 1.0. 9757 * @since 12 9758 */ 9759 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 9760 9761 /** 9762 * @brief Move the node handle to target parent node as child. 9763 * 9764 * @param node The node handle of the node to move. 9765 * @param target_parent The node handle of target parent. 9766 * @param index Indicates the index which the node is moved to. If the value is a nagative number of invalid, the 9767 * node is moved to the end of the target parent node. 9768 * @return Error code. 9769 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9770 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9771 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9772 * @since 18 9773 */ 9774 int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index); 9775 9776 /** 9777 * @brief Set the cross-language option of the target node handle. 9778 * 9779 * @param node The target node handle. 9780 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9781 * @return Error code. 9782 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9783 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9784 * @since 15 9785 */ 9786 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9787 9788 /** 9789 * @brief Get the cross-language option of the target node handle. 9790 * 9791 * @param node The target node handle. 9792 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9793 * @return Error code. 9794 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9795 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9796 * @since 15 9797 */ 9798 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9799 9800 /** 9801 * @brief Registers a callback for node when layout is completed. 9802 * 9803 * @param node Indicates the target node. 9804 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 9805 * @param onLayoutCompleted Indicates the function when layout completed is callback. 9806 * @return error code 9807 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9808 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9809 * @since 15 9810 */ 9811 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 9812 void* userData, void (*onLayoutCompleted)(void* userData)); 9813 9814 /** 9815 * @brief Registers a callback for node when draw is completed. 9816 * 9817 * @param node Indicates the target node. 9818 * @param userData Indicates the custom data used in onDrawCompleted callback function. 9819 * @param onDrawCompleted Indicates the function when draw completed is callback. 9820 * @return error code 9821 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9822 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9823 * @since 15 9824 */ 9825 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 9826 void* userData, void (*onDrawCompleted)(void* userData)); 9827 9828 /** 9829 * @brief Unregisters the layout completed callback for node. 9830 * 9831 * @param node Indicates the target node. 9832 * @return error code 9833 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9834 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9835 * @since 15 9836 */ 9837 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 9838 9839 /** 9840 * @brief Unregisters the draw completed callback for node. 9841 * 9842 * @param node Indicates the target node. 9843 * @return error code 9844 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9845 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9846 * @since 15 9847 */ 9848 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 9849 9850 /** 9851 * @brief Get the node handle by id. 9852 * 9853 * @param id The id of the target node handle. 9854 * @param node The handle of target node handle. 9855 * @return Error code. 9856 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9857 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9858 * @since 15 9859 */ 9860 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 9861 9862 /** 9863 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 9864 * tree or is not rendered yet. 9865 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 9866 * 9867 * @param node Indicates the target node. 9868 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 9869 * @param pixelmap Pixelmap pointer created by system, it's the out result. 9870 * @return Returns the result code. 9871 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9872 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9873 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 9874 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 9875 * @since 15 9876 */ 9877 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 9878 OH_PixelmapNative** pixelmap); 9879 9880 /** 9881 * @brief Obtains the offset of a specific node relative to its parent node. 9882 * 9883 * @param node Target node. 9884 * @param globalOffset Offset of the target node relative to its parent node, in px. 9885 * @return Returns the result code. 9886 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9887 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9888 * @since 15 9889 */ 9890 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9891 9892 /** 9893 * @brief Adds the UI state style supported by the component. To handle states change efficiently, need to specify the 9894 * states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed. 9895 * - You can adjust the UI style based on the current state within the callback. If this API is called multiple 9896 * times on the same node, the last set of states and handler will take precedence. 9897 * - Some component types have default system handling for certain states. For example, the <b>Button</b> 9898 * component has a default style effect for the PRESSED state. When custom state handling is implemented on such 9899 * components, the default style effect will be applied first, followed by the custom style changes, resulting in 9900 * a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed 9901 * by the system implementation. 9902 * - And when this API is called, the provided handler function will be executed immediately. 9903 * - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered, 9904 * the system will automatically notify your application when the state changes back to NORMAL. 9905 * 9906 * @param node Target node. 9907 * @param uiStates Target UI states to be handled on the node. 9908 * The combined result of all target UI states can be calculated using the <b>|</b> operator. 9909 * Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>. 9910 * @param statesChangeHandler Handler for UI state changes. 9911 * It rturns the current UI status. The value is the result of combining all current state enum values using the 9912 * <b>|</b> operator. You can determine the state using the <b>&</b> operator. 9913 * Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b>. 9914 * However, for checking the normal state, use the equality operator directly. 9915 * Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>. 9916 * @param excludeInner Whether to disable the default state styles. 9917 * @param userData Custom data used in the <b>statesChangeHandler</b> callback. 9918 * @return Returns the result code. 9919 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9920 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9921 * @since 20 9922 */ 9923 ArkUI_ErrorCode OH_ArkUI_AddSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates, 9924 void (statesChangeHandler)(int32_t currentStates, void* userData), bool excludeInner, void* userData); 9925 9926 /** 9927 * @brief Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b> 9928 * are removed, the registered <b>stateChangeHandler</b> will no longer be executed. 9929 * 9930 * @param node Target node. 9931 * @param uiStates Target UI states to be removed. 9932 * @return Returns the result code. 9933 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9934 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9935 * @since 20 9936 */ 9937 ArkUI_ErrorCode OH_ArkUI_RemoveSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates); 9938 9939 /** 9940 * @brief Run a custom function inside the UIContext scope. 9941 * 9942 * @param uiContext ArkUI_ContextHandle. 9943 * @param userData Indicates the pointer to the custom data. 9944 * @param callback The custom function. 9945 * @return Returns the result code. 9946 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9947 * Returns {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9948 * Returns {@link ARKUI_ERROR_CODE_UI_CONTEXT_INVALID} if the uiContext is invalid. 9949 * Returns {@link ARKUI_ERROR_CODE_CALLBACK_INVALID} if the callback function is invalid. 9950 * @since 20 9951 */ 9952 int32_t OH_ArkUI_RunTaskInScope(ArkUI_ContextHandle uiContext, void* userData, void(*callback)(void* userData)); 9953 9954 /** 9955 * @brief Get the node handle by uniqueId. 9956 * 9957 * @param uniqueId The uniqueId of the target node handle. 9958 * @param node The handle of target node handle. 9959 * @return Error code. 9960 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9961 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9962 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9963 * @since 20 9964 */ 9965 int32_t OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(const uint32_t uniqueId, ArkUI_NodeHandle* node); 9966 9967 /** 9968 * @brief Get the uniqueId of the target node handle. 9969 * 9970 * @param node The ArkUI-NodeHandle pointer. 9971 * @param uniqueId The uniqueId of the target node handle, default value is -1. 9972 * @return Error code. 9973 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9974 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9975 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9976 * @since 20 9977 */ 9978 int32_t OH_ArkUI_NodeUtils_GetNodeUniqueId(ArkUI_NodeHandle node, int32_t* uniqueId); 9979 9980 /** 9981 * @brief Sets the inverse color algorithm for components and instances. 9982 * 9983 * @param uiContext Indicates the context in which the inverse color feature should take effect. 9984 * If the value is null, the feature applies to the entire application process. 9985 * @param forceDark Indicates whether the inverse color feature is enabled. 9986 * @param nodeType Indicates the component type for which to enable the inverse color feature. 9987 * If the value is ARKUI_NODE_UNDEFINED, enabling the feature for all components. 9988 * @param colorInvertFunc Indicates the user-defined inverse color algorithm. 9989 * @return Returns the error code. 9990 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9991 * Returns {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if CAPI init error. 9992 * Returns {@link ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID} if force dark config is invalid. 9993 * @since 20 9994 */ 9995 int32_t OH_ArkUI_SetForceDarkConfig(ArkUI_ContextHandle uiContext, bool forceDark, ArkUI_NodeType nodeType, 9996 uint32_t (*colorInvertFunc)(uint32_t color)); 9997 9998 #ifdef __cplusplus 9999 }; 10000 #endif 10001 10002 #endif // ARKUI_NATIVE_NODE_H 10003 /** @} */ 10004