1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 /** 17 * @addtogroup ArkUI_NativeModule 18 * @{ 19 * 20 * @brief Provides UI capabilities of ArkUI on the native side, such as UI component creation and destruction, 21 * tree node operations, attribute setting, and event listening. 22 * 23 * @since 12 24 */ 25 26 /** 27 * @file native_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 #define MAX_NODE_SCOPE_NUM 1000 54 55 /** 56 * @brief Enumerates ArkUI component types that can be created on the native side. 57 * 58 * @since 12 59 */ 60 typedef enum { 61 /** Custom node. */ 62 ARKUI_NODE_CUSTOM = 0, 63 /** Text. */ 64 ARKUI_NODE_TEXT = 1, 65 /** Text span. */ 66 ARKUI_NODE_SPAN = 2, 67 /** Image span. */ 68 ARKUI_NODE_IMAGE_SPAN = 3, 69 /** Image. */ 70 ARKUI_NODE_IMAGE = 4, 71 /** Toggle. */ 72 ARKUI_NODE_TOGGLE = 5, 73 /** Loading icon. */ 74 ARKUI_NODE_LOADING_PROGRESS = 6, 75 /** Single-line text input. */ 76 ARKUI_NODE_TEXT_INPUT = 7, 77 /** Multi-line text input. */ 78 ARKUI_NODE_TEXT_AREA = 8, 79 /** Button. */ 80 ARKUI_NODE_BUTTON = 9, 81 /** Progress indicator. */ 82 ARKUI_NODE_PROGRESS = 10, 83 /** Check box. */ 84 ARKUI_NODE_CHECKBOX = 11, 85 /** XComponent. */ 86 ARKUI_NODE_XCOMPONENT = 12, 87 /** Date picker. */ 88 ARKUI_NODE_DATE_PICKER = 13, 89 /** Time picker. */ 90 ARKUI_NODE_TIME_PICKER = 14, 91 /** Text picker. */ 92 ARKUI_NODE_TEXT_PICKER = 15, 93 /** Calendar picker. */ 94 ARKUI_NODE_CALENDAR_PICKER = 16, 95 /** Slider. */ 96 ARKUI_NODE_SLIDER = 17, 97 /** Radio */ 98 ARKUI_NODE_RADIO = 18, 99 /** Image animator. */ 100 ARKUI_NODE_IMAGE_ANIMATOR = 19, 101 /** XComponent of type TEXTURE. 102 * @since 18 103 */ 104 ARKUI_NODE_XCOMPONENT_TEXTURE, 105 /** Check box group. 106 * @since 15 107 */ 108 ARKUI_NODE_CHECKBOX_GROUP = 21, 109 /** Stack container. */ 110 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 111 /** Swiper. */ 112 ARKUI_NODE_SWIPER, 113 /** Scrolling container. */ 114 ARKUI_NODE_SCROLL, 115 /** List. */ 116 ARKUI_NODE_LIST, 117 /** List item. */ 118 ARKUI_NODE_LIST_ITEM, 119 /** List item group. */ 120 ARKUI_NODE_LIST_ITEM_GROUP, 121 /** Column container. */ 122 ARKUI_NODE_COLUMN, 123 /** Row container. */ 124 ARKUI_NODE_ROW, 125 /** Flex container. */ 126 ARKUI_NODE_FLEX, 127 /** Refresh component. */ 128 ARKUI_NODE_REFRESH, 129 /** Water flow container. */ 130 ARKUI_NODE_WATER_FLOW, 131 /** Water flow item. */ 132 ARKUI_NODE_FLOW_ITEM, 133 /** Relative layout component. */ 134 ARKUI_NODE_RELATIVE_CONTAINER, 135 /** Grid. */ 136 ARKUI_NODE_GRID, 137 /** Grid item. */ 138 ARKUI_NODE_GRID_ITEM, 139 /** Custom span. */ 140 ARKUI_NODE_CUSTOM_SPAN, 141 } ArkUI_NodeType; 142 143 /** 144 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 145 * 146 * @since 12 147 */ 148 typedef struct { 149 /** Numeric array. */ 150 const ArkUI_NumberValue* value; 151 /** Size of the numeric array. */ 152 int32_t size; 153 /** String type. */ 154 const char* string; 155 /** Object type. */ 156 void* object; 157 } ArkUI_AttributeItem; 158 159 /** 160 * @brief Defines the ArkUI style attributes that can be set on the native side. 161 * 162 * @since 12 163 */ 164 typedef enum { 165 /** 166 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 167 * 168 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 169 * .value[0].f32: width, in vp.\n 170 * \n 171 * Format of the return value {@link ArkUI_AttributeItem}:\n 172 * .value[0].f32: width, in vp.\n 173 * 174 */ 175 NODE_WIDTH = 0, 176 /** 177 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 178 * 179 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 180 * .value[0].f32: height, in vp.\n 181 * \n 182 * Format of the return value {@link ArkUI_AttributeItem}:\n 183 * .value[0].f32: height, in vp.\n 184 * 185 */ 186 NODE_HEIGHT, 187 /** 188 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 189 * 190 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 191 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 192 * \n 193 * Format of the return value {@link ArkUI_AttributeItem}:\n 194 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 195 * 196 */ 197 NODE_BACKGROUND_COLOR, 198 /** 199 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 200 * 201 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 202 * .string: image address;\n 203 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 204 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 205 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 206 * \n 207 * Format of the return value {@link ArkUI_AttributeItem}:\n 208 * .string: image address;\n 209 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 210 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 211 * 212 */ 213 NODE_BACKGROUND_IMAGE, 214 /** 215 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 216 * 217 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 218 * 1: Specify the same padding for the four directions. \n 219 * .value[0].f32: padding, in vp.\n 220 * 2: Specify different paddings for different directions. \n 221 * .value[0].f32: top padding, in vp.\n 222 * .value[1].f32: right padding, in vp.\n 223 * .value[2].f32: bottom padding, in vp.\n 224 * .value[3].f32: left padding, in vp.\n 225 * \n 226 * Format of the return value {@link ArkUI_AttributeItem}:\n 227 * .value[0].f32: top padding, in vp.\n 228 * .value[1].f32: right padding, in vp.\n 229 * .value[2].f32: bottom padding, in vp.\n 230 * .value[3].f32: left padding, in vp.\n 231 * 232 */ 233 NODE_PADDING, 234 /** 235 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 236 * 237 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 238 * .string: component ID.\n 239 * \n 240 * Format of the return value {@link ArkUI_AttributeItem}:\n 241 * .string: component ID.\n 242 * 243 */ 244 NODE_ID, 245 /** 246 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 247 * 248 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 249 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.\n 250 * \n 251 * Format of the return value {@link ArkUI_AttributeItem}:\n 252 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite. \n 253 * 254 */ 255 NODE_ENABLED, 256 /** 257 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 258 * 259 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 260 * 1: Specify the same margin for the four directions. \n 261 * .value[0].f32: margin, in vp.\n 262 * 2: Specify different margins for different directions. \n 263 * .value[0].f32: top margin, in vp.\n 264 * .value[1].f32: right margin, in vp.\n 265 * .value[2].f32: bottom margin, in vp.\n 266 * .value[3].f32: left margin, in vp.\n 267 * \n 268 * Format of the return value {@link ArkUI_AttributeItem}:\n 269 * .value[0].f32: top margin, in vp.\n 270 * .value[1].f32: right margin, in vp.\n 271 * .value[2].f32: bottom margin, in vp.\n 272 * .value[3].f32: left margin, in vp.\n 273 * 274 */ 275 NODE_MARGIN, 276 /** 277 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 278 * 279 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 280 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 281 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 282 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 283 * \n 284 * Format of the return value {@link ArkUI_AttributeItem}:\n 285 * .value[0].f32: distance to translate along the x-axis, in vp.\n 286 * .value[1].f32: distance to translate along the y-axis, in vp.\n 287 * .value[2].f32: distance to translate along the z-axis, in vp. \n 288 * 289 */ 290 NODE_TRANSLATE, 291 /** 292 * @brief Defines the scale 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: scale factor along the x-axis. The default value is <b>1</b>.\n 296 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 297 * \n 298 * Format of the return value {@link ArkUI_AttributeItem}:\n 299 * .value[0].f32: scale factor along the x-axis.\n 300 * .value[1].f32: scale factor along the y-axis. \n 301 * 302 */ 303 NODE_SCALE, 304 /** 305 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 306 * 307 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 308 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 309 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 310 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 311 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 312 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 313 * The default value is <b>0</b>. \n 314 * \n 315 * Format of the return value {@link ArkUI_AttributeItem}:\n 316 * .value[0].f32: X coordinate of the rotation axis vector.\n 317 * .value[1].f32: Y coordinate of the rotation axis vector.\n 318 * .value[2].f32: Z coordinate of the rotation axis vector.\n 319 * .value[3].f32: rotation angle.\n 320 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 321 * 322 */ 323 NODE_ROTATE, 324 /** 325 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 326 * 327 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 328 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 329 * \n 330 * Format of the return value {@link ArkUI_AttributeItem}:\n 331 * .value[0].f32: brightness value. \n 332 * 333 */ 334 NODE_BRIGHTNESS, 335 /** 336 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 337 * 338 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 339 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50). \n 340 * \n 341 * Format of the return value {@link ArkUI_AttributeItem}: \n 342 * .value[0].f32: saturation value. \n 343 * 344 */ 345 NODE_SATURATION, 346 /** 347 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 348 * 349 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 350 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 351 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 352 * \n 353 * Format of the return value {@link ArkUI_AttributeItem}:\n 354 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 355 * the image is not blurred. The unit is vp. \n 356 * 357 */ 358 NODE_BLUR, 359 /** 360 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 361 * 362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 363 * .value[0].f32: start angle of the linear gradient. This attribute takes effect only when 364 * {@link ArkUI_LinearGradientDirection} is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>. 365 * A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>. \n 366 * .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect. 367 * The parameter type is {@link ArkUI_LinearGradientDirection}: \n 368 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 369 * .object: array of color stops, each of which consists of a color and its stop position. 370 * Invalid colors are automatically skipped. \n 371 * colors: colors of the color stops. \n 372 * stops: stop positions of the color stops. \n 373 * size: number of colors. \n 374 * \n 375 * Format of the return value {@link ArkUI_AttributeItem}: \n 376 * .value[0].f32: start angle of the linear gradient. \n 377 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 378 * .value[2].i32: whether the colors are repeated. \n 379 * .object: array of color stops, each of which consists of a color and its stop position. 380 * Invalid colors are automatically skipped. \n 381 * colors: colors of the color stops. \n 382 * stops: stop positions of the color stops. \n 383 * size: number of colors. \n 384 * 385 */ 386 NODE_LINEAR_GRADIENT, 387 /** 388 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 389 * 390 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 391 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 392 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 393 * \n 394 * Format of the return value {@link ArkUI_AttributeItem}:\n 395 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 396 * 397 */ 398 NODE_ALIGNMENT, 399 /** 400 * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs. 401 * 402 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 403 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 404 * \n 405 * Format of the return value {@link ArkUI_AttributeItem}:\n 406 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 407 * 408 */ 409 NODE_OPACITY, 410 /** 411 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 412 * 413 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 414 * 1: .value[0].f32: width of the four borders. \n 415 * 2: .value[0].f32: width of the top border. \n 416 * .value[1].f32: width of the right border. \n 417 * .value[2].f32: width of the bottom border. \n 418 * .value[3].f32: width of the left border. \n 419 * \n 420 * Format of the return value {@link ArkUI_AttributeItem}:\n 421 * .value[0].f32: width of the top border. \n 422 * .value[1].f32: width of the right border. \n 423 * .value[2].f32: width of the bottom border. \n 424 * .value[3].f32: width of the left border. \n 425 * 426 */ 427 NODE_BORDER_WIDTH, 428 /** 429 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 430 * 431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 432 * 1: .value[0].f32: radius of the four corners. \n 433 * 2: .value[0].f32: radius of the upper left corner. \n 434 * .value[1].f32: radius of the upper right corner. \n 435 * .value[2].f32: radius of the lower left corner. \n 436 * .value[3].f32: radius of the lower right corner. \n 437 * \n 438 * Format of the return value {@link ArkUI_AttributeItem}:\n 439 * .value[0].f32: radius of the upper left corner. \n 440 * .value[1].f32: radius of the upper right corner. \n 441 * .value[2].f32: radius of the lower left corner. \n 442 * .value[3].f32: radius of the lower right corner. \n 443 * 444 */ 445 NODE_BORDER_RADIUS, 446 /** 447 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 448 * 449 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 450 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 451 * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 452 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 453 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 454 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 455 * \n 456 * Format of the return value {@link ArkUI_AttributeItem}:\n 457 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 458 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 459 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 460 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 461 * 462 */ 463 NODE_BORDER_COLOR, 464 /** 465 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 466 * 467 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 468 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 469 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 470 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 471 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 472 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 473 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 474 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 475 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 476 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 477 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 478 * \n 479 * Format of the return value {@link ArkUI_AttributeItem}:\n 480 * .value[0].i32: line style of the top border. \n 481 * .value[1].i32: line style of the right border. \n 482 * .value[2].i32: line style of the bottom border. \n 483 * .value[3].i32: line style of the left border. \n 484 * 485 */ 486 NODE_BORDER_STYLE, 487 /** 488 * @brief Defines the z-index attribute for the stack sequence. 489 * This attribute can be set, reset, and obtained as required through APIs. 490 * 491 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 492 * .value[0].i32: z-index value. \n 493 * \n 494 * Format of the return value {@link ArkUI_AttributeItem}:\n 495 * .value[0].i32: z-index value. \n 496 * 497 */ 498 NODE_Z_INDEX, 499 /** 500 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 501 * 502 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 503 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 504 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 505 * \n 506 * Format of the return value {@link ArkUI_AttributeItem}:\n 507 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 508 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 509 * 510 */ 511 NODE_VISIBILITY, 512 /** 513 * @brief Defines the clipping and masking attribute, which can be set, reset, and obtained as required through 514 * APIs. 515 * 516 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 517 * .value[0].i32: whether to clip the component based on the parent container bounds. 518 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 519 * \n 520 * Format of the return value {@link ArkUI_AttributeItem}:\n 521 * .value[0].i32: whether to clip the component based on the parent container bounds. 522 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 523 * 524 */ 525 NODE_CLIP, 526 /** 527 * @brief Defines the clipping region on the component. 528 * This attribute can be set and obtained as required through APIs. 529 * 530 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 531 * which supports five types of shapes:\n 532 * 1. Rectangle:\n 533 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 534 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 535 * .value[1].f32: width of the rectangle.\n 536 * .value[2].f32: height of rectangle.\n 537 * .value[3].f32: width of the rounded corner of the rectangle.\n 538 * .value[4].f32: height of the rounded corner of the rectangle.\n 539 * .value[5]?.f32: radius of the top left corner of the rectangular shape.\n 540 * .value[6]?.f32: radius of the bottom left corner of the rectangular shape.\n 541 * .value[7]?.f32: radius of the top right corner of the rectangular shape.\n 542 * .value[8]?.f32: radius of the bottom right corner of the rectangular shape.\n 543 * 2. Circle:\n 544 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 545 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 546 * .value[1].f32: width of the circle.\n 547 * .value[2].f32: height of the circle.\n 548 * 3.Ellipse:\n 549 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 550 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 551 * .value[1].f32: width of the ellipse.\n 552 * .value[2].f32: height of the ellipse.\n 553 * 4. Path:\n 554 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 555 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 556 * .value[1].f32: width of the path.\n 557 * .value[2].f32: height of the path.\n 558 * .string: command for drawing the path.\n 559 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 560 * 1. Rectangle:\n 561 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 562 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 563 * .value[1].f32: width of the rectangle.\n 564 * .value[2].f32: height of rectangle.\n 565 * .value[3].f32: width of the rounded corner of the rectangle.\n 566 * .value[4].f32: height of the rounded corner of the rectangle.\n 567 * .value[5].f32: radius of the top left corner of the rectangular shape; \n 568 * .value[6].f32: radius of the bottom left corner of the rectangular shape; \n 569 * .value[7].f32: radius of the top right corner of the rectangular shape; \n 570 * .value[8].f32: radius of the bottom right corner of the rectangular shape; \n 571 * 2. Circle:\n 572 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 573 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 574 * .value[1].f32: width of the circle.\n 575 * .value[2].f32: height of the circle.\n 576 * 3.Ellipse:\n 577 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 578 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 579 * .value[1].f32: width of the ellipse.\n 580 * .value[2].f32: height of the ellipse.\n 581 * 4. Path:\n 582 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 583 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 584 * .value[1].f32: width of the path.\n 585 * .value[2].f32: height of the path.\n 586 * .string: command for drawing the path.\n 587 * 588 */ 589 NODE_CLIP_SHAPE, 590 /** 591 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 592 * This attribute can be set, reset, and obtained as required through APIs. 593 * 594 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 595 * .value[0...15].f32: 16 floating-point numbers. \n 596 * \n 597 * Format of the return value {@link ArkUI_AttributeItem}:\n 598 * .value[0...15].f32: 16 floating-point numbers. \n 599 * 600 */ 601 NODE_TRANSFORM, 602 /** 603 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 604 * 605 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 606 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 607 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 608 * \n 609 * Format of the return value {@link ArkUI_AttributeItem}:\n 610 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 611 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 612 * 613 */ 614 NODE_HIT_TEST_BEHAVIOR, 615 /** 616 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 617 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 618 * 619 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 620 * .value[0].f32: X coordinate. \n 621 * .value[1].f32: Y coordinate. \n 622 * \n 623 * Format of the return value {@link ArkUI_AttributeItem}:\n 624 * .value[0].f32: X coordinate. \n 625 * .value[1].f32: Y coordinate. \n 626 * 627 */ 628 NODE_POSITION, 629 /** 630 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 631 * 632 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 633 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 634 * \n 635 * Format of the return value {@link ArkUI_AttributeItem}:\n 636 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 637 * 638 */ 639 NODE_SHADOW, 640 /** 641 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 642 * 643 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 644 * .value[0]?.f32: blur radius of the shadow, in vp.\n 645 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 646 * strategy, and <b>0</b> (default value) means the opposite.\n 647 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 648 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 649 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 650 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 651 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 652 * means the opposite.\n 653 * 654 * \n 655 * Format of the return value {@link ArkUI_AttributeItem}:\n 656 * .value[0].f32: blur radius of the shadow, in vp.\n 657 * .value[1].i32: whether to enable the coloring strategy. \n 658 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 659 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 660 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 661 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 662 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 663 * means the opposite.\n 664 * 665 */ 666 NODE_CUSTOM_SHADOW, 667 /** 668 * @brief Defines the background image width and height. 669 * This attribute can be set, reset, and obtained as required through APIs. 670 * 671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 672 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 673 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 674 * \n 675 * Format of the return value {@link ArkUI_AttributeItem}:\n 676 * .value[0].f32: width of the image, in vp. \n 677 * .value[1].f32: height of the image, in vp. \n 678 * 679 */ 680 NODE_BACKGROUND_IMAGE_SIZE, 681 /** 682 * @brief Defines the background image size. 683 * This attribute can be set, reset, and obtained as required through APIs. 684 * 685 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 686 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 687 * \n 688 * Format of the return value {@link ArkUI_AttributeItem}:\n 689 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 690 * 691 */ 692 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 693 /** 694 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 695 * 696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 697 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 698 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 699 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 700 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 701 * .value[4]?.f32: start boundary of grayscale blur. \n 702 * .value[5]?.f32: end boundary of grayscale blur. \n 703 * \n 704 * Format of the return value {@link ArkUI_AttributeItem}:\n 705 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 706 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 707 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 708 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 709 * .value[4].f32: start boundary of grayscale blur. \n 710 * .value[5].f32: end boundary of grayscale blur. \n 711 * 712 */ 713 NODE_BACKGROUND_BLUR_STYLE, 714 /** 715 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 716 * 717 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 718 * .value[0]?.f32: X coordinate of the center point, in vp.\n 719 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 720 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 721 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 722 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 723 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 724 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 725 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 726 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 727 * \n 728 * Format of the return value {@link ArkUI_AttributeItem}:\n 729 * .value[0].f32: X coordinate of the center point, in vp.\n 730 * .value[1].f32: Y coordinate of the center point, in vp.\n 731 * .value[2].f32: Z coordinate of the center point, in vp.\n 732 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 733 * returns the calculated value in vp. 734 * 735 */ 736 NODE_TRANSFORM_CENTER, 737 /** 738 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 739 * 740 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 741 * .value[0].f32: opacity values of the start and end points.\n 742 * .value[1].i32: animation duration, in milliseconds.\n 743 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 744 * .value[3]?.i32: animation delay duration, in milliseconds.\n 745 * .value[4]?.i32: number of times that the animation is played.\n 746 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 747 * .value[6]?.f32: animation playback speed.\n 748 * \n 749 * Format of the return value {@link ArkUI_AttributeItem}:\n 750 * .value[0].f32: opacity values of the start and end points.\n 751 * .value[1].i32: animation duration, in milliseconds.\n 752 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 753 * .value[3].i32: animation delay duration, in milliseconds. \n 754 * .value[4].i32: number of times that the animation is played. \n 755 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 756 * .value[6].f32: animation playback speed. \n 757 * 758 */ 759 NODE_OPACITY_TRANSITION, 760 /** 761 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 762 * 763 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 764 * .value[0].f32: X-component of the rotation vector. \n 765 * .value[1].f32: Y-component of the rotation vector. \n 766 * .value[2].f32: Z-component of the rotation vector \n 767 * .value[3].f32: angle. \n 768 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 769 * .value[5].i32: animation duration, in milliseconds. \n 770 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 771 * .value[7]?.i32: animation delay duration, in milliseconds. \n 772 * .value[8]?.i32: number of times that the animation is played. \n 773 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 774 * .value[10]?.f32: animation playback speed. \n 775 * \n 776 * Format of the return value {@link ArkUI_AttributeItem}:\n 777 * .value[0].f32: X-component of the rotation vector. \n 778 * .value[1].f32: Y-component of the rotation vector. \n 779 * .value[2].f32: Z-component of the rotation vector \n 780 * .value[3].f32: angle. \n 781 * .value[4].f32: line of sight. \n 782 * .value[5].i32: animation duration, in milliseconds. \n 783 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 784 * .value[7].i32: animation delay duration, in milliseconds. \n 785 * .value[8].i32: number of times that the animation is played. \n 786 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 787 * .value[10].f32: animation playback speed. \n 788 * 789 */ 790 NODE_ROTATE_TRANSITION, 791 /** 792 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 793 * 794 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 795 * .value[0].f32: scale factor along the x-axis. \n 796 * .value[1].f32: scale factor along the y-axis. \n 797 * .value[2].f32: scale factor along the z-axis. \n 798 * .value[3].i32: animation duration, in milliseconds. \n 799 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 800 * .value[5]?.i32: animation delay duration, in milliseconds. \n 801 * .value[6]?.i32: number of times that the animation is played. \n 802 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 803 * .value[8]?.f32: animation playback speed. \n 804 * \n 805 * Format of the return value {@link ArkUI_AttributeItem}:\n 806 * .value[0].f32: scale factor along the x-axis. \n 807 * .value[1].f32: scale factor along the y-axis. \n 808 * .value[2].f32: scale factor along the z-axis. \n 809 * .value[3].i32: animation duration, in milliseconds. \n 810 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 811 * .value[5].i32: animation delay duration, in milliseconds. \n 812 * .value[6].i32: number of times that the animation is played. \n 813 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 814 * .value[8].f32: animation playback speed. \n 815 * 816 */ 817 NODE_SCALE_TRANSITION, 818 /** 819 * @brief Defines the transition translation attribute. 820 * This attribute can be set, reset, and obtained as required through APIs. 821 * 822 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 823 * value[0].f32: translation distance along the x-axis, in vp.\n 824 * value[1].f32: translation distance along the y-axis, in vp.\n 825 * value[2].f32: translation distance along the z-axis, in vp.\n 826 * value[3].i32: animation duration, in milliseconds. \n 827 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 828 * value[5]?.i32: animation delay duration, in milliseconds. \n 829 * value[6]?.i32: number of times that the animation is played. \n 830 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 831 * value[8]?.f32: animation playback speed. \n 832 * \n 833 * Format of the return value {@link ArkUI_AttributeItem}:\n 834 * value[0].f32: translation distance along the x-axis, in vp.\n 835 * value[1].f32: translation distance along the y-axis, in vp.\n 836 * value[2].f32: translation distance along the z-axis, in vp.\n 837 * value[3].i32: animation duration, in milliseconds. \n 838 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 839 * value[5].i32: animation delay duration, in milliseconds. \n 840 * value[6].i32: number of times that the animation is played. \n 841 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 842 * value[8].f32: animation playback speed. \n 843 * 844 */ 845 NODE_TRANSLATE_TRANSITION, 846 /** 847 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 848 * This attribute can be set, reset, and obtained as required through APIs. 849 * 850 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 851 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 852 * .value[1].i32: animation duration, in milliseconds.\n 853 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 854 * .value[3]?.i32: animation delay duration, in milliseconds.\n 855 * .value[4]?.i32: number of times that the animation is played.\n 856 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 857 * .value[6]?.f32: animation playback speed.\n 858 * \n 859 * Format of the return value {@link ArkUI_AttributeItem}:\n 860 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 861 * .value[1].i32: animation duration, in milliseconds.\n 862 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 863 * .value[3].i32: animation delay duration, in milliseconds. \n 864 * .value[4].i32: number of times that the animation is played. \n 865 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 866 * .value[6].f32: animation playback speed. \n 867 * 868 */ 869 NODE_MOVE_TRANSITION, 870 871 /** 872 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 873 * 874 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 875 * .value[0].i32: The parameter type is 1 or 0. 876 * \n 877 * Format of the return value {@link ArkUI_AttributeItem}:\n 878 * .value[0].i32: The parameter type is 1 or 0. 879 * 880 */ 881 NODE_FOCUSABLE, 882 883 /** 884 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 885 * 886 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 887 * value[0].i32: The parameter type is 1 or 0. 888 * \n 889 * Format of the return value {@link ArkUI_AttributeItem}:\n 890 * value[0].i32: The parameter type is 1 or 0. 891 * 892 */ 893 NODE_DEFAULT_FOCUS, 894 895 /** 896 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 897 * 898 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 899 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 900 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 901 * .data[2].f32: width of the touch target, in %. \n 902 * .data[3].f32: height of the touch target, in %. \n 903 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 904 * \n 905 * Format of the return value {@link ArkUI_AttributeItem}:\n 906 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 907 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 908 * .data[2].f32: width of the touch target, in %. \n 909 * .data[3].f32: height of the touch target, in %. \n 910 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 911 * 912 */ 913 NODE_RESPONSE_REGION, 914 915 /** 916 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 917 * 918 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 919 * .string: mask text.\n 920 * .value[0]?.i32: position of the overlay relative to the component. Optional. 921 * The parameter type is {@link ArkUI_Alignment}. 922 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 923 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 924 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 925 * \n 926 * Format of the return value {@link ArkUI_AttributeItem}:\n 927 * .string: mask text.\n 928 * .value[0].i32: position of the overlay relative to the component. 929 * The parameter type is {@link ArkUI_Alignment}. 930 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 931 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 932 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 933 * 934 */ 935 NODE_OVERLAY, 936 /** 937 * @brief Defines the sweep gradient effect. 938 * This attribute can be set, reset, and obtained as required through APIs. 939 * 940 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 941 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 942 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 943 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 944 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 945 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 946 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 947 * and <b>0</b> means the opposite.\n 948 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 949 * automatically skipped.\n 950 * colors: colors of the color stops. \n 951 * stops: stop positions of the color stops. \n 952 * size: number of colors. \n 953 * \n 954 * Format of the return value {@link ArkUI_AttributeItem}:\n 955 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 956 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 957 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 958 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 959 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 960 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 961 * and <b>0</b> means the opposite.\n 962 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 963 * automatically skipped.\n 964 * colors: colors of the color stops. \n 965 * stops: stop positions of the color stops. \n 966 * size: number of colors. \n 967 * 968 */ 969 NODE_SWEEP_GRADIENT, 970 /** 971 * @brief Defines the radial gradient effect. 972 * This attribute can be set, reset, and obtained as required through APIs. 973 * 974 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 975 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 976 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 977 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 978 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 979 * and <b>0</b> means the opposite. \n 980 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 981 * automatically skipped. \n 982 * colors: colors of the color stops. \n 983 * stops: stop positions of the color stops. \n 984 * size: number of colors. \n 985 * \n 986 * Format of the return value {@link ArkUI_AttributeItem}:\n 987 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 988 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 989 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 990 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 991 * and <b>0</b> means the opposite.\n 992 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 993 * automatically skipped. \n 994 * colors: colors of the color stops. \n 995 * stops: stop positions of the color stops. \n 996 * size: number of colors. \n 997 * 998 */ 999 NODE_RADIAL_GRADIENT, 1000 /** 1001 * @brief Adds a mask of the specified shape to the component. 1002 * This attribute can be set, reset, and obtained as required through APIs. 1003 * 1004 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 1005 * shapes:\n 1006 * 1. Rectangle:\n 1007 * .value[0].u32 fill color, in 0xARGB format. \n 1008 * .value[1].u32: stroke color, in 0xARGB format. \n 1009 * .value[2].f32: stroke width, in vp. \n 1010 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1011 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 1012 * .value[4].f32: width of the rectangle.\n 1013 * .value[5].f32: height of the rectangle.\n 1014 * .value[6].f32: width of the rounded corner of the rectangle.\n 1015 * .value[7].f32: height of the rounded corner of the rectangle.\n 1016 * .value[8]?.f32: radius of the top left corner of the rectangular shape.\n 1017 * .value[9]?.f32: radius of the bottom left corner of the rectangular shape.\n 1018 * .value[10]?.f32: radius of the top right corner of the rectangular shape.\n 1019 * .value[11]?.f32: radius of the bottom right corner of the rectangular shape.\n 1020 * 2. Circle:\n 1021 * .value[0].u32 fill color, in 0xARGB format. \n 1022 * .value[1].u32: stroke color, in 0xARGB format. \n 1023 * .value[2].f32: stroke width, in vp. \n 1024 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1025 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1026 * .value[4].f32: width of the circle.\n 1027 * .value[5].f32: height of the circle.\n 1028 * 3. Ellipse:\n 1029 * .value[0].u32 fill color, in 0xARGB format. \n 1030 * .value[1].u32: stroke color, in 0xARGB format. \n 1031 * .value[2].f32: stroke width, in vp. \n 1032 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1033 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1034 * .value[4].f32: width of the ellipse.\n 1035 * .value[5].f32: height of the ellipse.\n 1036 * 4. Path:\n 1037 * .value[0].u32 fill color, in 0xARGB format. \n 1038 * .value[1].u32: stroke color, in 0xARGB format. \n 1039 * .value[2].f32: stroke width, in vp. \n 1040 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1041 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1042 * .value[4].f32: width of the path.\n 1043 * .value[5].f32: height of the path.\n 1044 * .string: command for drawing the path.\n 1045 * 5. Progress:\n 1046 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1047 * The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.\n 1048 * .value[1].f32: current value of the progress indicator.\n 1049 * .value[2].f32: maximum value of the progress indicator.\n 1050 * .value[3].u32: color of the progress indicator, in 0xARGB format.\n 1051 * \n 1052 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1053 * 1. Rectangle:\n 1054 * .value[0].u32 fill color, in 0xARGB format. \n 1055 * .value[1].u32: stroke color, in 0xARGB format. \n 1056 * .value[2].f32: stroke width, in vp. \n 1057 * .value[3].i32: mask type.\n 1058 * .value[4].f32: width of the rectangle.\n 1059 * .value[5].f32: height of the rectangle.\n 1060 * .value[6].f32: width of the rounded corner of the rectangle.\n 1061 * .value[7].f32: height of the rounded corner of the rectangle.\n 1062 * .value[8].f32: radius of the top left corner of the rectangular shape.\n 1063 * .value[9].f32: radius of the bottom left corner of the rectangular shape.\n 1064 * .value[10].f32: radius of the top right corner of the rectangular shape.\n 1065 * .value[11].f32: radius of the bottom right corner of the rectangular shape.\n 1066 * 2. Circle:\n 1067 * .value[0].u32 fill color, in 0xARGB format. \n 1068 * .value[1].u32: stroke color, in 0xARGB format. \n 1069 * .value[2].f32: stroke width, in vp. \n 1070 * .value[3].i32: mask type.\n 1071 * .value[4].f32: width of the circle.\n 1072 * .value[5].f32: height of the circle.\n 1073 * 3. Ellipse:\n 1074 * .value[0].u32 fill color, in 0xARGB format. \n 1075 * .value[1].u32: stroke color, in 0xARGB format. \n 1076 * .value[2].f32: stroke width, in vp. \n 1077 * .value[3].i32: mask type.\n 1078 * .value[4].f32: width of the ellipse.\n 1079 * .value[5].f32: height of the ellipse.\n 1080 * 4. Path:\n 1081 * .value[0].u32 fill color, in 0xARGB format. \n 1082 * .value[1].u32: stroke color, in 0xARGB format. \n 1083 * .value[2].f32: stroke width, in vp. \n 1084 * .value[3].i32: mask type.\n 1085 * .value[4].f32: width of the path.\n 1086 * .value[5].f32: height of the path.\n 1087 * .string: command for drawing the path.\n 1088 * 5. Progress:\n 1089 * .value[0].i32: mask type.\n 1090 * .value[1].f32: current value of the progress indicator.\n 1091 * .value[2].f32: maximum value of the progress indicator.\n 1092 * .value[3].u32: color of the progress indicator.\n 1093 * 1094 */ 1095 NODE_MASK, 1096 /** 1097 * @brief Blends the component's background with the content of the component's child node. 1098 * This attribute can be set, reset, and obtained as required through APIs. 1099 * 1100 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1101 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1102 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1103 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1104 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1105 * \n 1106 * Format of the return value {@link ArkUI_AttributeItem}:\n 1107 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1108 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1109 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1110 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1111 * 1112 */ 1113 NODE_BLEND_MODE, 1114 /** 1115 * @brief Sets the direction of the main axis. 1116 * This attribute can be set, reset, and obtained as required through APIs. 1117 * 1118 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1119 * .value[0].i32: direction of the main axis.\n 1120 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1121 * \n 1122 * Format of the return value {@link ArkUI_AttributeItem}:\n 1123 * .value[0].i32: direction of the main axis.\n 1124 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1125 * 1126 */ 1127 NODE_DIRECTION, 1128 /** 1129 * @brief Defines the size constraints. 1130 * This attribute can be set, reset, and obtained as required through APIs. 1131 * 1132 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1133 * .value[0].f32: minimum width, in vp.\n 1134 * .value[1].f32: maximum width, in vp.\n 1135 * .value[2].f32: minimum height, in vp.\n 1136 * .value[3].f32: maximum height, in vp.\n 1137 * \n 1138 * Format of the return value {@link ArkUI_AttributeItem}:\n 1139 * .value[0].f32: minimum width, in vp.\n 1140 * .value[1].f32: maximum width, in vp.\n 1141 * .value[2].f32: minimum height, in vp.\n 1142 * .value[3].f32: maximum height, in vp.\n 1143 * 1144 */ 1145 NODE_CONSTRAINT_SIZE, 1146 /** 1147 * @brief Defines the grayscale effect. 1148 * This attribute can be set, reset, and obtained as required through APIs. 1149 * 1150 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1151 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1152 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1153 * \n 1154 * Format of the return value {@link ArkUI_AttributeItem}:\n 1155 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1156 * 1157 */ 1158 NODE_GRAY_SCALE, 1159 /** 1160 * @brief Inverts the image. 1161 * This attribute can be set, reset, and obtained as required through APIs. 1162 * 1163 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1164 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1165 * For example, 0.5 indicates a 50% image inversion ratio.\n 1166 * \n 1167 * Format of the return value {@link ArkUI_AttributeItem}:\n 1168 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1169 * 1170 */ 1171 NODE_INVERT, 1172 /** 1173 * @brief Defines the sepia conversion ratio. 1174 * This attribute can be set, reset, and obtained as required through APIs. 1175 * 1176 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1177 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1178 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1179 * \n 1180 * Format of the return value {@link ArkUI_AttributeItem}:\n 1181 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1182 * 1183 */ 1184 NODE_SEPIA, 1185 /** 1186 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1187 * 1188 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1189 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1190 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1191 * \n 1192 * Format of the return value {@link ArkUI_AttributeItem}:\n 1193 * .value[0].f32: contrast. Value range: [0, 10).\n 1194 * 1195 */ 1196 NODE_CONTRAST, 1197 /** 1198 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1199 * 1200 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1201 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1202 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1203 * \n 1204 * Format of the return value {@link ArkUI_AttributeItem}:\n 1205 * .value[0].u32: color value, in 0xARGB format.\n 1206 * 1207 */ 1208 NODE_FOREGROUND_COLOR, 1209 1210 /** 1211 * @brief Defines the offset of the component's child relative to the component. 1212 * This attribute can be set, reset, and obtained as required through APIs. 1213 * 1214 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1215 * .value[0].f32 : offset along the x-axis, in vp. \n 1216 * .value[1].f32 : offset along the y-axis, in vp. \n 1217 * \n 1218 * Format of the return value {@link ArkUI_AttributeItem}:\n 1219 * .value[0].f32 : offset along the x-axis, in vp. \n 1220 * .value[1].f32 : offset along the y-axis, in vp. \n 1221 * 1222 */ 1223 NODE_OFFSET, 1224 /** 1225 * @brief Sets the anchor for locating the component's child. 1226 * This attribute can be set, reset, and obtained as required through APIs. 1227 * 1228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1229 * .value[0].f32: X coordinate of the anchor, in vp.\n 1230 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1231 * \n 1232 * Format of the return value {@link ArkUI_AttributeItem}:\n 1233 * .value[0].f32: X coordinate of the anchor, in vp.\n 1234 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1235 * 1236 */ 1237 NODE_MARK_ANCHOR, 1238 /** 1239 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1240 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1241 * 1242 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1243 * .value[0].f32: position along the x-axis, in px. \n 1244 * .value[1].f32: position along the y-axis, in px. \n 1245 * \n 1246 * Format of the return value {@link ArkUI_AttributeItem}:\n 1247 * .value[0].f32: position along the x-axis, in px. \n 1248 * .value[1].f32: position along the y-axis, in px. \n 1249 * 1250 */ 1251 NODE_BACKGROUND_IMAGE_POSITION, 1252 /** 1253 * @brief Sets the alignment rules in the relative container. 1254 * This attribute can be set, reset, and obtained as required through APIs. 1255 * 1256 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1257 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1258 * \n 1259 * Format of the return value {@link ArkUI_AttributeItem}:\n 1260 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1261 * 1262 */ 1263 NODE_ALIGN_RULES, 1264 /** 1265 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1266 * This attribute can be set, reset, and obtained as required through APIs. 1267 * 1268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1269 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1270 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1271 * \n 1272 * Format of the return value {@link ArkUI_AttributeItem}:\n 1273 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1274 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1275 * 1276 */ 1277 NODE_ALIGN_SELF, 1278 /** 1279 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1280 * This attribute can be set, reset, and obtained as required through APIs. 1281 * 1282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1283 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1284 * \n 1285 * Format of the return value {@link ArkUI_AttributeItem}:\n 1286 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1287 * 1288 */ 1289 NODE_FLEX_GROW, 1290 /** 1291 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1292 * This attribute can be set, reset, and obtained as required through APIs. 1293 * 1294 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1295 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1296 * \n 1297 * Format of the return value {@link ArkUI_AttributeItem}:\n 1298 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1299 * 1300 */ 1301 NODE_FLEX_SHRINK, 1302 /** 1303 * @brief Sets the base size of the component. 1304 * This attribute can be set, reset, and obtained as required through APIs. 1305 * 1306 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1307 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1308 * \n 1309 * Format of the return value {@link ArkUI_AttributeItem}:\n 1310 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1311 * 1312 */ 1313 NODE_FLEX_BASIS, 1314 /** 1315 * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs. 1316 * 1317 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1318 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1319 * form an entire selectable component. 1320 * In this case, the accessibility service will no longer be available for the content of its child components. 1321 * The value is <b>1</b> or <b>0</b>. 1322 * \n 1323 * Format of the return value {@link ArkUI_AttributeItem}:\n 1324 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1325 * form an entire selectable component. 1326 * In this case, the accessibility service will no longer be available for the content of its child components. 1327 * The value is <b>1</b> or <b>0</b>. 1328 * 1329 */ 1330 NODE_ACCESSIBILITY_GROUP, 1331 1332 /** 1333 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1334 * 1335 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1336 * .string: accessibility text. 1337 * \n 1338 * Format of the return value {@link ArkUI_AttributeItem}:\n 1339 * .string: accessibility text. 1340 * 1341 */ 1342 NODE_ACCESSIBILITY_TEXT, 1343 1344 /** 1345 * @brief Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs. 1346 * 1347 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1348 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1349 * \n 1350 * Format of the return value {@link ArkUI_AttributeItem}:\n 1351 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1352 * 1353 */ 1354 NODE_ACCESSIBILITY_MODE, 1355 1356 /** 1357 * @brief Sets the accessibility description. 1358 * This attribute can be set, reset, and obtained as required through APIs. 1359 * 1360 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1361 * .string: accessibility description. 1362 * \n 1363 * Format of the return value {@link ArkUI_AttributeItem}:\n 1364 * .string: accessibility description. 1365 * 1366 */ 1367 NODE_ACCESSIBILITY_DESCRIPTION, 1368 1369 /** 1370 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1371 * @note Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level 1372 * of the page to the root container. 1373 * 1374 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1375 * .value[0].i32: The parameter type is 1 or 0. 1376 * \n 1377 * Format of the return value {@link ArkUI_AttributeItem}:\n 1378 * .value[0].i32: The parameter type is 1 or 0. 1379 * 1380 */ 1381 NODE_FOCUS_STATUS, 1382 /** 1383 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1384 * 1385 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1386 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1387 * \n 1388 * Format of the return value {@link ArkUI_AttributeItem}:\n 1389 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1390 * 1391 */ 1392 NODE_ASPECT_RATIO, 1393 /** 1394 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1395 * distribution of available space within the container. 1396 * This attribute can be set, reset, and obtained as required through APIs. 1397 * 1398 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1399 * .value[0].u32: weight of the component along the main axis. \n 1400 * \n 1401 * Format of the return value {@link ArkUI_AttributeItem}:\n 1402 * .value[0].u32: weight of the component along the main axis. \n 1403 * 1404 */ 1405 NODE_LAYOUT_WEIGHT, 1406 /** 1407 * @brief Sets the display priority for the component in the row, column, or flex (single-line) container. 1408 * This attribute can be set, reset, and obtained as required through APIs. 1409 * 1410 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1411 * .value[0].u32: display priority of the component in the container. \n 1412 * \n 1413 * Format of the return value {@link ArkUI_AttributeItem}:\n 1414 * .value[0].u32: display priority of the component in the container. \n 1415 * 1416 */ 1417 NODE_DISPLAY_PRIORITY, 1418 /** 1419 * @brief Sets the thickness of an element's outline. 1420 * 1421 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1422 * .value[0].f32: thickness of the left outline. \n 1423 * .value[1].f32: thickness of the top outline. \n 1424 * .value[2].f32: thickness of the right outline. \n 1425 * .value[3].f32: thickness of the bottom outline. \n 1426 * \n 1427 * Format of the return value {@link ArkUI_AttributeItem}:\n 1428 * .value[0].f32: thickness of the left outline. \n 1429 * .value[1].f32: thickness of the top outline. \n 1430 * .value[2].f32: thickness of the right outline. \n 1431 * .value[3].f32: thickness of the bottom outline. \n 1432 * 1433 */ 1434 NODE_OUTLINE_WIDTH, 1435 /** 1436 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 1437 * 1438 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1439 * .value[0].f32: width, in percentage.\n 1440 * \n 1441 * Format of the return value {@link ArkUI_AttributeItem}:\n 1442 * .value[0].f32: width, in percentage.\n 1443 * 1444 */ 1445 NODE_WIDTH_PERCENT, 1446 /** 1447 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 1448 * 1449 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1450 * .value[0].f32: height, in percentage.\n 1451 * \n 1452 * Format of the return value {@link ArkUI_AttributeItem}:\n 1453 * .value[0].f32: height, in percentage.\n 1454 * 1455 */ 1456 NODE_HEIGHT_PERCENT, 1457 /** 1458 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 1459 * 1460 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1461 * 1: Specify the same padding for the four directions. \n 1462 * .value[0].f32: padding, in percentage.\n 1463 * 2: Specify different paddings for different directions. \n 1464 * .value[0].f32: top padding, in percentage.\n 1465 * .value[1].f32: right padding, in percentage.\n 1466 * .value[2].f32: bottom padding, in percentage.\n 1467 * .value[3].f32: left padding, in percentage.\n 1468 * \n 1469 * Format of the return value {@link ArkUI_AttributeItem}:\n 1470 * .value[0].f32: top padding, in percentage.\n 1471 * .value[1].f32: right padding, in percentage.\n 1472 * .value[2].f32: bottom padding, in percentage.\n 1473 * .value[3].f32: left padding, in percentage.\n 1474 * 1475 */ 1476 NODE_PADDING_PERCENT, 1477 /** 1478 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 1479 * 1480 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1481 * 1: Specify the same margin for the four directions. \n 1482 * .value[0].f32: margin, in percentage.\n 1483 * 2: Specify different margins for different directions. \n 1484 * .value[0].f32: top margin, in percentage.\n 1485 * .value[1].f32: right margin, in percentage.\n 1486 * .value[2].f32: bottom margin, in percentage.\n 1487 * .value[3].f32: left margin, in percentage.\n 1488 * \n 1489 * Format of the return value {@link ArkUI_AttributeItem}:\n 1490 * .value[0].f32: top margin, in percentage.\n 1491 * .value[1].f32: right margin, in percentage.\n 1492 * .value[2].f32: bottom margin, in percentage.\n 1493 * .value[3].f32: left margin, in percentage.\n 1494 * 1495 */ 1496 NODE_MARGIN_PERCENT, 1497 1498 /** 1499 * @brief The implicit shared element transition within the component supports attribute setting, 1500 * attribute reset, and attribute acquisition interfaces. 1501 * 1502 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1503 * .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings, 1504 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1505 * the default is false, and the original position will remain unchanged if not involved. \n 1506 * .string is used to set the binding relationship. Set the id to "" to 1507 * clear the binding relationship to avoid participating in sharing behavior. \n 1508 * The id can be changed and the binding relationship re-established. 1509 * The same ID can only be bound to two components and they are in/out roles of different types. 1510 * Multiple components cannot be bound to the same id. \n 1511 *\n 1512 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 1513 * .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings, 1514 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1515 * the default is not false, if not involved, the original position will remain unchanged. \n 1516 * .string is used to set the binding relationship. Set the id to "" to 1517 * clear the binding relationship to avoid participating in sharing behavior. \n 1518 * The id can be changed and the binding relationship re-established. 1519 * The same ID can only be bound to two components and they are in/out roles of different types. 1520 * Multiple components cannot be bound to the same id. \n 1521 */ 1522 NODE_GEOMETRY_TRANSITION, 1523 1524 /** 1525 * @brief specifies the parameters of the chain formed by this component as the chain head, 1526 * and supports attribute setting, attribute reset and attribute acquisition interfaces. 1527 * 1528 * Only takes effect when the parent container is RelativeContainer 1529 * 1530 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1531 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1532 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1533 *\n 1534 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1535 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1536 */ 1537 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1538 1539 /** 1540 * @brief Set the component content filling method in the process of width and height animation, 1541 * support property setting, property reset, property acquisition interface. 1542 * 1543 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1544 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1545 * \n 1546 * Format of the return value {@link ArkUI_AttributeItem}:\n 1547 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1548 * 1549 */ 1550 NODE_RENDER_FIT, 1551 1552 /** 1553 * @brief External stroke color properties, support property setting, 1554 * property reset and property acquisition interface. 1555 * 1556 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1557 * 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF. \n 1558 * 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1559 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1560 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1561 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1562 * \n 1563 * Format of the return value {@link ArkUI_AttributeItem}:\n 1564 * .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1565 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1566 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1567 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1568 * 1569 */ 1570 NODE_OUTLINE_COLOR, 1571 1572 /** 1573 * @brief Set the height and width dimensions, support property setting, 1574 * property reset and property acquisition interface. 1575 * 1576 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1577 * .value[0].f32: Width value, unit is vp;\n 1578 * .value[1].f32: Height value, unit is vp;\n 1579 * \n 1580 * Format of the return value {@link ArkUI_AttributeItem}:\n 1581 * .value[0].f32: Width value, unit is vp;\n 1582 * .value[1].f32: Height value, unit is vp;\n 1583 * 1584 */ 1585 NODE_SIZE, 1586 1587 /** 1588 * @brief Set whether the current component and child component are 1589 * rendered off the screen first and then fused with the parent control, 1590 * supporting property setting, property reset and property acquisition. 1591 * 1592 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1593 * .value[0].i32: The parameter type is 1 or 0. 1594 * \n 1595 * Format of the return value {@link ArkUI_AttributeItem}:\n 1596 * .value[0].i32: The parameter type is 1 or 0. 1597 * 1598 */ 1599 NODE_RENDER_GROUP, 1600 1601 /** 1602 * @brief Add color overlay effect to components, support property setting, 1603 * property reset and property acquisition interface. 1604 * 1605 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1606 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1607 * \n 1608 * Format of the return value {@link ArkUI_AttributeItem}:\n 1609 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1610 * 1611 */ 1612 NODE_COLOR_BLEND, 1613 1614 /** 1615 * @brief Provide content ambiguity capability for the current component, 1616 * support property setting, property reset, property acquisition interface. 1617 * 1618 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1619 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1620 * .value[1]?.i32 Represents the dark and light mode used by the content blur effect,\n 1621 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1622 * .value[2]?.i32 The color extraction mode used to represent the content blur effect takes\n 1623 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1624 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 1625 * .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1626 * .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1627 * \n 1628 * Format of the return value {@link ArkUI_AttributeItem}:\n 1629 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1630 * .value[1].i32 Represents the dark and light mode used by the content blur effect,\n 1631 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1632 * .value[2].i32 The color extraction mode used to represent the content blur effect takes\n 1633 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1634 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 1635 * .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1636 * .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1637 * 1638 */ 1639 NODE_FOREGROUND_BLUR_STYLE, 1640 1641 /** 1642 * @brief Defines the component size and position for layout. 1643 * This attribute can be set, reset, and obtained as required through APIs. 1644 * 1645 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1646 * .value[0].i32: X coordinate of the component, in px. \n 1647 * .value[1].i32: Y coordinate of the component, in px. \n 1648 * .value[2].i32: width of the component, in px. \n 1649 * .value[3].i32: height of the component, in px. \n 1650 * \n 1651 * Format of the return value {@link ArkUI_AttributeItem}:\n 1652 * .value[0].i32: X coordinate of the component, in px. \n 1653 * .value[1].i32: Y coordinate of the component, in px. \n 1654 * .value[2].i32: width of the component, in px. \n 1655 * .value[3].i32: height of the component, in px. \n 1656 * 1657 */ 1658 NODE_LAYOUT_RECT, 1659 1660 /** 1661 * @brief Whether the current component supports click-to-focus capability, 1662 * which can be set, reset, and obtained as required through APIs. 1663 * 1664 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1665 * .value[0].i32: The parameter type is 1 or 0. 1666 * \n 1667 * Format of the return value {@link ArkUI_AttributeItem}:\n 1668 * .value[0].i32: The parameter type is 1 or 0. 1669 * 1670 */ 1671 NODE_FOCUS_ON_TOUCH, 1672 1673 /** 1674 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 1675 * 1676 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1677 * 1: .value[0].f32: width of the four borders, in percentage. \n 1678 * 2: .value[0].f32: width of the top border, in percentage. \n 1679 * .value[1].f32: width of the right border, in percentage. \n 1680 * .value[2].f32: width of the bottom border, in percentage. \n 1681 * .value[3].f32: width of the left border, in percentage. \n 1682 * \n 1683 * Format of the return value {@link ArkUI_AttributeItem}:\n 1684 * .value[0].f32: width of the top border, in percentage. \n 1685 * .value[1].f32: width of the right border, in percentage. \n 1686 * .value[2].f32: width of the bottom border, in percentage. \n 1687 * .value[3].f32: width of the left border, in percentage. \n 1688 * 1689 */ 1690 NODE_BORDER_WIDTH_PERCENT = 85, 1691 /** 1692 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 1693 * 1694 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1695 * 1: .value[0].f32: radius of the four corners, in percentage. \n 1696 * 2: .value[0].f32: radius of the upper left corner, in percentage. \n 1697 * .value[1].f32: radius of the upper right corner, in percentage. \n 1698 * .value[2].f32: radius of the lower left corner, in percentage. \n 1699 * .value[3].f32: radius of the lower right corner, in percentage. \n 1700 * \n 1701 * Format of the return value {@link ArkUI_AttributeItem}:\n 1702 * .value[0].f32: radius of the upper left corner, in percentage. \n 1703 * .value[1].f32: radius of the upper right corner, in percentage. \n 1704 * .value[2].f32: radius of the lower left corner, in percentage. \n 1705 * .value[3].f32: radius of the lower right corner, in percentage. \n 1706 * 1707 */ 1708 NODE_BORDER_RADIUS_PERCENT = 86, 1709 1710 /** 1711 * @brief Accessible ID, which can be obtained as required through APIs. 1712 * 1713 * Format of the return value {@link ArkUI_AttributeItem}:\n 1714 * .value[0].i32:Accessible ID。\n 1715 * 1716 */ 1717 NODE_ACCESSIBILITY_ID = 87, 1718 1719 /** 1720 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1721 * 1722 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1723 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1724 * \n 1725 * Format of the return value {@link ArkUI_AttributeItem}:\n 1726 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1727 * 1728 */ 1729 NODE_ACCESSIBILITY_ACTIONS = 88, 1730 1731 /** 1732 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1733 * 1734 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1735 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1736 * \n 1737 * Format of the return value {@link ArkUI_AttributeItem}:\n 1738 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1739 * 1740 */ 1741 NODE_ACCESSIBILITY_ROLE = 89, 1742 1743 /** 1744 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1745 * 1746 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1747 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1748 * \n 1749 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1750 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1751 * 1752 */ 1753 NODE_ACCESSIBILITY_STATE = 90, 1754 1755 /** 1756 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1757 * 1758 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1759 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1760 * \n 1761 * Format of the return value {@link ArkUI_AttributeItem}:\n 1762 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1763 * 1764 */ 1765 NODE_ACCESSIBILITY_VALUE = 91, 1766 /** 1767 * @brief defines control components to extend their security zones, 1768 * supporting property setting, property reset, and property fetching. 1769 * 1770 * Attribute setting method {@link ArkUI_AttributeItem} Parameter format: \n 1771 * .value[0]? .u32: Set of extended security zone enumerated values {@link ArkUI_SafeAreaType}, 1772 * For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT; \n 1773 * .value[1]? .u32: set of directional enum values for extended security zones {@link ArkUI_SafeAreaEdge}; \n 1774 * For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM; \n 1775 * \n 1776 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 1777 *.value[0].u32: extends the security zone. \n. \n 1778 *.value[1].u32: indicates the direction to extend the security zone. \n. \n 1779 * 1780 */ 1781 NODE_EXPAND_SAFE_AREA = 92, 1782 1783 /** 1784 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1785 * visible area change event of the component. 1786 * 1787 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1788 * .value[...].f32: threshold array. The value range is 0 to 1. 1789 * \n 1790 * Format of the return value {@link ArkUI_AttributeItem}:\n 1791 * .value[...].f32: threshold array. \n 1792 * 1793 */ 1794 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1795 1796 /** 1797 * @brief Sets the transition effect when the component is inserted or deleted. 1798 * This attribute can be set, and obtained as required through APIs. 1799 * 1800 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1801 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1802 * \n 1803 * Format of the return value {@link ArkUI_AttributeItem}:\n 1804 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1805 * 1806 */ 1807 NODE_TRANSITION = 94, 1808 1809 /** 1810 * @brief Defines the component ID. 1811 * This attribute can be obtained through APIs. 1812 * 1813 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1814 * .value[0].i32: component ID. \n 1815 * 1816 */ 1817 NODE_UNIQUE_ID = 95, 1818 1819 /** 1820 * @brief Set the current component system focus box style. 1821 * 1822 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1823 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1824 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1825 * Percentage is not supported. \n 1826 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1827 * .value[2].u32: Focus box color. \n 1828 * \n 1829 * 1830 */ 1831 NODE_FOCUS_BOX = 96, 1832 1833 /** 1834 * @brief Defines the moving distance limit for the component-bound tap gesture. 1835 * This attribute can be set as required through APIs. 1836 * 1837 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1838 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1839 * 1840 */ 1841 NODE_CLICK_DISTANCE = 97, 1842 1843 /** 1844 * @brief Sets whether the focus can be placed on this component. 1845 * This attribute can be set, reset, and obtained as required through APIs. 1846 * 1847 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1848 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1849 * \n 1850 * Format of the return value {@link ArkUI_AttributeItem}:\n 1851 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1852 * 1853 * @since 14 1854 */ 1855 NODE_TAB_STOP = 98, 1856 1857 /** 1858 * @brief Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs. 1859 * 1860 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1861 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1862 * .value[1]?.f32:grayscale blur settings that control the brightness of the black color.\n 1863 * The value range is [0, 127].\n 1864 * .value[2]?.f32:grayscale blur settings that control the darkness of the white color.\n 1865 * The value range is [0, 127].\n 1866 * \n 1867 * Format of the return value {@link ArkUI_AttributeItem}:\n 1868 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1869 * .value[1].f32:grayscale blur settings that control the brightness of the black color.\n 1870 * The value range is [0, 127].\n 1871 * .value[2].f32:grayscale blur settings that control the darkness of the white color.\n 1872 * The value range is [0, 127].\n 1873 * 1874 * @since 15 1875 */ 1876 NODE_BACKDROP_BLUR = 99, 1877 1878 /** 1879 * @brief Sets the next focus node. 1880 * 1881 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1882 * .value[0].i32: focus movement direction, as defined in {@link ArkUI_FocusMove}. 1883 * .object: next focus node. The parameter type is {@link ArkUI_NodeHandle}.\n 1884 * \n 1885 * 1886 * @since 18 1887 */ 1888 NODE_NEXT_FOCUS = 101, 1889 1890 /** 1891 * @brief Sets the parameters for visible area change events. 1892 * 1893 * @note The visible area change callback is not a real-time callback. The actual callback interval may differ from 1894 * the expected interval due to system load and other factors. 1895 * The interval between two visible area change callbacks will not be less than the expected update interval. If the 1896 * provided expected interval is too short, the actual callback interval will be determined by the system load. 1897 * By default, the interval threshold of the visible area change callback includes 0. This means that, 1898 * if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5]. 1899 * 1900 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1901 * .object: parameters for visible area change events. 1902 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1903 * \n 1904 * Format of the return value {@link ArkUI_AttributeItem}:\n 1905 * .object: parameters for visible area change events. 1906 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1907 * 1908 * @since 17 1909 */ 1910 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO = 102, 1911 1912 /** 1913 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 1914 * 1915 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1916 * .string: text content.\n 1917 * \n 1918 * Format of the return value {@link ArkUI_AttributeItem}:\n 1919 * .string: text content.\n 1920 * 1921 */ 1922 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 1923 /** 1924 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 1925 * 1926 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1927 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1928 * \n 1929 * Format of the return value {@link ArkUI_AttributeItem}:\n 1930 * .value[0].u32: font color value, in 0xARGB format.\n 1931 * 1932 */ 1933 NODE_FONT_COLOR, 1934 /** 1935 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 1936 * 1937 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1938 * .value[0].f32: font size, in fp.\n 1939 * \n 1940 * Format of the return value {@link ArkUI_AttributeItem}:\n 1941 * .value[0].f32: font size, in fp.\n 1942 * 1943 */ 1944 NODE_FONT_SIZE, 1945 /** 1946 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 1947 * 1948 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1949 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 1950 * \n 1951 * Format of the return value {@link ArkUI_AttributeItem}:\n 1952 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 1953 * 1954 */ 1955 NODE_FONT_STYLE, 1956 /** 1957 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 1958 * 1959 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1960 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 1961 * \n 1962 * Format of the return value {@link ArkUI_AttributeItem}:\n 1963 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 1964 * 1965 */ 1966 NODE_FONT_WEIGHT, 1967 /** 1968 * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs. 1969 * 1970 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1971 * .value[0].f32: line height, in fp.\n 1972 * \n 1973 * Format of the return value {@link ArkUI_AttributeItem}:\n 1974 * .value[0].f32: line height, in fp.\n 1975 * 1976 */ 1977 NODE_TEXT_LINE_HEIGHT, 1978 /** 1979 * @brief Defines the text decoration style and color. 1980 * This attribute can be set, reset, and obtained as required through APIs. 1981 * 1982 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1983 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 1984 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 1985 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 1986 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1987 * \n 1988 * Format of the return value {@link ArkUI_AttributeItem}:\n 1989 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 1990 * .value[1].u32: text decoration color, in 0xARGB format. \n 1991 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1992 * 1993 */ 1994 NODE_TEXT_DECORATION, 1995 /** 1996 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 1997 * 1998 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1999 * .value[0].i32: text case.\n 2000 * \n 2001 * Format of the return value {@link ArkUI_AttributeItem}:\n 2002 * .value[0].i32: text case.\n 2003 * 2004 */ 2005 NODE_TEXT_CASE, 2006 /** 2007 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 2008 * 2009 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2010 * .value[0].f32: letter spacing, in fp.\n 2011 * \n 2012 * Format of the return value {@link ArkUI_AttributeItem}:\n 2013 * .value[0].f32: letter spacing, in fp.\n 2014 * 2015 */ 2016 NODE_TEXT_LETTER_SPACING, 2017 /** 2018 * @brief Sets the maximum number of lines in the text. 2019 * This attribute can be set, reset, and obtained as required through APIs. 2020 * 2021 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2022 * .value[0].i32: maximum number of lines in the text.\n 2023 * \n 2024 * Format of the return value {@link ArkUI_AttributeItem}:\n 2025 * .value[0].i32: maximum number of lines in the text.\n 2026 * 2027 */ 2028 NODE_TEXT_MAX_LINES, 2029 /** 2030 * @brief Horizontal alignment mode of the text. 2031 * This attribute can be set, reset, and obtained as required through APIs. 2032 * 2033 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2034 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2035 * \n 2036 * Format of the return value {@link ArkUI_AttributeItem}:\n 2037 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2038 * 2039 */ 2040 NODE_TEXT_ALIGN, 2041 /** 2042 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 2043 * 2044 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2045 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2046 * \n 2047 * Format of the return value {@link ArkUI_AttributeItem}:\n 2048 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2049 * 2050 */ 2051 NODE_TEXT_OVERFLOW, 2052 /** 2053 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 2054 * 2055 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2056 * .string: fonts, separated by commas (,). 2057 * \n 2058 * Format of the return value {@link ArkUI_AttributeItem}:\n 2059 * .string: fonts, separated by commas (,). 2060 * 2061 */ 2062 NODE_FONT_FAMILY, 2063 /** 2064 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 2065 * 2066 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2067 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2068 * \n 2069 * Format of the return value {@link ArkUI_AttributeItem}:\n 2070 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 2071 * 2072 */ 2073 NODE_TEXT_COPY_OPTION, 2074 /** 2075 * @brief Defines the text baseline offset attribute 2076 * This attribute can be set, reset, and obtained as required through APIs. 2077 * 2078 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2079 * .value[0].f32: baseline offset, in fp.\n 2080 * \n 2081 * Format of the return value {@link ArkUI_AttributeItem}:\n 2082 * .value[0].f32: baseline offset, in fp. \n 2083 * 2084 */ 2085 NODE_TEXT_BASELINE_OFFSET, 2086 /** 2087 * @brief Defines the text shadow 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].f32: blur radius of the shadow, in vp.\n 2091 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 2092 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2093 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2094 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2095 * \n 2096 * Format of the return value {@link ArkUI_AttributeItem}:\n 2097 * .value[0].f32: blur radius of the shadow, in vp.\n 2098 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 2099 * .value[2].u32: shadow color, in 0xARGB format.\n 2100 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2101 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2102 * 2103 */ 2104 NODE_TEXT_TEXT_SHADOW, 2105 /** 2106 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 2107 * 2108 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2109 * .value[0].f32: minimum font size, in fp. 2110 * \n 2111 * Format of the return value {@link ArkUI_AttributeItem}:\n 2112 * .value[0].f32: minimum font size, in fp. 2113 * 2114 */ 2115 NODE_TEXT_MIN_FONT_SIZE, 2116 2117 /** 2118 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 2119 * 2120 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2121 * .value[0].f32: maximum font size, in fp. 2122 * \n 2123 * Format of the return value {@link ArkUI_AttributeItem}:\n 2124 * .value[0].f32: maximum font size, in fp. 2125 * 2126 */ 2127 NODE_TEXT_MAX_FONT_SIZE, 2128 2129 /** 2130 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 2131 * 2132 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2133 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 2134 * .value[0].f32: font size, in fp. \n 2135 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 2136 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2137 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 2138 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2139 * \n 2140 * Format of the return value {@link ArkUI_AttributeItem}:\n 2141 * .string: font family. Use commas (,) to separate multiple fonts. \n 2142 * .value[0].f32: font size, in fp. \n 2143 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 2144 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2145 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 2146 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2147 * 2148 */ 2149 NODE_TEXT_FONT, 2150 2151 /** 2152 * @brief Defines how the adaptive height is determined for the text. 2153 * This attribute can be set, reset, and obtained as required through APIs. 2154 * 2155 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2156 * .value[0].i32: how the adaptive height is determined for the text. 2157 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 2158 * \n 2159 * Format of the return value {@link ArkUI_AttributeItem}:\n 2160 * .value[0].i32: how the adaptive height is determined for the text. 2161 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 2162 * 2163 */ 2164 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 2165 /** 2166 * @brief Defines the indentation of the first line. 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: indentation of the first line. \n 2171 * \n 2172 * Format of the return value {@link ArkUI_AttributeItem}:\n 2173 * .value[0].f32: indentation of the first line. \n 2174 * 2175 */ 2176 NODE_TEXT_INDENT, 2177 /** 2178 * @brief Defines the line break rule. This attribute 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].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2182 * \n 2183 * Format of the return value {@link ArkUI_AttributeItem}:\n 2184 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2185 * 2186 */ 2187 NODE_TEXT_WORD_BREAK, 2188 /** 2189 * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs. 2190 * 2191 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2192 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2193 * \n 2194 * Format of the return value {@link ArkUI_AttributeItem}:\n 2195 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2196 * 2197 */ 2198 NODE_TEXT_ELLIPSIS_MODE, 2199 /** 2200 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 2201 * 2202 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2203 * .value[0].f32: line spacing, in fp.\n 2204 * \n 2205 * Format of the return value {@link ArkUI_AttributeItem}:\n 2206 * .value[0].f32: line spacing, in fp.\n 2207 * 2208 */ 2209 NODE_TEXT_LINE_SPACING, 2210 /** 2211 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2212 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2213 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2214 * The capabilities need to be supported by the fonts, \n 2215 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2216 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format: \n 2217 * .string: complies with the text feature format. The format is normal | \n 2218 * is in the format of [ | on | off],\n. 2219 * There can be multiple values separated by commas (,). \n 2220 * For example, the input format of a number with the same width is ss01 on. \n 2221 * \n 2222 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2223 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2224 */ 2225 NODE_FONT_FEATURE, 2226 /** 2227 * @brief Setting Enable Text Recognition. 2228 * 2229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2230 * .value[0].i32:Enable text recognition, default value false.\n 2231 * \n 2232 * Format of the return value {@link ArkUI_AttributeItem}:\n 2233 * .value[0].i32:Enable Text Recognition\n 2234 * 2235 */ 2236 NODE_TEXT_ENABLE_DATA_DETECTOR, 2237 /** 2238 * @brief Set the text recognition configuration. 2239 * 2240 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2241 * .value[0...].i32: Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2242 * \n 2243 * Format of the return value {@link ArkUI_AttributeItem}:\n 2244 * .value[0...].i32:Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2245 * 2246 */ 2247 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2248 /** 2249 * @brief Defines the background color of the selected text. 2250 * This attribute can be set, reset, and obtained as required through APIs. 2251 * 2252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2253 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2254 * \n 2255 * Format of the return value {@link ArkUI_AttributeItem}:\n 2256 * .value[0].u32: color value, in 0xARGB format. \n 2257 * 2258 */ 2259 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2260 2261 /** 2262 * @brief The text component uses a formatted string object to set text content properties, 2263 * and supports property setting, property reset, and property acquisition interfaces. 2264 * 2265 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2266 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2267 * \n 2268 * Format of the return value {@link ArkUI_AttributeItem}:\n 2269 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2270 */ 2271 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2272 2273 /** 2274 * @brief Sets whether to center text vertically in the text component. 2275 * 2276 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2277 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 2278 * \n 2279 * Format of the return value {@link ArkUI_AttributeItem}:\n 2280 * .value[0].i32: whether to center text vertically. \n 2281 * 2282 */ 2283 NODE_TEXT_HALF_LEADING = 1029, 2284 2285 /** 2286 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2287 * The font weight specified by this API is not affected by any changes in the system font weight settings. 2288 * 2289 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2290 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2291 * \n 2292 * Format of the return value {@link ArkUI_AttributeItem}:\n 2293 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2294 * 2295 * @since 15 2296 */ 2297 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2298 2299 /** 2300 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2301 * 2302 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2303 * .string: content of the text span. \n 2304 * \n 2305 * Format of the return value {@link ArkUI_AttributeItem}:\n 2306 * .string: content of the text span. \n 2307 * 2308 */ 2309 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2310 /** 2311 * @brief Defines the text background style. 2312 * This attribute can be set, reset, and obtained as required through APIs. 2313 * 2314 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2315 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2316 * The second parameter indicates the rounded corners of the text background. Two setting modes are available: \n 2317 * 1: .value[1].f32: radius of the four corners, in vp. \n 2318 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2319 * .value[2].f32: radius of the upper right corner, in vp. \n 2320 * .value[3].f32: radius of the lower left corner, in vp. \n 2321 * .value[4].f32: radius of the lower right corner, in vp. \n 2322 * \n 2323 * Format of the return value {@link ArkUI_AttributeItem}:\n 2324 * .value[0].u32: color of the text background, in 0xARGB format. \n 2325 * .value[1].f32: radius of the upper left corner, in vp. \n 2326 * .value[2].f32: radius of the upper right corner, in vp. \n 2327 * .value[3].f32: radius of the lower left corner, in vp. \n 2328 * .value[4].f32: radius of the lower right corner, in vp. \n 2329 * 2330 */ 2331 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2332 /** 2333 * @brief Defines the text baseline offset attribute 2334 * This attribute can be set, reset, and obtained as required through APIs. 2335 * 2336 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2337 * .value[0].f32: baseline offset, in fp.\n 2338 * \n 2339 * Format of the return value {@link ArkUI_AttributeItem}:\n 2340 * .value[0].f32: baseline offset, in fp. \n 2341 * 2342 */ 2343 NODE_SPAN_BASELINE_OFFSET, 2344 /** 2345 * @brief Defines the image source of the image span. 2346 * This attribute can be set, reset, and obtained as required through APIs. 2347 * 2348 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2349 * .string: image address of the image span.\n 2350 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2351 * \n 2352 * Format of the return value {@link ArkUI_AttributeItem}:\n 2353 * .string: image address of the image span.\n 2354 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2355 * 2356 */ 2357 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2358 /** 2359 * @brief Defines the alignment mode of the image with the text. 2360 * This attribute can be set, reset, and obtained as required through APIs. 2361 * 2362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2363 * .value[0].i32: alignment mode of the image with the text. 2364 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2365 * \n 2366 * Format of the return value {@link ArkUI_AttributeItem}:\n 2367 * .value[0].i32: alignment mode of the image with the text. 2368 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2369 * 2370 */ 2371 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2372 /** 2373 * @brief Defines the placeholder image source. 2374 * This attribute can be set, reset, and obtained as required through APIs. 2375 * 2376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2377 * .string: placeholder image source. \n 2378 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2379 * \n 2380 * Format of the return value {@link ArkUI_AttributeItem}:\n 2381 * .string: placeholder image source. \n 2382 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2383 * 2384 */ 2385 NODE_IMAGE_SPAN_ALT, 2386 /** 2387 * @brief Defines the baseline offset attribute of the <b>ImageSpan</b> component. 2388 * This attribute can be set, reset, and obtained as required through APIs. 2389 * A positive value means an upward offset, while a negative value means a downward offset. 2390 * The default value is <b>0</b>, and the unit is fp. \n 2391 * 2392 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2393 * .value[0].f32: baseline offset, in fp.\n 2394 * \n 2395 * Format of the return value {@link ArkUI_AttributeItem}:\n 2396 * .value[0].f32: baseline offset, in fp. \n 2397 * 2398 * @since 13 2399 */ 2400 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2401 /** 2402 * @brief Defines the image source of the <Image> component. 2403 * This attribute can be set, reset, and obtained as required through APIs. 2404 * 2405 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2406 * .string: image source.\n 2407 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2408 * \n 2409 * Format of the return value {@link ArkUI_AttributeItem}:\n 2410 * .string: image source.\n 2411 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2412 * 2413 */ 2414 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2415 /** 2416 * @brief Defines how the image is resized to fit its container. 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].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2421 * \n 2422 * Format of the return value {@link ArkUI_AttributeItem}:\n 2423 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2424 * 2425 */ 2426 NODE_IMAGE_OBJECT_FIT, 2427 /** 2428 * @brief Defines the interpolation effect of the image. 2429 * This attribute can be set, reset, and obtained as required through APIs. 2430 * 2431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2432 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2433 * \n 2434 * Format of the return value {@link ArkUI_AttributeItem}:\n 2435 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2436 * 2437 */ 2438 NODE_IMAGE_INTERPOLATION, 2439 /** 2440 * @brief Defines how the image is repeated. 2441 * This attribute can be set, reset, and obtained as required through APIs. 2442 * 2443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2444 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2445 * \n 2446 * Format of the return value {@link ArkUI_AttributeItem}:\n 2447 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2448 * 2449 */ 2450 NODE_IMAGE_OBJECT_REPEAT, 2451 /** 2452 * @brief Defines the color filter of the image. 2453 * This attribute can be set, reset, and obtained as required through APIs. 2454 * 2455 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2456 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2457 * .size: 5 x 4 filter array size. \n 2458 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2459 * \n 2460 * Format of the return value {@link ArkUI_AttributeItem}:\n 2461 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2462 * .size: 5 x 4 filter array size. \n 2463 * .object: the pointer to OH_Drawing_ColorFilter. \n 2464 * 2465 */ 2466 NODE_IMAGE_COLOR_FILTER, 2467 /** 2468 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2469 * 2470 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2471 * .value[0].i32 : whether to resize the image source. \n 2472 * \n 2473 * Format of the return value {@link ArkUI_AttributeItem}:\n 2474 * .value[0].i32 : whether to resize the image source. \n 2475 * 2476 */ 2477 NODE_IMAGE_AUTO_RESIZE, 2478 /** 2479 * @brief Defines the placeholder image source. 2480 * This attribute can be set, reset, and obtained as required through APIs. 2481 * 2482 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2483 * .string: placeholder image source. \n 2484 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2485 * \n 2486 * Format of the return value {@link ArkUI_AttributeItem}:\n 2487 * .string: placeholder image source. \n 2488 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2489 * 2490 */ 2491 NODE_IMAGE_ALT, 2492 /** 2493 * @brief Defines whether the image is draggable. 2494 * This attribute can be set, reset, and obtained as required through APIs. 2495 * 2496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2497 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2498 * \n 2499 * Format of the return value {@link ArkUI_AttributeItem}:\n 2500 * .value[0].i32: whether the image is draggable. \n 2501 * 2502 */ 2503 NODE_IMAGE_DRAGGABLE, 2504 /** 2505 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2506 * 2507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2508 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2509 * \n 2510 * Format of the return value {@link ArkUI_AttributeItem}:\n 2511 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2512 * 2513 */ 2514 NODE_IMAGE_RENDER_MODE, 2515 /** 2516 * @brief Defines whether the image display size follows the image source size. 2517 * This attribute can be set, reset, and obtained as required through APIs. 2518 * 2519 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2520 * .value[0].i32: wheter to follow, true means to follow.\n 2521 * \n 2522 * Format of the return value {@link ArkUI_AttributeItem}:\n 2523 * .value[0].i32: wheter to follow, true means to follow.\n 2524 * 2525 */ 2526 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2527 /** 2528 * @brief Defines the fill color of the swiper. 2529 * This attribute can be set, reset, and obtained as required through APIs. 2530 * 2531 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2532 * .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2533 * \n 2534 * Format of the return value {@link ArkUI_AttributeItem}:\n 2535 * .value[0].u32: fill color, in 0xARGB format. \n 2536 * 2537 */ 2538 NODE_IMAGE_FILL_COLOR, 2539 /** 2540 * @brief Sets the resizable image options. 2541 * 2542 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2543 * .value[0].f32: width of the left edge. The unit is vp. \n 2544 * .value[1].f32: width of the top edge. The unit is vp. \n 2545 * .value[2].f32: width of the right edge. The unit is vp. \n 2546 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2547 * \n 2548 * Format of the return value {@link ArkUI_AttributeItem}:\n 2549 * .value[0].f32: width of the left edge. The unit is vp. \n 2550 * .value[1].f32: width of the top edge. The unit is vp. \n 2551 * .value[2].f32: width of the right edge. The unit is vp. \n 2552 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2553 * 2554 */ 2555 NODE_IMAGE_RESIZABLE, 2556 /** 2557 * @brief Defines the color of the component when it is selected. 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].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2562 * \n 2563 * Format of the return value {@link ArkUI_AttributeItem}:\n 2564 * .value[0].u32: background color, in 0xARGB format. \n 2565 * 2566 */ 2567 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2568 /** 2569 * @brief Defines the color of the circular slider for the component of the switch type. 2570 * This attribute can be set, reset, and obtained as required through APIs. 2571 * 2572 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2573 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2574 * \n 2575 * Format of the return value {@link ArkUI_AttributeItem}:\n 2576 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2577 * 2578 */ 2579 NODE_TOGGLE_SWITCH_POINT_COLOR, 2580 /** 2581 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2582 * 2583 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2584 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2585 * \n 2586 * Format of the return value {@link ArkUI_AttributeItem}:\n 2587 * .value[0].i32: whether to enable the toggle. \n 2588 * 2589 */ 2590 NODE_TOGGLE_VALUE, 2591 2592 /** 2593 * @brief Defines the color of the component when it is deselected. 2594 * This attribute can be set, reset, and obtained as required through APIs. 2595 * 2596 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2597 *.value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2598 * \n 2599 * Format of the return value {@link ArkUI_AttributeItem}:\n 2600 * .value[0].u32: background color, in 0xARGB format. \n 2601 * 2602 */ 2603 NODE_TOGGLE_UNSELECTED_COLOR, 2604 2605 /** 2606 * @brief Defines the foreground color of the loading progress bar. 2607 * This attribute can be set, reset, and obtained as required through APIs. 2608 * 2609 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2610 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2611 * \n 2612 * Format of the return value {@link ArkUI_AttributeItem}:\n 2613 * .value[0].u32: foreground color, in 0xARGB format. \n 2614 * 2615 */ 2616 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2617 /** 2618 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2619 * This attribute can be set, reset, and obtained as required through APIs. 2620 * 2621 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2622 * .value[0].i32: whether to show the loading animation. 2623 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2624 * \n 2625 * Format of the return value {@link ArkUI_AttributeItem}:\n 2626 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2627 * 2628 */ 2629 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2630 2631 /** 2632 * @brief Defines the default placeholder text of the single-line text box. 2633 * This attribute can be set, reset, and obtained as required through APIs. 2634 * 2635 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2636 * .string: default placeholder text. \n 2637 * \n 2638 * Format of the return value {@link ArkUI_AttributeItem}:\n 2639 * .string: default placeholder text. \n 2640 * 2641 */ 2642 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2643 /** 2644 * @brief Defines the default text content of the single-line text box. 2645 * This attribute can be set, reset, and obtained as required through APIs. 2646 * 2647 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2648 * .string: default text content. \n 2649 * \n 2650 * Format of the return value {@link ArkUI_AttributeItem}:\n 2651 * .string: default text content. \n 2652 * 2653 */ 2654 NODE_TEXT_INPUT_TEXT, 2655 /** 2656 * @brief Defines the caret color attribute. 2657 * This attribute can be set, reset, and obtained as required through APIs. 2658 * 2659 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2660 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2661 * \n 2662 * Format of the return value {@link ArkUI_AttributeItem}:\n 2663 * .value[0].u32: caret color, in 0xARGB format. \n 2664 * 2665 */ 2666 NODE_TEXT_INPUT_CARET_COLOR, 2667 /** 2668 * @brief Defines the caret style attribute. 2669 * This attribute can be set, reset, and obtained as required through APIs. 2670 * 2671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2672 * .value[0].f32: caret width, in vp.\n 2673 * \n 2674 * Format of the return value {@link ArkUI_AttributeItem}:\n 2675 * .value[0].f32: caret width, in vp. \n 2676 * 2677 */ 2678 NODE_TEXT_INPUT_CARET_STYLE, 2679 /** 2680 * @brief Defines the underline attribute of the single-line text box. 2681 * This attribute can be set, reset, and obtained as required through APIs. 2682 * 2683 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2684 * .value[0].i32: whether to show an underline. 2685 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2686 * \n 2687 * Format of the return value {@link ArkUI_AttributeItem}:\n 2688 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2689 * 2690 */ 2691 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2692 /** 2693 * @brief Defines the maximum number of characters in the text input. 2694 * This attribute can be set, reset, and obtained as required through APIs. 2695 * 2696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2697 * .value[0].i32: maximum number of characters in the text input, without a unit. \n 2698 * \n 2699 * Format of the return value {@link ArkUI_AttributeItem}:\n 2700 * .value[0].i32: maximum number of characters in the text input. \n 2701 * 2702 */ 2703 NODE_TEXT_INPUT_MAX_LENGTH, 2704 /** 2705 * @brief Defines the type of the Enter key. 2706 * This attribute can be set, reset, and obtained as required through APIs. 2707 * 2708 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2709 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 2710 * \n 2711 * Format of the return value {@link ArkUI_AttributeItem}:\n 2712 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 2713 * 2714 */ 2715 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 2716 /** 2717 * @brief Defines the placeholder text color. 2718 * This attribute can be set, reset, and obtained as required through APIs. 2719 * 2720 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2721 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2722 * \n 2723 * Format of the return value {@link ArkUI_AttributeItem}:\n 2724 * .value[0].u32: color value, in 0xARGB format. \n 2725 * 2726 */ 2727 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 2728 /** 2729 * @brief Defines the placeholder text font. 2730 * This attribute can be set, reset, and obtained as required through APIs. 2731 * 2732 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2733 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2734 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 2735 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 2736 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 2737 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2738 * ?.string: font family. Multiple font families are separated by commas (,). 2739 * Example: "font weight; font family 1, font family 2". \n 2740 * \n 2741 * Format of the return value {@link ArkUI_AttributeItem}:\n 2742 * .value[0].f32: font size, in fp.\n 2743 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2744 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2745 * .string: font family. Multiple font families are separated by commas (,). \n 2746 * 2747 */ 2748 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 2749 /** 2750 * @brief Defines whether to enable the input method when the component obtains focus. 2751 * This attribute can be set, reset, and obtained as required through APIs. 2752 * 2753 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2754 * .value[0].i32: whether to enable the input method when the component obtains focus. 2755 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 2756 * \n 2757 * Format of the return value {@link ArkUI_AttributeItem}:\n 2758 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 2759 * and <b>0</b> means the opposite. \n 2760 * 2761 */ 2762 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 2763 /** 2764 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2765 * 2766 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2767 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 2768 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 2769 * \n 2770 * Format of the return value {@link ArkUI_AttributeItem}:\n 2771 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 2772 * 2773 */ 2774 NODE_TEXT_INPUT_TYPE, 2775 /** 2776 * @brief Defines the background color of the selected text. 2777 * This attribute can be set, reset, and obtained as required through APIs. 2778 * 2779 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2780 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2781 * \n 2782 * Format of the return value {@link ArkUI_AttributeItem}:\n 2783 * .value[0].u32: color value, in 0xARGB format. \n 2784 * 2785 */ 2786 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 2787 /** 2788 * @brief Defines whether to display the password icon at the end of the password text box. 2789 * This attribute can be set, reset, and obtained as required through APIs. 2790 * 2791 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2792 * .value[0].i32: whether to display the password icon at the end of the password text box. 2793 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 2794 * \n 2795 * Format of the return value {@link ArkUI_AttributeItem}:\n 2796 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 2797 * and <b>0</b> means the opposite. \n 2798 * 2799 */ 2800 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 2801 /** 2802 * @brief Defines the editable state for the single-line text box. 2803 * This attribute can be set as required through APIs. 2804 * 2805 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2806 * .value[0].i32: whether to remain in the editable state. The value 2807 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 2808 * \n 2809 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 2810 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 2811 * state, and <b>false</b> means to exit the editable state. \n 2812 * 2813 */ 2814 NODE_TEXT_INPUT_EDITING, 2815 /** 2816 * @brief Defines the style of the cancel button on the right of the single-line text box. 2817 * This attribute can be set, reset, and obtained as required through APIs. 2818 * 2819 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2820 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 2821 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 2822 * .value[1]?.f32: button icon size, in vp.\n 2823 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2824 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 2825 * \n 2826 * Format of the return value {@link ArkUI_AttributeItem}:\n 2827 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 2828 * .value[1].f32: icon size, in vp.\n 2829 * .value[2].u32: button icon color, in 0xARGB format.\n 2830 * .string: button icon image source. \n 2831 * 2832 */ 2833 NODE_TEXT_INPUT_CANCEL_BUTTON, 2834 /** 2835 * @brief Sets the text selection area, which will be highlighted. 2836 * This attribute can be set, reset, and obtained as required through APIs. 2837 * 2838 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2839 * .value[0].i32: start position of the text selection. \n 2840 * .value[1].i32: end position of the text selection. \n 2841 * \n 2842 * Format of the return value {@link ArkUI_AttributeItem}:\n 2843 * .value[0].i32: start position of the text selection. \n 2844 * .value[1].i32: end position of the text selection. \n 2845 * 2846 */ 2847 NODE_TEXT_INPUT_TEXT_SELECTION, 2848 /** 2849 * @brief Sets the color of the text underline when it is enabled. 2850 * 2851 * The default underline color configured for the theme is <b>'0x33182431'</b>. 2852 * 2853 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2854 * .value[0].u32: color of the underline applied to the text being typed in. 2855 * The value is in 0xARGB format. \n 2856 * .value[1].u32: color of the underline applied to the text in the normal state. 2857 * The value is in 0xARGB format. \n 2858 * .value[2].u32: color of the underline applied to the text when an error is detected. 2859 * The value is in 0xARGB format. \n 2860 * .value[3].u32: color of the underline applied to the text when it is disabled. 2861 * The value is in 0xARGB format. \n 2862 * \n 2863 * Format of the return value {@link ArkUI_AttributeItem}:\n 2864 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 2865 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 2866 * .value[2].u32: color of the underline applied to the text when an error is detected. 2867 * The value is in 0xARGB format. \n 2868 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 2869 * 2870 */ 2871 NODE_TEXT_INPUT_UNDERLINE_COLOR, 2872 /** 2873 * @brief Sets whether to enable autofill. 2874 * 2875 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2876 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 2877 * \n 2878 * Format of the return value {@link ArkUI_AttributeItem}:\n 2879 * .value[0].i32: whether to enable autofill. \n 2880 * 2881 */ 2882 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 2883 /** 2884 * @brief Sets the autofill type. 2885 * 2886 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2887 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2888 * \n 2889 * Format of the return value {@link ArkUI_AttributeItem}:\n 2890 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2891 * 2892 */ 2893 NODE_TEXT_INPUT_CONTENT_TYPE, 2894 /** 2895 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 2896 * transmitted to Password Vault for generating a new password. 2897 * 2898 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2899 * .string: rules for generating passwords. \n 2900 * \n 2901 * Format of the return value {@link ArkUI_AttributeItem}:\n 2902 * .string: rules for generating passwords. \n 2903 * 2904 */ 2905 NODE_TEXT_INPUT_PASSWORD_RULES, 2906 /** 2907 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 2908 * 2909 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2910 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 2911 * \n 2912 * Format of the return value {@link ArkUI_AttributeItem}:\n 2913 * .value[0].i32: whether to select all text in the initial state. \n 2914 * 2915 */ 2916 NODE_TEXT_INPUT_SELECT_ALL, 2917 /** 2918 * @brief Sets the regular expression for input filtering. 2919 * Only inputs that comply with the regular expression can be displayed. 2920 * Other inputs are filtered out. The specified regular expression can match single characters, 2921 * but not strings. 2922 * 2923 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2924 * .string: regular expression. \n 2925 * \n 2926 * Format of the return value {@link ArkUI_AttributeItem}:\n 2927 * .string: regular expression. \n 2928 * 2929 */ 2930 NODE_TEXT_INPUT_INPUT_FILTER, 2931 /** 2932 * @brief Sets the text box to the default style or inline input style. 2933 * 2934 * For the inline input style, only <b>InputType.Normal</b> is supported. 2935 * 2936 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2937 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2938 * \n 2939 * Format of the return value {@link ArkUI_AttributeItem}:\n 2940 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2941 * 2942 */ 2943 NODE_TEXT_INPUT_STYLE, 2944 /** 2945 * @brief Sets or obtains the caret position. 2946 * 2947 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2948 * In the case of setting the caret position: 2949 * .value[0].i32: character count from the beginning of a string to the caret position. \n 2950 * 2951 * Format of the return value {@link ArkUI_AttributeItem}:\n 2952 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 2953 * current frame, it will not take effect. 2954 * .value[0].i32: index of the caret position. \n 2955 * .value[1].f32: X coordinate of the caret relative to the text box. \n 2956 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 2957 */ 2958 NODE_TEXT_INPUT_CARET_OFFSET, 2959 /** 2960 * @brief Obtains the position of the edited text area relative to the component and its size. 2961 * 2962 * Format of the return value {@link ArkUI_AttributeItem}:\n 2963 * .value[0].f32: horizontal coordinate. \n 2964 * .value[1].f32: vertical coordinate. \n 2965 * .value[2].f32: content width. \n 2966 * .value[3].f32: content height. \n 2967 * 2968 */ 2969 NODE_TEXT_INPUT_CONTENT_RECT, 2970 /** 2971 * @brief Obtains the number of lines of the edited text. 2972 * 2973 * Format of the return value {@link ArkUI_AttributeItem}:\n 2974 * .value[0].i32: number of lines of the edited text. \n 2975 * 2976 */ 2977 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 2978 /** 2979 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or 2980 * right-clicked. This attribute can be set, reset, and obtained as required through APIs. 2981 * 2982 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2983 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 2984 * right-clicked. The default value is <b>false</b>. \n 2985 * \n 2986 * Format of the return value {@link ArkUI_AttributeItem}:\n 2987 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 2988 * right-clicked. \n 2989 * 2990 */ 2991 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 2992 /** 2993 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 2994 * 2995 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2996 * .value[0].i32: whether the text box loses focus. \n 2997 * \n 2998 * Format of the return value {@link ArkUI_AttributeItem}:\n 2999 * .value[0].i32: whether the text box loses focus. \n 3000 * 3001 */ 3002 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 3003 /** 3004 * @brief Set up a custom keyboard. 3005 * 3006 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3007 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 3008 * .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.\n 3009 * \n 3010 * Format of the return value {@link ArkUI_AttributeItem}:\n 3011 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 3012 * .value[0].i32:Set whether the custom keyboard supports the avoidance function.\n 3013 * 3014 */ 3015 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 3016 /** 3017 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 3018 * 3019 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3020 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3021 * \n 3022 * Format of the return value {@link ArkUI_AttributeItem}:\n 3023 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3024 * 3025 */ 3026 NODE_TEXT_INPUT_WORD_BREAK, 3027 3028 /** 3029 * @brief Sets whether the keyboard pops up when the input box gains focus. 3030 * It supports property setting, property reset and property acquisition interfaces. 3031 * 3032 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3033 * .value[0].i32: Whether to pop up the keyboard. \n 3034 * \n 3035 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 3036 * .value[0].i32: Whether to pop up the keyboard. \n 3037 * 3038 */ 3039 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 3040 3041 /** 3042 * @brief When this property is set, the height of the textInput component is calculated using this property. 3043 * 3044 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3045 * .value[0].i32: set the value of numberOfLines.\n 3046 * \n 3047 * Format of the return value {@link ArkUI_AttributeItem}:\n 3048 * .value[0].i32: the value of numberOfLines.\n 3049 * 3050 */ 3051 NODE_TEXT_INPUT_NUMBER_OF_LINES, 3052 3053 /** 3054 * @brief Sets the letter spacing of the <b>TextInput</b> component. 3055 * This attribute can be set, reset, and obtained as required through APIs. 3056 * 3057 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3058 * .value[0].f32: letter spacing. The default unit is fp. \n 3059 * \n 3060 * Format of the return value {@link ArkUI_AttributeItem}:\n 3061 * .value[0].f32: letter spacing. The default unit is fp. \n 3062 * 3063 * @since 15 3064 */ 3065 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 3066 /** 3067 * @brief Sets whether to enable preview text for the <b>TextInput</b> component. 3068 * This attribute can be set, reset, and obtained as required through APIs. 3069 * 3070 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3071 * .value[0].i32: whether to enable preview tex. \n 3072 * \n 3073 * Format of the return value {@link ArkUI_AttributeItem}:\n 3074 * .value[0].i32: whether to enable preview tex. \n 3075 * 3076 * @since 15 3077 */ 3078 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 3079 3080 /** 3081 * @brief Sets whether to center text vertically in the textInput component. 3082 * 3083 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3084 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3085 * \n 3086 * Format of the return value {@link ArkUI_AttributeItem}:\n 3087 * .value[0].i32: whether to center text vertically. \n 3088 * 3089 * @since 18 3090 */ 3091 NODE_TEXT_INPUT_HALF_LEADING = 7034, 3092 3093 /** 3094 * @brief Set the keyboard style of textInput 3095 * 3096 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3097 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3098 * \n 3099 * Format of the return value {@link ArkUI_AttributeItem}:\n 3100 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3101 * 3102 * @since 15 3103 */ 3104 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 3105 3106 /** 3107 * @brief Defines the default placeholder text for the multi-line text box. 3108 * This attribute can be set, reset, and obtained as required through APIs. 3109 * 3110 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3111 * .string: default placeholder text. \n 3112 * \n 3113 * Format of the return value {@link ArkUI_AttributeItem}:\n 3114 * .string: default placeholder text. \n 3115 * 3116 */ 3117 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 3118 /** 3119 * @brief Defines the default text content for the multi-line text box. 3120 * This attribute can be set, reset, and obtained as required through APIs. 3121 * 3122 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3123 * .string: default text content. \n 3124 * \n 3125 * Format of the return value {@link ArkUI_AttributeItem}:\n 3126 * .string: default text content. \n 3127 * 3128 */ 3129 NODE_TEXT_AREA_TEXT, 3130 /** 3131 * @brief Defines the maximum number of characters in the text input. 3132 * This attribute can be set, reset, and obtained as required through APIs. 3133 * 3134 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3135 * .value[0].i32: maximum number of characters in the text input. \n 3136 * \n 3137 * Format of the return value {@link ArkUI_AttributeItem}:\n 3138 * .value[0].i32: maximum number of characters in the text input. \n 3139 * 3140 */ 3141 NODE_TEXT_AREA_MAX_LENGTH, 3142 /** 3143 * @brief Defines the placeholder text color. 3144 * This attribute can be set, reset, and obtained as required through APIs. 3145 * 3146 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3147 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3148 * \n 3149 * Format of the return value {@link ArkUI_AttributeItem}:\n 3150 * .value[0].u32: color value, in 0xARGB format. \n 3151 * 3152 */ 3153 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 3154 /** 3155 * @brief Defines the placeholder text font. 3156 * This attribute can be set, reset, and obtained as required through APIs. 3157 * 3158 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3159 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3160 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 3161 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 3162 * ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2". \n 3163 * \n 3164 * Format of the return value {@link ArkUI_AttributeItem}:\n 3165 * .value[0].f32: font size, in fp.\n 3166 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3167 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3168 * .string: font family. Multiple font families are separated by commas (,). \n 3169 * 3170 */ 3171 NODE_TEXT_AREA_PLACEHOLDER_FONT, 3172 /** 3173 * @brief Defines the caret color attribute. 3174 * This attribute can be set, reset, and obtained as required through APIs. 3175 * 3176 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3177 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3178 * \n 3179 * Format of the return value {@link ArkUI_AttributeItem}:\n 3180 * .value[0].u32: background color, in 0xARGB format. \n 3181 * 3182 */ 3183 NODE_TEXT_AREA_CARET_COLOR, 3184 /** 3185 * @brief Defines the editable state for the multi-line text box. 3186 * This attribute can be set as required through APIs. 3187 * 3188 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3189 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 3190 * editable state, and <b>false</b> means to exit the editable state.\n \n 3191 * \n 3192 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3193 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3194 * state, and <b>false</b> means to exit the editable state.\n \n 3195 * 3196 */ 3197 NODE_TEXT_AREA_EDITING, 3198 /** 3199 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 3200 * 3201 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3202 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. 3203 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 3204 * \n 3205 * Format of the return value {@link ArkUI_AttributeItem}:\n 3206 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 3207 * 3208 */ 3209 NODE_TEXT_AREA_TYPE, 3210 /** 3211 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 3212 * 3213 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3214 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 3215 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 3216 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3217 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 3218 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 3219 * \n 3220 * Format of the return value {@link ArkUI_AttributeItem}:\n 3221 * .value[0].i32: whether to show a character counter. \n 3222 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 3223 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3224 * by the threshold percentage value. The value range is 1 to 100. \n 3225 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 3226 * The default value is <b>true</b>. \n 3227 * 3228 */ 3229 NODE_TEXT_AREA_SHOW_COUNTER, 3230 /** 3231 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, 3232 * or right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3233 * 3234 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3235 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3236 * or right-clicked. The default value is <b>false</b>. \n 3237 * \n 3238 * Format of the return value {@link ArkUI_AttributeItem}:\n 3239 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3240 * or right-clicked. \n 3241 * 3242 */ 3243 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 3244 /** 3245 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 3246 * 3247 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3248 * .value[0].i32: whether the text box loses focus. \n 3249 * \n 3250 * Format of the return value {@link ArkUI_AttributeItem}:\n 3251 * .value[0].i32: whether the text box loses focus. \n 3252 * 3253 */ 3254 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 3255 /** 3256 * @brief Sets the regular expression for input filtering. 3257 * Only inputs that comply with the regular expression can be displayed. 3258 * Other inputs are filtered out. The specified regular expression can match single characters, 3259 * but not strings. 3260 * 3261 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3262 * .string: regular expression. \n 3263 * \n 3264 * Format of the return value {@link ArkUI_AttributeItem}:\n 3265 * .string: regular expression. \n 3266 * 3267 */ 3268 NODE_TEXT_AREA_INPUT_FILTER, 3269 /** 3270 * @brief Defines the background color of the selected text. 3271 * This attribute can be set, reset, and obtained as required through APIs. 3272 * 3273 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3274 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3275 * \n 3276 * Format of the return value {@link ArkUI_AttributeItem}:\n 3277 * .value[0].u32: color value, in 0xARGB format. \n 3278 * 3279 */ 3280 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3281 /** 3282 * @brief Defines the type of the Enter key. 3283 * This attribute can be set, reset, and obtained as required through APIs. 3284 * 3285 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3286 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3287 * \n 3288 * Format of the return value {@link ArkUI_AttributeItem}:\n 3289 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3290 * 3291 */ 3292 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3293 /** 3294 * @brief Defines whether to enable the input method when the component obtains focus. 3295 * This attribute can be set, reset, and obtained as required through APIs. 3296 * 3297 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3298 * .value[0].i32: whether to enable the input method when the component obtains focus. 3299 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3300 * \n 3301 * Format of the return value {@link ArkUI_AttributeItem}:\n 3302 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3303 * and <b>0</b> means the opposite. \n 3304 * 3305 */ 3306 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3307 /** 3308 * @brief Defines whether to enable the input method when the component obtains focus. 3309 * This attribute can be set, reset, and obtained as required through APIs. 3310 * 3311 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3312 * .value[0].i32: whether to enable the input method when the component obtains focus. 3313 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3314 * \n 3315 * Format of the return value {@link ArkUI_AttributeItem}:\n 3316 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3317 * and <b>0</b> means the opposite. \n 3318 * 3319 */ 3320 NODE_TEXT_AREA_CARET_OFFSET, 3321 /** 3322 * @brief Obtains the position of the edited text area relative to the component and its size. 3323 * 3324 * Format of the return value {@link ArkUI_AttributeItem}:\n 3325 * .value[0].f32: horizontal coordinate. \n 3326 * .value[1].f32: vertical coordinate. \n 3327 * .value[2].f32: content width. \n 3328 * .value[3].f32: content height. \n 3329 * 3330 */ 3331 NODE_TEXT_AREA_CONTENT_RECT, 3332 /** 3333 * @brief Obtains the number of lines of the edited text. 3334 * 3335 * Format of the return value {@link ArkUI_AttributeItem}:\n 3336 * .value[0].i32: number of lines of the edited text. \n 3337 * 3338 */ 3339 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3340 /** 3341 * @brief Sets the text selection area, which will be highlighted. 3342 * This attribute can be set, reset, and obtained as required through APIs. 3343 * 3344 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3345 * .value[0].i32: start position of the text selection. \n 3346 * .value[1].i32: end position of the text selection. \n 3347 * \n 3348 * Format of the return value {@link ArkUI_AttributeItem}:\n 3349 * .value[0].i32: start position of the text selection. \n 3350 * .value[1].i32: end position of the text selection. \n 3351 * 3352 */ 3353 NODE_TEXT_AREA_TEXT_SELECTION, 3354 /** 3355 * @brief Sets whether to enable autofill. 3356 * 3357 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3358 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3359 * \n 3360 * Format of the return value {@link ArkUI_AttributeItem}:\n 3361 * .value[0].i32: whether to enable autofill. \n 3362 * 3363 */ 3364 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3365 /** 3366 * @brief Sets the autofill type. 3367 * 3368 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3369 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3370 * \n 3371 * Format of the return value {@link ArkUI_AttributeItem}:\n 3372 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3373 * 3374 */ 3375 NODE_TEXT_AREA_CONTENT_TYPE, 3376 3377 /** 3378 * @brief Sets whether the keyboard pops up when the input box gains focus. 3379 * It supports property setting, property reset and property acquisition interfaces. 3380 * 3381 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3382 * .value[0].i32: Whether to pop up the keyboard. \n 3383 * \n 3384 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 3385 * .value[0].i32: Whether to pop up the keyboard. \n 3386 * 3387 */ 3388 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3389 /** 3390 * @brief When this property is set, the height of the textArea component is calculated using this property. 3391 * 3392 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3393 * .value[0].i32: set the value of numberOfLines.\n 3394 * \n 3395 * Format of the return value {@link ArkUI_AttributeItem}:\n 3396 * .value[0].i32: Set the value of numberOfLines\n 3397 * 3398 */ 3399 NODE_TEXT_AREA_NUMBER_OF_LINES, 3400 3401 /** 3402 * @brief Sets the letter spacing of the <b>TextArea</b> component. 3403 * This attribute can be set, reset, and obtained as required through APIs. 3404 * 3405 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3406 * .value[0].f32: letter spacing. The default unit is fp. \n 3407 * \n 3408 * Format of the return value {@link ArkUI_AttributeItem}:\n 3409 * .value[0].f32: letter spacing. The default unit is fp. \n 3410 * 3411 * @since 15 3412 */ 3413 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3414 /** 3415 * @brief Sets whether to enable preview text for the <b>TextArea</b> component. 3416 * This attribute can be set, reset, and obtained as required through APIs. 3417 * 3418 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3419 * .value[0].i32: whether to enable preview tex. \n 3420 * \n 3421 * Format of the return value {@link ArkUI_AttributeItem}:\n 3422 * .value[0].i32: whether to enable preview tex. \n 3423 * 3424 * @since 15 3425 */ 3426 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3427 3428 /** 3429 * @brief Sets whether to center text vertically in the textArea component. 3430 * 3431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3432 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3433 * \n 3434 * Format of the return value {@link ArkUI_AttributeItem}:\n 3435 * .value[0].i32: whether to center text vertically. \n 3436 * 3437 * @since 18 3438 */ 3439 NODE_TEXT_AREA_HALF_LEADING = 8025, 3440 3441 /** 3442 * @brief Set the keyboard style of textArea 3443 * 3444 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3445 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3446 * \n 3447 * Format of the return value {@link ArkUI_AttributeItem}:\n 3448 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3449 * 3450 * @since 15 3451 */ 3452 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3453 3454 /** 3455 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3456 * 3457 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3458 * .string: default text content. \n 3459 * \n 3460 * Format of the return value {@link ArkUI_AttributeItem}:\n 3461 * .string: default text content. \n 3462 * 3463 */ 3464 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3465 3466 /** 3467 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3468 * 3469 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3470 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3471 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3472 * \n 3473 * Format of the return value {@link ArkUI_AttributeItem}:\n 3474 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3475 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3476 * 3477 */ 3478 NODE_BUTTON_TYPE, 3479 3480 /** 3481 * @brief Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs. 3482 * 3483 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3484 * .value[0].f32: minimum font scale, in fp. 3485 * \n 3486 * Format of the return value {@link ArkUI_AttributeItem}:\n 3487 * .value[0].f32: minimum font scale, in fp. 3488 * 3489 * @since 18 3490 */ 3491 NODE_BUTTON_MIN_FONT_SCALE, 3492 3493 /** 3494 * @brief Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs. 3495 * 3496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3497 * .value[0].f32: maximum font scale, in fp. 3498 * \n 3499 * Format of the return value {@link ArkUI_AttributeItem}:\n 3500 * .value[0].f32: maximum font scale, in fp. 3501 * 3502 * @since 18 3503 */ 3504 NODE_BUTTON_MAX_FONT_SCALE, 3505 3506 /** 3507 * @brief Defines the current value of the progress indicator. 3508 * This attribute can be set, reset, and obtained as required through APIs. 3509 * 3510 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3511 * .value[0].f32: current value of the progress indicator. \n 3512 * \n 3513 * Format of the return value {@link ArkUI_AttributeItem}:\n 3514 * .value[0].f32: current value of the progress indicator. \n 3515 * 3516 */ 3517 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3518 /** 3519 * @brief Defines the total value of the progress indicator. 3520 * This attribute can be set, reset, and obtained as required through APIs. 3521 * 3522 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3523 * .value[0].f32: total value of the progress indicator. \n 3524 * \n 3525 * Format of the return value {@link ArkUI_AttributeItem}:\n 3526 * .value[0].f32: total value of the progress indicator. \n 3527 * 3528 */ 3529 NODE_PROGRESS_TOTAL, 3530 /** 3531 * @brief Defines the color for the progress value on the progress indicator. 3532 * This attribute can be set, reset, and obtained as required through APIs. 3533 * 3534 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3535 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3536 * \n 3537 * Format of the return value {@link ArkUI_AttributeItem}:\n 3538 * .value[0].u32: color value, in 0xARGB format. \n 3539 * 3540 */ 3541 NODE_PROGRESS_COLOR, 3542 /** 3543 * @brief Defines the type of the progress indicator. 3544 * This attribute can be set, reset, and obtained as required through APIs. 3545 * 3546 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3547 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3548 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3549 * \n 3550 * Format of the return value {@link ArkUI_AttributeItem}:\n 3551 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3552 * 3553 */ 3554 NODE_PROGRESS_TYPE, 3555 /** 3556 * @brief Sets the style of the linear progress indicator. 3557 * This attribute can be set, reset, and obtained as required through APIs. 3558 * If the progress indicator type is not linear, it will not take effect. 3559 * 3560 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3561 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3562 * \n 3563 * Format of the return value {@link ArkUI_AttributeItem}:\n 3564 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3565 * 3566 * @since 15 3567 */ 3568 NODE_PROGRESS_LINEAR_STYLE, 3569 3570 /** 3571 * @brief Defines whether the check box is selected. 3572 * This attribute can be set, reset, and obtained as required through APIs. 3573 * 3574 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3575 * .value[0].i32: whether the check box is selected. 3576 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3577 * \n 3578 * Format of the return value {@link ArkUI_AttributeItem}:\n 3579 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3580 * 3581 */ 3582 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3583 3584 /** 3585 * @brief Defines the color of the check box when it is selected. 3586 * This attribute can be set, reset, and obtained as required through APIs. 3587 * 3588 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3589 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3590 * \n 3591 * Format of the return value {@link ArkUI_AttributeItem}:\n 3592 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3593 * 3594 */ 3595 NODE_CHECKBOX_SELECT_COLOR, 3596 3597 /** 3598 * @brief Defines the border color of the check box when it is not selected. 3599 * This attribute can be set, reset, and obtained as required through APIs. 3600 * 3601 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3602 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3603 * \n 3604 * Format of the return value {@link ArkUI_AttributeItem}:\n 3605 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3606 * 3607 */ 3608 NODE_CHECKBOX_UNSELECT_COLOR, 3609 3610 /** 3611 * @brief Defines the internal icon style of the check box. 3612 * This attribute can be set, reset, and obtained as required through APIs. 3613 * 3614 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3615 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3616 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 3617 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 3618 * \n 3619 * Format of the return value {@link ArkUI_AttributeItem}:\n 3620 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3621 * .value[1].f32: size of the internal mark, in vp. \n 3622 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 3623 * 3624 */ 3625 NODE_CHECKBOX_MARK, 3626 3627 /** 3628 * @brief Defines the shape of the check box. 3629 * This attribute can be set, reset, and obtained as required through APIs. 3630 * 3631 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3632 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 3633 * \n 3634 * Format of the return value {@link ArkUI_AttributeItem}:\n 3635 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 3636 * 3637 */ 3638 NODE_CHECKBOX_SHAPE, 3639 3640 /** 3641 * @brief Defines the name of the checkbox. 3642 * This attribute can be set, reset, and obtained as required through APIs. 3643 * 3644 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3645 * .string: component name. \n 3646 * \n 3647 * Format of the return value {@link ArkUI_AttributeItem}:\n 3648 * .string: component name. \n 3649 * 3650 * @since 15 3651 */ 3652 NODE_CHECKBOX_NAME, 3653 3654 /** 3655 * @brief Defines the name of the checkbox. 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 * .string: component name. \n 3660 * \n 3661 * Format of the return value {@link ArkUI_AttributeItem}:\n 3662 * .string: component name. \n 3663 * 3664 * @since 15 3665 */ 3666 NODE_CHECKBOX_GROUP, 3667 3668 /** 3669 * @brief Defines the ID of the <b><XComponent></b> component. 3670 * This attribute can be set and obtained as required through APIs. 3671 * 3672 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3673 * .string: component ID. \n 3674 * \n 3675 * Format of the return value {@link ArkUI_AttributeItem}:\n 3676 * .string: component ID. \n 3677 * 3678 */ 3679 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 3680 /** 3681 * @brief Defines the type of the <b><XComponent></b> component. 3682 * This attribute can be set, reset, and obtained as required through APIs. 3683 * 3684 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3685 * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n 3686 * \n 3687 * Format of the return value {@link ArkUI_AttributeItem}:\n 3688 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 3689 * 3690 */ 3691 NODE_XCOMPONENT_TYPE, 3692 /** 3693 * @brief Defines the width and height of the <b><XComponent></b> component. 3694 * This attribute can be set and obtained as required through APIs. 3695 * 3696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3697 * .value[0].u32: width, in px. \n 3698 * .value[1].u32: height, in px. \n 3699 * \n 3700 * Format of the return value {@link ArkUI_AttributeItem}:\n 3701 * .value[0].u32: width, in px. \n 3702 * .value[1].u32: height, in px. \n 3703 * 3704 */ 3705 NODE_XCOMPONENT_SURFACE_SIZE, 3706 /** 3707 * @brief Defines the rectangle information of surface created by the <b><XComponent></b> component. 3708 * This attribute can be set and obtained as required through APIs. 3709 * 3710 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3711 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 3712 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 3713 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 3714 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 3715 * \n 3716 * Format of the return value {@link ArkUI_AttributeItem}:\n 3717 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3718 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 3719 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 3720 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 3721 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 3722 * @since 18 3723 */ 3724 NODE_XCOMPONENT_SURFACE_RECT, 3725 /** 3726 * @brief Defines whether to enable the AI analyzer for the <b><XComponent></b> component. 3727 * This attribute can be set and obtained as required through APIs. 3728 * 3729 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3730 * value[0].i32: The parameter type is 1 or 0. 3731 * \n 3732 * Format of the return value {@link ArkUI_AttributeItem}:\n 3733 * value[0].i32: The parameter type is 1 or 0. 3734 * @since 18 3735 */ 3736 NODE_XCOMPONENT_ENABLE_ANALYZER, 3737 3738 /** 3739 * @brief Defines whether to display the lunar calendar in the date picker. 3740 * This attribute can be set, reset, and obtained as required through APIs. 3741 * 3742 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3743 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 3744 * \n 3745 * Format of the return value {@link ArkUI_AttributeItem}:\n 3746 * .value[0].i32: whether to display the lunar calendar in the date picker. 3747 * 3748 */ 3749 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 3750 /** 3751 * @brief Defines the start date of the date picker. 3752 * This attribute can be set, reset, and obtained as required through APIs. 3753 * 3754 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3755 * .string: date. The default value is <b>"1970-1-1"</b>. \n 3756 * \n 3757 * Format of the return value {@link ArkUI_AttributeItem}:\n 3758 * .string: date. \n 3759 * 3760 */ 3761 NODE_DATE_PICKER_START, 3762 /** 3763 * @brief Defines the end date of the date picker. 3764 * This attribute can be set, reset, and obtained as required through APIs. 3765 * 3766 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3767 * .string: date. The default value is <b>"2100-12-31"</b>. \n 3768 * \n 3769 * Format of the return value {@link ArkUI_AttributeItem}:\n 3770 * .string: date. \n 3771 * 3772 */ 3773 NODE_DATE_PICKER_END, 3774 /** 3775 * @brief Defines the selected date of the date picker. 3776 * This attribute can be set, reset, and obtained as required through APIs. 3777 * 3778 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3779 * .string: date. The default value is <b>"2024-01-22"</b>. \n 3780 * \n 3781 * Format of the return value {@link ArkUI_AttributeItem}:\n 3782 * .string: date. 3783 * 3784 */ 3785 NODE_DATE_PICKER_SELECTED, 3786 /** 3787 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 3788 * This attribute 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 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3792 * Parameter 1: font color, in #ARGB format.\n 3793 * Parameter 2: font size, in fp. The value is a number.\n 3794 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3795 * Parameter 4: fonts, separated by commas (,).\n 3796 * Parameter 5: font style. Available options are ("normal", "italic").\n 3797 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3798 * \n 3799 * Format of the return value {@link ArkUI_AttributeItem}:\n 3800 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3801 * Parameter 1: font color, in #ARGB format.\n 3802 * Parameter 2: font size, in fp. The value is a number.\n 3803 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3804 * Parameter 4: fonts, separated by commas (,).\n 3805 * Parameter 5: font style. Available options are ("normal", "italic").\n 3806 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3807 * 3808 */ 3809 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 3810 /** 3811 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 3812 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 3813 * 3814 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3815 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3816 * Parameter 1: font color, in #ARGB format.\n 3817 * Parameter 2: font size, in fp. The value is a number.\n 3818 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3819 * Parameter 4: fonts, separated by commas (,).\n 3820 * Parameter 5: font style. Available options are ("normal", "italic").\n 3821 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3822 * \n 3823 * Format of the return value {@link ArkUI_AttributeItem}:\n 3824 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3825 * Parameter 1: font color, in #ARGB format.\n 3826 * Parameter 2: font size, in fp. The value is a number.\n 3827 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3828 * Parameter 4: fonts, separated by commas (,).\n 3829 * Parameter 5: font style. Available options are ("normal", "italic").\n 3830 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3831 * 3832 */ 3833 NODE_DATE_PICKER_TEXT_STYLE, 3834 /** 3835 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 3836 * This attribute can be set, reset, and obtained as required through APIs. 3837 * 3838 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3839 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3840 * Parameter 1: font color, in #ARGB format.\n 3841 * Parameter 2: font size, in fp. The value is a number.\n 3842 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3843 * Parameter 4: fonts, separated by commas (,).\n 3844 * Parameter 5: font style. Available options are ("normal", "italic").\n 3845 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3846 * \n 3847 * Format of the return value {@link ArkUI_AttributeItem}:\n 3848 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3849 * Parameter 1: font color, in #ARGB format.\n 3850 * Parameter 2: font size, in fp. The value is a number.\n 3851 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3852 * Parameter 4: fonts, separated by commas (,).\n 3853 * Parameter 5: font style. Available options are ("normal", "italic").\n 3854 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3855 * 3856 */ 3857 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 3858 /** 3859 * @brief Defines the mode of the date picker. 3860 * This attribute can be set, reset, and obtained as required through APIs. 3861 * 3862 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3863 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 3864 * \n 3865 * Format of the return value {@link ArkUI_AttributeItem}:\n 3866 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 3867 * 3868 * @since 18 3869 */ 3870 NODE_DATE_PICKER_MODE = 13007, 3871 /** 3872 * @brief Defines whether haptic feedback. 3873 * This attribute can be set, reset, and obtained as required through APIs. 3874 * 3875 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3876 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 3877 * <b>false</b> means the opposite.\n 3878 * \n 3879 * Format of the return value {@link ArkUI_AttributeItem}:\n 3880 * value[0].i32: whether to feedback.\n 3881 * 3882 * @since 18 3883 */ 3884 NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK = 13008, 3885 /** 3886 * @brief Defines the time of the selected item. in the timer picker. 3887 * This attribute can be set, reset, and obtained as required through APIs. 3888 * 3889 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3890 * .string: time. The default value is the current system time. \n 3891 * \n 3892 * Format of the return value {@link ArkUI_AttributeItem}:\n 3893 * .string: time. 3894 * 3895 */ 3896 3897 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 3898 /** 3899 * @brief Defines whether the display time is in 24-hour format. 3900 * This attribute can be set, reset, and obtained as required through APIs. 3901 * 3902 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3903 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 3904 * \n 3905 * Format of the return value {@link ArkUI_AttributeItem}:\n 3906 * .value[0].i32: whether the display time is in 24-hour format. 3907 * 3908 */ 3909 NODE_TIME_PICKER_USE_MILITARY_TIME, 3910 /** 3911 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 3912 * This attribute can be set, reset, and obtained as required through APIs. 3913 * 3914 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3915 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3916 * Parameter 1: font color, in #ARGB format.\n 3917 * Parameter 2: font size, in fp. The value is a number.\n 3918 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3919 * Parameter 4: fonts, separated by commas (,).\n 3920 * Parameter 5: font style. Available options are ("normal", "italic").\n 3921 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3922 * \n 3923 * Format of the return value {@link ArkUI_AttributeItem}:\n 3924 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3925 * Parameter 1: font color, in #ARGB format.\n 3926 * Parameter 2: font size, in fp. The value is a number.\n 3927 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3928 * Parameter 4: fonts, separated by commas (,).\n 3929 * Parameter 5: font style. Available options are ("normal", "italic").\n 3930 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3931 * 3932 */ 3933 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 3934 /** 3935 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 3936 * in the time picker. 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 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3940 * Parameter 1: font color, in #ARGB format.\n 3941 * Parameter 2: font size, in fp. The value is a number.\n 3942 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3943 * Parameter 4: fonts, separated by commas (,).\n 3944 * Parameter 5: font style. Available options are ("normal", "italic").\n 3945 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3946 * \n 3947 * Format of the return value {@link ArkUI_AttributeItem}:\n 3948 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3949 * Parameter 1: font color, in #ARGB format.\n 3950 * Parameter 2: font size, in fp. The value is a number.\n 3951 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3952 * Parameter 4: fonts, separated by commas (,).\n 3953 * Parameter 5: font style. Available options are ("normal", "italic").\n 3954 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3955 * 3956 */ 3957 NODE_TIME_PICKER_TEXT_STYLE, 3958 /** 3959 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 3960 * This attribute can be set, reset, and obtained as required through APIs. 3961 * 3962 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3963 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3964 * Parameter 1: font color, in #ARGB format.\n 3965 * Parameter 2: font size, in fp. The value is a number.\n 3966 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3967 * Parameter 4: fonts, separated by commas (,).\n 3968 * Parameter 5: font style. Available options are ("normal", "italic").\n 3969 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3970 * \n 3971 * Format of the return value {@link ArkUI_AttributeItem}:\n 3972 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3973 * Parameter 1: font color, in #ARGB format.\n 3974 * Parameter 2: font size, in fp. The value is a number.\n 3975 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3976 * Parameter 4: fonts, separated by commas (,).\n 3977 * Parameter 5: font style. Available options are ("normal", "italic").\n 3978 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3979 * 3980 */ 3981 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 3982 /** 3983 * @brief Defines the start time of the time picker. 3984 * This attribute can be set, reset, and obtained as required through APIs. 3985 * 3986 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3987 * .string: time. The default value is <b>"00:00:00"</b>.\n 3988 * \n 3989 * Format of the return value {@link ArkUI_AttributeItem}:\n 3990 * .string: time. The default value is <b>"00:00:00"</b>.\n 3991 * 3992 * @since 18 3993 */ 3994 NODE_TIME_PICKER_START = 14005, 3995 /** 3996 * @brief Defines the end time of the time picker. 3997 * This attribute can be set, reset, and obtained as required through APIs. 3998 * 3999 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4000 * .string: time. The default value is <b>"23:59:59"</b>.\n 4001 * \n 4002 * Format of the return value {@link ArkUI_AttributeItem}:\n 4003 * .string: time. The default value is <b>"23:59:59"</b>.\n 4004 * 4005 * @since 18 4006 */ 4007 NODE_TIME_PICKER_END = 14006, 4008 /** 4009 * @brief Defines whether the AM/PM option is cascaded with the time in 12-hour mode. 4010 * This attribute can be set, reset, and obtained as required through APIs. 4011 * 4012 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4013 * .value[0].i32: whether to enable cascade. The default value is <b>false</b>.\n 4014 * \n 4015 * Format of the return value {@link ArkUI_AttributeItem}:\n 4016 * .value[0].i32: whether to enable cascade.\n 4017 * 4018 * @since 18 4019 */ 4020 NODE_TIME_PICKER_ENABLE_CASCADE = 14007, 4021 4022 /** 4023 * @brief Defines the data selection range of the text picker. 4024 * This attribute can be set, reset, and obtained as required through APIs. 4025 * 4026 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4027 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 4028 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 4029 * ?.string: string input, whose format varies by picker type.\n 4030 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 4031 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4032 * semicolons (;), and strings within each pair are separated by commas (,). \n 4033 * ?.object: Object input, whose format varies by picker type.\n 4034 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 4035 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4036 * \n 4037 * Format of the return value {@link ArkUI_AttributeItem}:\n 4038 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 4039 * ?.string: string output, whose format varies by picker type.\n 4040 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 4041 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4042 * semicolons (;), and strings within each pair are separated by commas (,). \n 4043 * ?.string: Object output, whose format varies by picker type.\n 4044 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 4045 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4046 * 4047 */ 4048 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 4049 /** 4050 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4051 * This attribute can be set, reset, and obtained as required through APIs. 4052 * 4053 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4054 * .value[0].u32: index. If there are multiple index values, add them one by one. \n 4055 * \n 4056 * Format of the return value {@link ArkUI_AttributeItem}:\n 4057 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 4058 * 4059 */ 4060 NODE_TEXT_PICKER_OPTION_SELECTED, 4061 /** 4062 * @brief Defines the value of the default selected item in the text picker. 4063 * This attribute can be set, reset, and obtained as required through APIs. 4064 * 4065 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4066 * .string: value of the selected item. If there are multiple values, add them one by one and 4067 * separate them with semicolons (;). \n 4068 * \n 4069 * Format of the return value {@link ArkUI_AttributeItem}:\n 4070 * .string: value of the selected item. If there are multiple values, add them one by one and 4071 * separate them with semicolons (;).\n 4072 * 4073 */ 4074 NODE_TEXT_PICKER_OPTION_VALUE, 4075 /** 4076 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text 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: array of five parameters of the string type, separated by semicolons (;).\n 4081 * Parameter 1: font color, in #ARGB format.\n 4082 * Parameter 2: font size, in fp. The value is a number.\n 4083 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4084 * Parameter 4: fonts, separated by commas (,).\n 4085 * Parameter 5: font style. Available options are ("normal", "italic").\n 4086 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4087 * \n 4088 * Format of the return value {@link ArkUI_AttributeItem}:\n 4089 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4090 * Parameter 1: font color, in #ARGB format.\n 4091 * Parameter 2: font size, in fp. The value is a number.\n 4092 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4093 * Parameter 4: fonts, separated by commas (,).\n 4094 * Parameter 5: font style. Available options are ("normal", "italic").\n 4095 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4096 * 4097 */ 4098 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 4099 /** 4100 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 4101 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 4102 * 4103 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4104 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4105 * Parameter 1: font color, in #ARGB format.\n 4106 * Parameter 2: font size, in fp. The value is a number.\n 4107 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4108 * Parameter 4: fonts, separated by commas (,).\n 4109 * Parameter 5: font style. Available options are ("normal", "italic").\n 4110 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4111 * \n 4112 * Format of the return value {@link ArkUI_AttributeItem}:\n 4113 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4114 * Parameter 1: font color, in #ARGB format.\n 4115 * Parameter 2: font size, in fp. The value is a number.\n 4116 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4117 * Parameter 4: fonts, separated by commas (,).\n 4118 * Parameter 5: font style. Available options are ("normal", "italic").\n 4119 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4120 * 4121 */ 4122 NODE_TEXT_PICKER_TEXT_STYLE, 4123 /** 4124 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 4125 * This attribute can be set, reset, and obtained as required through APIs. 4126 * 4127 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4128 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4129 * Parameter 1: font color, in #ARGB format.\n 4130 * Parameter 2: font size, in fp. The value is a number.\n 4131 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4132 * Parameter 4: fonts, separated by commas (,).\n 4133 * Parameter 5: font style. Available options are ("normal", "italic").\n 4134 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4135 * \n 4136 * Format of the return value {@link ArkUI_AttributeItem}:\n 4137 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4138 * Parameter 1: font color, in #ARGB format.\n 4139 * Parameter 2: font size, in fp. The value is a number.\n 4140 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4141 * Parameter 4: fonts, separated by commas (,).\n 4142 * Parameter 5: font style. Available options are ("normal", "italic").\n 4143 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4144 * 4145 */ 4146 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 4147 /** 4148 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4149 * This attribute can be set, reset, and obtained as required through APIs. 4150 * 4151 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4152 * .value[0...].i32: index of the default item in the data selection range. 4153 * 4154 */ 4155 NODE_TEXT_PICKER_SELECTED_INDEX, 4156 /** 4157 * @brief Defines whether to support scroll looping for the text picker. 4158 * This attribute can be set, reset, and obtained as required through APIs. 4159 * 4160 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4161 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4162 * <b>false</b> means the opposite.\n \n 4163 * \n 4164 * Format of the return value {@link ArkUI_AttributeItem}:\n 4165 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4166 * 4167 */ 4168 NODE_TEXT_PICKER_CAN_LOOP, 4169 /** 4170 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 4171 * through APIs. 4172 * 4173 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4174 * .value[0].f32: item height, in vp. \n 4175 * \n 4176 * Format of the return value {@link ArkUI_AttributeItem}:\n 4177 * value[0].f32: item height, in vp. \n 4178 * 4179 */ 4180 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 4181 /** 4182 * @brief Defines whether haptic feedback. 4183 * This attribute can be set, reset, and obtained as required through APIs. 4184 * 4185 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4186 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4187 * <b>false</b> means the opposite.\n 4188 * \n 4189 * Format of the return value {@link ArkUI_AttributeItem}:\n 4190 * value[0].i32: whether to feedback.\n 4191 * 4192 * @since 18 4193 */ 4194 NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK = 15010, 4195 /** 4196 * @brief Defines the style of the background in the selected state of the calendar picker. 4197 * This attribute can be set, reset, and obtained as required through APIs. 4198 * 4199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4200 * .value[0].f32: style of the background in the selected state of the calendar picker. 4201 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 4202 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 4203 * or greater than 16, the background is a circle. \n 4204 * \n 4205 * Format of the return value {@link ArkUI_AttributeItem}:\n 4206 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 4207 * If the value is <b>0</b>, the background is a rectangle with square corners. 4208 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 4209 * greater than 16, the background is a circle. \n 4210 * 4211 */ 4212 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 4213 /** 4214 * @brief Defines the date of the selected item in the calendar picker. 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].u32: year of the selected date. \n 4219 * .value[1].u32: month of the selected date. \n 4220 * .value[2].u32: day of the selected date. \n 4221 * \n 4222 * Format of the return value {@link ArkUI_AttributeItem}:\n 4223 * .value[0].u32: year of the selected date. \n 4224 * .value[1].u32: month of the selected date. \n 4225 * .value[2].u32: day of the selected date. \n 4226 * 4227 */ 4228 NODE_CALENDAR_PICKER_SELECTED_DATE, 4229 /** 4230 * @brief Defines how the calendar picker is aligned with the entry component. 4231 * This attribute can be set, reset, and obtained as required through APIs. 4232 * 4233 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4234 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4235 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4236 * the specified alignment mode. \n 4237 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4238 * the specified alignment mode. \n 4239 * \n 4240 * Format of the return value {@link ArkUI_AttributeItem}:\n 4241 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4242 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4243 * the specified alignment mode. \n 4244 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4245 * the specified alignment mode. \n 4246 * 4247 */ 4248 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 4249 /** 4250 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 4251 * 4252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4253 * .value[0]?.u32: font color of the entry area. \n 4254 * .value[1]?.f32: font size of the entry area, in fp. \n 4255 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4256 * \n 4257 * Format of the return value {@link ArkUI_AttributeItem}:\n 4258 * .value[0].u32: font color of the entry area. \n 4259 * .value[1].f32: font size of the entry area, in fp. \n 4260 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4261 * 4262 */ 4263 NODE_CALENDAR_PICKER_TEXT_STYLE, 4264 /** 4265 * @brief Defines the start date of the calendar picker. 4266 * This attribute can be set, reset, and obtained as required through APIs. 4267 * 4268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4269 * .string: date. The value like <b>"1970-1-1"</b>. \n 4270 * \n 4271 * Format of the return value {@link ArkUI_AttributeItem}:\n 4272 * .string: date. \n 4273 * 4274 * @since 18 4275 */ 4276 NODE_CALENDAR_PICKER_START = 16004, 4277 /** 4278 * @brief Defines the end date of the calendar picker. 4279 * This attribute can be set, reset, and obtained as required through APIs. 4280 * 4281 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4282 * .string: date. The value like <b>"2100-12-31"</b>. \n 4283 * \n 4284 * Format of the return value {@link ArkUI_AttributeItem}:\n 4285 * .string: date. \n 4286 * 4287 * @since 18 4288 */ 4289 NODE_CALENDAR_PICKER_END = 16005, 4290 /** 4291 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 4292 * 4293 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4294 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4295 * \n 4296 * Format of the return value {@link ArkUI_AttributeItem}:\n 4297 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4298 * 4299 */ 4300 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 4301 4302 /** 4303 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 4304 * through APIs. 4305 * 4306 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4307 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4308 * \n 4309 * Format of the return value {@link ArkUI_AttributeItem}:\n 4310 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4311 * 4312 */ 4313 NODE_SLIDER_TRACK_COLOR, 4314 4315 /** 4316 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 4317 * as required through APIs. 4318 * 4319 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4320 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4321 * \n 4322 * Format of the return value {@link ArkUI_AttributeItem}:\n 4323 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4324 * 4325 */ 4326 NODE_SLIDER_SELECTED_COLOR, 4327 4328 /** 4329 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 4330 * through APIs. 4331 * 4332 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4333 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4334 * and <b>0</b> (default value) means the opposite. \n 4335 * \n 4336 * Format of the return value {@link ArkUI_AttributeItem}:\n 4337 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4338 * and <b>0</b> (default value) means the opposite. \n 4339 * 4340 */ 4341 NODE_SLIDER_SHOW_STEPS, 4342 4343 /** 4344 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 4345 * 4346 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4347 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4348 * .string?: depending on the shape. Optional. \n 4349 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4350 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4351 * There are five types:\n 4352 * 1. Rectangle:\n 4353 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4354 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4355 * .value[2].f32: width of the rectangle.\n 4356 * .value[3].f32: height of the rectangle.\n 4357 * .value[4].f32: width of the rounded corner of the rectangle.\n 4358 * .value[5].f32: height of the rounded corner of the rectangle.\n 4359 * 2. Circle:\n 4360 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4361 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4362 * .value[2].f32: width of the circle.\n 4363 * .value[3].f32: height of the circle.\n 4364 * 3.Ellipse:\n 4365 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4366 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4367 * .value[2].f32: width of the ellipse.\n 4368 * .value[3].f32: height of the ellipse;\n 4369 * 4. Path:\n 4370 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4371 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4372 * .value[2].f32: width of the path.\n 4373 * .value[3].f32: height of the path.\n 4374 * .string: command for drawing the path.\n 4375 * \n 4376 * Format of the return value {@link ArkUI_AttributeItem}:\n 4377 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4378 * .string?: depending on the shape. Optional. \n 4379 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4380 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4381 * There are five types:\n 4382 * 1. Rectangle:\n 4383 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4384 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4385 * .value[2].f32: width of the rectangle.\n 4386 * .value[3].f32: height of the rectangle.\n 4387 * .value[4].f32: width of the rounded corner of the rectangle.\n 4388 * .value[5].f32: height of the rounded corner of the rectangle.\n 4389 * 2. Circle:\n 4390 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4391 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4392 * .value[2].f32: width of the circle.\n 4393 * .value[3].f32: height of the circle.\n 4394 * 3.Ellipse:\n 4395 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4396 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4397 * .value[2].f32: width of the ellipse.\n 4398 * .value[3].f32: height of the ellipse;\n 4399 * 4. Path:\n 4400 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4401 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4402 * .value[2].f32: width of the path.\n 4403 * .value[3].f32: height of the path.\n 4404 * .string: command for drawing the path.\n 4405 * 4406 */ 4407 NODE_SLIDER_BLOCK_STYLE, 4408 4409 /** 4410 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 4411 * through APIs. 4412 * 4413 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4414 * .value[0].f32: current value. \n 4415 * \n 4416 * Format of the return value {@link ArkUI_AttributeItem}:\n 4417 * .value[0].f32: current value. 4418 * 4419 */ 4420 NODE_SLIDER_VALUE, 4421 4422 /** 4423 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 4424 * through APIs. 4425 * 4426 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4427 * .value[0].f32: minimum value. \n 4428 * \n 4429 * Format of the return value {@link ArkUI_AttributeItem}:\n 4430 * .value[0].f32: minimum value. 4431 * 4432 */ 4433 NODE_SLIDER_MIN_VALUE, 4434 4435 /** 4436 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 4437 * through APIs. 4438 * 4439 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4440 * .value[0].f32: maximum value. \n 4441 * \n 4442 * Format of the return value {@link ArkUI_AttributeItem}:\n 4443 * .value[0].f32: maximum value. 4444 * 4445 */ 4446 NODE_SLIDER_MAX_VALUE, 4447 4448 /** 4449 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4450 * 4451 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4452 * .value[0].f32: step. The value range is [0.01, 100]. \n 4453 * \n 4454 * Format of the return value {@link ArkUI_AttributeItem}:\n 4455 * .value[0].f32: step. The value range is [0.01, 100]. 4456 * 4457 */ 4458 NODE_SLIDER_STEP, 4459 4460 /** 4461 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4462 * obtained as required through APIs. 4463 * 4464 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4465 * .value[0].i32: whether the slider moves horizontally or vertically. 4466 * The parameter type is {@link ArkUI_SliderDirection}. \n 4467 * \n 4468 * Format of the return value {@link ArkUI_AttributeItem}:\n 4469 * .value[0].i32: whether the slider moves horizontally or vertically. 4470 * 4471 */ 4472 NODE_SLIDER_DIRECTION, 4473 4474 /** 4475 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4476 * through APIs. 4477 * 4478 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4479 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4480 * reversed, and <b>0</b> means the opposite. \n 4481 * \n 4482 * Format of the return value {@link ArkUI_AttributeItem}:\n 4483 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4484 * reversed, and <b>0</b> means the opposite. 4485 * 4486 */ 4487 NODE_SLIDER_REVERSE, 4488 4489 /** 4490 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4491 * as required through APIs. 4492 * 4493 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4494 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4495 * \n 4496 * Format of the return value {@link ArkUI_AttributeItem}:\n 4497 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4498 * 4499 */ 4500 NODE_SLIDER_STYLE, 4501 4502 /** 4503 * @brief Sets the track thickness of the slider. 4504 * This attribute can be set, reset, and obtained as required through APIs. 4505 * 4506 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4507 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4508 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4509 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4510 * \n 4511 * Format of the return value {@link ArkUI_AttributeItem}:\n 4512 * .value[0].f32: track thickness of the slider, in vp. \n 4513 * 4514 */ 4515 NODE_SLIDER_TRACK_THICKNESS, 4516 4517 /** 4518 * @brief Defines whether haptic feedback. 4519 * This attribute can be set, reset, and obtained as required through APIs. 4520 * 4521 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4522 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4523 * <b>false</b> means the opposite.\n 4524 * \n 4525 * Format of the return value {@link ArkUI_AttributeItem}:\n 4526 * value[0].i32: whether to feedback.\n 4527 * When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the 4528 * requestPermissions field of the module.json5 file to enable vibration permission.\n 4529 * 4530 * @since 18 4531 */ 4532 NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK = 17013, 4533 4534 /** 4535 * @brief Set the selection status of an option button. Attribute setting, 4536 * attribute resetting, and attribute obtaining are supported. 4537 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4538 * .value[0].i32: check status of an option button. The default value is false. 4539 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4540 * .value[0].i32: selection status of an option button. 4541 */ 4542 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4543 /** 4544 * @brief Set the styles of the selected and deselected states of the option button. 4545 * The attribute setting, attribute resetting, and attribute obtaining are supported. 4546 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4547 * .value[0]?. u32: color of the mother board in enabled state. \n 4548 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4549 * .value[1]?. u32: stroke color in the close state. The type is 0xARGB, \n 4550 * and the default value is 0xFF182431. \n 4551 * .value[2]?. u32: color of the internal round pie in the enabled state. \n 4552 * The type is 0xARGB, and the default value is 0xFFFFFFFF. \n 4553 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4554 * .value[0]. u32: color of the mother board in enabled state. \n 4555 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4556 * .value[1]. u32: stroke color in the close state. The type is 0xARGB, \n 4557 * and the default value is 0xFF182431. \n 4558 * .value[2]. u32: color of the internal round pie in the enabled state. \n 4559 * The type is 0xARGB, and the default value is 0xFFFFFFF. \n 4560 */ 4561 NODE_RADIO_STYLE, 4562 /** 4563 * @brief Sets the value of the current radio. 4564 * This attribute can be set, reset, and obtained as required through APIs. 4565 * 4566 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4567 * .string: radio value.\n 4568 * \n 4569 * Format of the return value {@link ArkUI_AttributeItem}:\n 4570 * .string: radio value.\n 4571 * 4572 */ 4573 NODE_RADIO_VALUE, 4574 /** 4575 * @brief Set the group name of the current Radio group, only one radio of the same group can be selected. 4576 * This attribute can be set, reset, and obtained as required through APIs. 4577 * 4578 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4579 * .string: name of the group to which the current option box belongs.\n 4580 * \n 4581 * Format of the return value {@link ArkUI_AttributeItem}:\n 4582 * .string: name of the group to which the current option box belongs.\n 4583 * 4584 */ 4585 NODE_RADIO_GROUP, 4586 4587 /** 4588 * @brief Set the image frames for the image animator. Dynamic updates is not supported. 4589 * This attribute can be set, reset, and obtained as required through APIs. 4590 * 4591 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4592 * .size: number of the images.\n 4593 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4594 * \n 4595 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4596 * .size: number of the images.\n 4597 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4598 * 4599 */ 4600 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 4601 /** 4602 * @brief Set the playback status of the animation for the image animator. 4603 * This attribute can be set, reset, and obtained as required through APIs. 4604 * 4605 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4606 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}, 4607 * and the default value is ARKUI_ANIMATION_STATUS_INITIAL. 4608 * 4609 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4610 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}.\n 4611 * 4612 */ 4613 NODE_IMAGE_ANIMATOR_STATE = 19001, 4614 /** 4615 * @brief Set the playback duration for the image animator. When the duration is 0, no image is played. 4616 * The value change takes effect only at the beginning of the next cycle. 4617 * When a separate duration is set in images, the setting of this attribute is invalid. 4618 * This attribute can be set, reset, and obtained as required through APIs. 4619 * 4620 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4621 * .value[0].i32: the playback duration, the unit is ms and the default value is 1000.\n 4622 * 4623 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4624 * .value[0].i32: the playback duration, the unit is ms.\n 4625 * 4626 */ 4627 NODE_IMAGE_ANIMATOR_DURATION = 19002, 4628 /** 4629 * @brief Set the playback direction for the image animator. 4630 * This attribute can be set, reset, and obtained as required through APIs. 4631 * 4632 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4633 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 4634 * and 1 indicates that images are played from the last one to the first one.\n 4635 * 4636 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4637 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 4638 * and 1 indicates that images are played from the last one to the first one.\n 4639 * 4640 */ 4641 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 4642 /** 4643 * @brief Set whether the image size is the same as the component size. 4644 * This attribute can be set, reset, and obtained as required through APIs. 4645 * 4646 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4647 * .value[0].i32: whether the image size is the same as the component size. 4648 * 1 indicates the image size is the same as the component size. 4649 * In this case, the width, height, top, and left attributes of the image are invalid. 4650 * 0 indicates the image size is customized. 4651 * The width, height, top, and left attributes of each image must be set separately. 4652 * 4653 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4654 * .value[0].i32: whether the image size is the same as the component size. 4655 * 1 indicates the image size is the same as the component size. 4656 * 0 indicates the image size is customized. 4657 * 4658 */ 4659 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 4660 /** 4661 * @brief Set the status before and after execution of the animation in the current playback direction. 4662 * This attribute can be set, reset, and obtained as required through APIs. 4663 * 4664 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4665 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 4666 * the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.\n 4667 * 4668 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4669 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 4670 * the type is {ArkUI_AnimationFillMode}. 4671 * 4672 */ 4673 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 4674 /** 4675 * @brief Set the number of times that the animation is played. 4676 * This attribute can be set, reset, and obtained as required through APIs. 4677 * 4678 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4679 * .value[0].i32: the number of times that the animation is played.\n 4680 * 4681 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4682 * .value[0].i32: the number of times that the animation is played.\n 4683 * 4684 */ 4685 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 4686 4687 /** 4688 * @brief Defines the name of the checkboxgroup. 4689 * This attribute can be set, reset, and obtained as required through APIs. 4690 * 4691 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4692 * .string: component name. \n 4693 * \n 4694 * Format of the return value {@link ArkUI_AttributeItem}:\n 4695 * .string: component name. \n 4696 * 4697 * @since 15 4698 */ 4699 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 4700 4701 /** 4702 * @brief Defines whether the checkboxgroup is selected. 4703 * This attribute can be set, reset, and obtained as required through APIs. 4704 * 4705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4706 * .value[0].i32: whether the checkboxgroup is selected. 4707 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4708 * \n 4709 * Format of the return value {@link ArkUI_AttributeItem}:\n 4710 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4711 * 4712 * @since 15 4713 */ 4714 NODE_CHECKBOX_GROUP_SELECT_ALL, 4715 4716 /** 4717 * @brief Defines the color of the checkboxgroup when it is selected. 4718 * This attribute can be set, reset, and obtained as required through APIs. 4719 * 4720 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4721 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4722 * for example, <b>0xFF1122FF</b>. \n 4723 * \n 4724 * Format of the return value {@link ArkUI_AttributeItem}:\n 4725 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4726 * 4727 * @since 15 4728 */ 4729 NODE_CHECKBOX_GROUP_SELECTED_COLOR, 4730 /** 4731 * @brief Defines the border color of the checkboxgroup when it is not selected. 4732 * This attribute can be set, reset, and obtained as required through APIs. 4733 * 4734 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4735 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4736 * \n 4737 * Format of the return value {@link ArkUI_AttributeItem}:\n 4738 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4739 * 4740 * @since 15 4741 */ 4742 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR, 4743 4744 /** 4745 * @brief Defines the internal icon style of the checkboxgroup. 4746 * This attribute can be set, reset, and obtained as required through APIs. 4747 * 4748 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4749 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4750 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 4751 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 4752 * \n 4753 * Format of the return value {@link ArkUI_AttributeItem}:\n 4754 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4755 * .value[1].f32: size of the internal mark, in vp. \n 4756 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 4757 * 4758 * @since 15 4759 */ 4760 NODE_CHECKBOX_GROUP_MARK, 4761 4762 /** 4763 * @brief Defines the shape of the checkboxgroup. 4764 * This attribute can be set, reset, and obtained as required through APIs. 4765 * 4766 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4767 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 4768 * \n 4769 * Format of the return value {@link ArkUI_AttributeItem}:\n 4770 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 4771 * 4772 * @since 15 4773 */ 4774 NODE_CHECKBOX_GROUP_SHAPE, 4775 4776 /** 4777 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 4778 * and obtained as required through APIs. 4779 * 4780 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4781 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 4782 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 4783 * \n 4784 * Format of the return value {@link ArkUI_AttributeItem}:\n 4785 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 4786 * 4787 */ 4788 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 4789 4790 /** 4791 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 4792 * 4793 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4794 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 4795 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 4796 * \n 4797 * Format of the return value {@link ArkUI_AttributeItem}:\n 4798 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 4799 * 4800 */ 4801 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 4802 /** 4803 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 4804 * through APIs. 4805 * 4806 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4807 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 4808 * \n 4809 * Format of the return value {@link ArkUI_AttributeItem}:\n 4810 * .value[0].f32: width of the scrollbar, in vp. \n 4811 * 4812 */ 4813 NODE_SCROLL_BAR_WIDTH, 4814 /** 4815 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 4816 * through APIs. 4817 * 4818 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4819 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4820 * \n 4821 * Format of the return value {@link ArkUI_AttributeItem}:\n 4822 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4823 * 4824 */ 4825 NODE_SCROLL_BAR_COLOR, 4826 /** 4827 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 4828 * 4829 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4830 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 4831 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 4832 * \n 4833 * Format of the return value {@link ArkUI_AttributeItem}:\n 4834 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 4835 * 4836 */ 4837 NODE_SCROLL_SCROLL_DIRECTION, 4838 /** 4839 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 4840 * reached. This attribute can be set, reset, and obtained as required through APIs. 4841 * 4842 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4843 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4844 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 4845 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 4846 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 4847 * opposite. The default value is <b>1</b>. \n 4848 * .value[2]?.i32: direction in which the effect takes effect. The parameter type is {@link ArkUI_EffectEdge}. 4849 * The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since 4850 * API version 16. \n 4851 * \n 4852 * Format of the return value {@link ArkUI_AttributeItem}:\n 4853 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4854 * The parameter type is {@link ArkUI_EdgeEffect}. \n 4855 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 4856 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 4857 * .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached. 4858 * The parameter type is {@link ArkUI_EffectEdge}. This parameter is supported since API version 16. \n 4859 * 4860 */ 4861 NODE_SCROLL_EDGE_EFFECT, 4862 /** 4863 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 4864 * finger or mouse is not supported, but the scroll controller API is not affected. 4865 * 4866 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4867 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 4868 * \n 4869 * Format of the return value {@link ArkUI_AttributeItem}:\n 4870 * .value[0].i32: whether to support scroll gestures. \n 4871 * 4872 */ 4873 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 4874 /** 4875 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 4876 * indirectly the scroll chaining during the inertial scrolling process. 4877 * 4878 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4879 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 4880 * for wearable devices. \n 4881 * \n 4882 * Format of the return value {@link ArkUI_AttributeItem}:\n 4883 * .value[0].f32: friction coefficient. 4884 * 4885 */ 4886 NODE_SCROLL_FRICTION, 4887 /** 4888 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 4889 * 4890 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4891 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 4892 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 4893 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4894 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4895 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 4896 * snap points.\n 4897 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4898 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4899 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 4900 * snap points.\n 4901 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 4902 * edge to which the <b><Scroll></b> component can scroll. \n 4903 * \n 4904 * Format of the return value {@link ArkUI_AttributeItem}:\n 4905 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 4906 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4907 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4908 * start edge and the first snap point.\n 4909 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4910 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4911 * end edge and the last snap point.\n 4912 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 4913 * to which the <b><Scroll></b> component can scroll. \n 4914 * 4915 */ 4916 NODE_SCROLL_SNAP, 4917 4918 /** 4919 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 4920 * through APIs. 4921 * 4922 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4923 * .value[0].i32: nested scrolling option when the component scrolls forward. 4924 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4925 * .value[1].i32: nested scrolling option when the component scrolls backward. 4926 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4927 * \n 4928 * Format of the return value {@link ArkUI_AttributeItem}:\n 4929 * .value[0].i32: nested scrolling option when the component scrolls forward. 4930 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4931 * .value[1].i32: nested scrolling option when the component scrolls backward. 4932 * The parameter type is {@link ArkUI_ScrollNestedMode}. 4933 * 4934 */ 4935 NODE_SCROLL_NESTED_SCROLL, 4936 /** 4937 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 4938 * through APIs. 4939 * 4940 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4941 * .value[0].f32: horizontal scrolling offset, in vp. \n 4942 * .value[1].f32: vertical scrolling offset, in vp. \n 4943 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 4944 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 4945 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 4946 * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not 4947 * to enable the default spring animation. \n 4948 * .value[5]?.i32: Optional value, sets whether scrolling can cross the boundary. \n 4949 * \n 4950 * Format of the return value {@link ArkUI_AttributeItem}:\n 4951 * .value[0].f32: horizontal scrolling offset, in vp. \n 4952 * .value[1].f32: vertical scrolling offset, in vp. \n 4953 * 4954 */ 4955 NODE_SCROLL_OFFSET, 4956 4957 /** 4958 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 4959 * 4960 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4961 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 4962 * \n 4963 * Format of the return value {@link ArkUI_AttributeItem}:\n 4964 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 4965 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 4966 * 4967 */ 4968 NODE_SCROLL_EDGE, 4969 4970 /** 4971 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 4972 * as required through APIs. 4973 * 4974 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 4975 * <b>enablePaging</b> does not. \n 4976 * \n 4977 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4978 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 4979 * \n 4980 * Format of the return value {@link ArkUI_AttributeItem}:\n 4981 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 4982 * 4983 */ 4984 NODE_SCROLL_ENABLE_PAGING, 4985 4986 /** 4987 * @brief Scroll to the next or previous page. 4988 * 4989 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4990 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 4991 * indicates scroll to previous page. \n 4992 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 4993 * 4994 */ 4995 NODE_SCROLL_PAGE, 4996 4997 /** 4998 * @brief Scroll a specified distance. 4999 * 5000 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5001 * .value[0].f32:Horizontal scrolling distance in vp; \n 5002 * .value[1].f32: Vertical scrolling distance in vp; \n 5003 * 5004 */ 5005 NODE_SCROLL_BY, 5006 5007 /** 5008 * @brief Performs inertial scrolling based on the initial velocity passed in. 5009 * 5010 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5011 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 5012 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 5013 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 5014 * 5015 * @since 13 5016 */ 5017 NODE_SCROLL_FLING, 5018 5019 /** 5020 * @brief Sets the fading effect for the edges of scrollable components. 5021 * 5022 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 5023 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, 5024 * and 1 means to enable it. 5025 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 5026 * 5027 * Format of the return value {@link ArkUI_AttributeItem}: 5028 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is 5029 * disabled, and 1 means that it is enabled. 5030 * .value[1].f32: length of the fading effect on edges, in vp. 5031 * 5032 * @since 14 5033 */ 5034 NODE_SCROLL_FADING_EDGE, 5035 5036 /** 5037 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 5038 * 5039 * Format of the return value {@link ArkUI_AttributeItem}:\n 5040 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 5041 * The default unit is vp. \n 5042 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 5043 * The default unit is vp. \n 5044 * When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the 5045 * nearest pixel when being converted from vp to px. 5046 * The returned values are calculated based on these rounded pixel values. \n 5047 * 5048 * @since 14 5049 */ 5050 NODE_SCROLL_SIZE, 5051 5052 /** 5053 * @brief Sets the offset from the start of the scrollable components content. 5054 * 5055 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5056 * .value[0].f32: offset from the start of the content, in vp. \n 5057 * \n 5058 * Format of the return value {@link ArkUI_AttributeItem}:\n 5059 * .value[0].f32: offset from the start of the content, in vp. \n 5060 * 5061 * @since 15 5062 */ 5063 NODE_SCROLL_CONTENT_START_OFFSET, 5064 5065 /** 5066 * @brief Sets the offset from the end of the scrollable components content. 5067 * 5068 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5069 * .value[0].f32: offset from the end of the content, in vp. \n 5070 * \n 5071 * Format of the return value {@link ArkUI_AttributeItem}:\n 5072 * .value[0].f32: offset from the end of the content, in vp. \n 5073 * 5074 * @since 15 5075 */ 5076 NODE_SCROLL_CONTENT_END_OFFSET, 5077 5078 /** 5079 * @brief Defines the maximum starting fling speed of the scrollable when the fling animation starts. 5080 * This attribute can be set, reset, and obtained as required through APIs. 5081 * 5082 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5083 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5084 * \n 5085 * Format of the return value {@link ArkUI_AttributeItem}: \n 5086 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5087 * 5088 * @since 18 5089 */ 5090 NODE_SCROLL_FLING_SPEED_LIMIT = 1002019, 5091 5092 /** 5093 * @brief Defines the clip mode of the scrollable. 5094 * This attribute can be set, reset, and obtained as required through APIs. 5095 * 5096 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5097 * .value[0].i32: clip content mode, The parameter type is {@link ArkUI_ContentClipMode}. \n 5098 * \n 5099 * Format of the return value {@link ArkUI_AttributeItem}: \n 5100 * .value[0].i32: clip content mode, The parameter type is {@link ArkUI_ContentClipMode}. \n 5101 * 5102 * @since 18 5103 */ 5104 NODE_SCROLL_CLIP_CONTENT = 1002020, 5105 5106 /** 5107 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 5108 * This attribute can be set, reset, and obtained as required through APIs. 5109 * 5110 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5111 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. 5112 * 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 5113 * \n 5114 * Format of the return value {@link ArkUI_AttributeItem}: \n 5115 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 5116 * 5117 * @since 15 5118 */ 5119 NODE_SCROLL_BACK_TO_TOP = 1002021, 5120 5121 /** 5122 * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and 5123 * obtained as required through APIs. 5124 * 5125 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5126 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 5127 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 5128 * \n 5129 * Format of the return value {@link ArkUI_AttributeItem}:\n 5130 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 5131 * 5132 */ 5133 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 5134 /** 5135 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5136 * component. This attribute can be set, reset, and obtained as required through APIs. 5137 * 5138 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5139 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5140 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5141 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 5142 * \n 5143 * Format of the return value {@link ArkUI_AttributeItem}:\n 5144 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5145 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5146 * {@link ArkUI_StickyStyle}. 5147 * 5148 */ 5149 NODE_LIST_STICKY, 5150 /** 5151 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 5152 * through APIs. 5153 * 5154 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5155 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 5156 * \n 5157 * Format of the return value {@link ArkUI_AttributeItem}:\n 5158 * .value[0].f32: spacing between list items along the main axis. \n 5159 * 5160 */ 5161 NODE_LIST_SPACE, 5162 /** 5163 * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs. 5164 * 5165 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5166 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5167 */ 5168 NODE_LIST_NODE_ADAPTER, 5169 5170 /** 5171 * @brief Sets the number of cached items in the list adapter. 5172 * This attribute can be set, reset, and obtained as required through APIs. 5173 * 5174 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5175 * .value[0].i32: number of cached items in the list adapter. \n 5176 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5177 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 5178 * \n 5179 * Format of the return value {@link ArkUI_AttributeItem}:\n 5180 * .value[0].i32: number of cached items in the list adapter. \n 5181 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5182 * to show cached items. This parameter is supported since API version 15. \n 5183 * 5184 */ 5185 NODE_LIST_CACHED_COUNT, 5186 5187 /** 5188 * @brief Scroll to the specified index. 5189 * 5190 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5191 * lead to performance issues when loading a large number of items.\n 5192 * \n 5193 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5194 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5195 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5196 * 1 indicates an action and 0 indicates no action. Default value: 0。\n 5197 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5198 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 5199 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 5200 * This parameter is supported since API version 15. \n 5201 * 5202 */ 5203 NODE_LIST_SCROLL_TO_INDEX, 5204 /** 5205 * @brief Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is 5206 * greater than the cross-axis width of list items multiplied by the value of lanes. 5207 * This attribute can be set, reset, and obtained as required through APIs. 5208 * 5209 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5210 * .value[0].i32: alignment mode of list items along the cross axis. 5211 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 5212 * \n 5213 * Format of the return value {@link ArkUI_AttributeItem}:\n 5214 * .value[0].i32: alignment mode of list items along the cross axis. 5215 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 5216 */ 5217 NODE_LIST_ALIGN_LIST_ITEM, 5218 5219 /** 5220 * @brief Set the default spindle size for the List subcomponent. 5221 * 5222 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5223 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5224 * \n 5225 * Format of the return value {@link ArkUI_AttributeItem}:\n 5226 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5227 */ 5228 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 5229 5230 /** 5231 * @brief Set the index value of the item displayed at the start of the viewport 5232 * when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs. 5233 * 5234 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5235 * .value[0].i32: index value of the item displayed at 5236 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 5237 * \n 5238 * Format of the return value {@link ArkUI_AttributeItem}:\n 5239 * .value[0].i32: index value of the item displayed at 5240 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 5241 */ 5242 NODE_LIST_INITIAL_INDEX = 1003008, 5243 /** 5244 * @brief sets the ListItem splitter style. By default, there is no splitter. 5245 * This attribute can be set, reset, and obtained as required through APIs. 5246 * 5247 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format: \n 5248 *.value[0].u32: divider color, type 0xargb; \n 5249 *.value[1].f32: dividing line width; \n 5250 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5251 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5252 * \n 5253 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 5254 *.value[0].u32: divider color, type 0xargb; \n 5255 *.value[1].f32: dividing line width; \n 5256 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5257 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5258 * 5259 */ 5260 NODE_LIST_DIVIDER = 1003009, 5261 5262 /** 5263 * @brief Scrolls to the item with the specified index in the specified list item group. 5264 * 5265 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 5266 * This may result in performance issues if a large number of items are involved. \n 5267 * \n 5268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5269 * .value[0].i32: index of the target list item group in the current list. \n 5270 *.value[1].i32: index of the target list item in the list item group. \n 5271 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 5272 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 5273 * The default value is <b>0</b>. \n 5274 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 5275 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 5276 * 5277 * @since 15 5278 */ 5279 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 5280 5281 /** 5282 * @brief Sets the number of lanes in the list. 5283 * This attribute can be set, reset, and obtained as required through APIs. 5284 * 5285 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5286 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 5287 * of lanes will not take effect. \n 5288 * .value[1]?.f32: minimum lane width, in vp. \n 5289 * .value[2]?.f32: maximum column width, in vp. \n 5290 * .value[3]?.f32: lane spacing, in vp. \n 5291 * \n 5292 * Format of the return value {@link ArkUI_AttributeItem}:\n 5293 * .value[0].u32: number of lanes in the list. \n 5294 * .value[1].f32: minimum lane width, in vp. \n 5295 * .value[2].f32: maximum column width, in vp. \n 5296 * .value[3].f32: lane spacing, in vp. \n \n 5297 * 5298 * @since 15 5299 */ 5300 NODE_LIST_LANES = 1003011, 5301 5302 /** 5303 * @brief Sets the list snap alignment mode. 5304 * 5305 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5306 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5307 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5308 * \n 5309 * Format of the return value {@link ArkUI_AttributeItem}:\n 5310 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5311 * 5312 * @since 15 5313 */ 5314 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 5315 5316 /** 5317 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 5318 * display area of the <b>List</b> component. 5319 * 5320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5321 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5322 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5323 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5324 * \n 5325 * Format of the return value {@link ArkUI_AttributeItem}:\n 5326 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5327 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5328 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5329 * 5330 * @since 15 5331 */ 5332 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 5333 5334 /** 5335 * @brief Defines whether to enable loop playback for the swiper. 5336 * This attribute can be set, reset, and obtained as required through APIs. 5337 * 5338 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5339 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5340 * means the opposite. The default value is <b>1/b>. \n 5341 * \n 5342 * Format of the return value {@link ArkUI_AttributeItem}:\n 5343 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5344 * means the opposite. The default value is <b>1</b>. \n 5345 * 5346 */ 5347 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 5348 /** 5349 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 5350 * This attribute can be set, reset, and obtained as required through APIs. 5351 * 5352 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5353 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 5354 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5355 * \n 5356 * .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means 5357 * to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is 5358 * supported since API version 16. \n 5359 * \n 5360 * Format of the return value {@link ArkUI_AttributeItem}:\n 5361 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 5362 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5363 * .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to 5364 * stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16. \n 5365 * 5366 */ 5367 NODE_SWIPER_AUTO_PLAY, 5368 /** 5369 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 5370 * reset, and obtained as required through APIs. 5371 * 5372 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5373 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5374 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5375 * \n 5376 * Format of the return value {@link ArkUI_AttributeItem}:\n 5377 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5378 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5379 * 5380 */ 5381 NODE_SWIPER_SHOW_INDICATOR, 5382 /** 5383 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 5384 * through APIs. 5385 * 5386 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5387 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5388 * \n 5389 * Format of the return value {@link ArkUI_AttributeItem}:\n 5390 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5391 * 5392 */ 5393 NODE_SWIPER_INTERVAL, 5394 /** 5395 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 5396 * as required through APIs. 5397 * 5398 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5399 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5400 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5401 * \n 5402 * Format of the return value {@link ArkUI_AttributeItem}:\n 5403 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5404 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5405 * 5406 */ 5407 NODE_SWIPER_VERTICAL, 5408 5409 /** 5410 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 5411 * and obtained as required through APIs. 5412 * 5413 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5414 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5415 * <b>400</b>. \n 5416 * \n 5417 * Format of the return value {@link ArkUI_AttributeItem}:\n 5418 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5419 * <b>400</b>. \n 5420 * 5421 */ 5422 NODE_SWIPER_DURATION, 5423 5424 /** 5425 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 5426 * through APIs. 5427 * 5428 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5429 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5430 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5431 * \n 5432 * Format of the return value {@link ArkUI_AttributeItem}:\n 5433 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5434 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5435 * 5436 */ 5437 NODE_SWIPER_CURVE, 5438 5439 /** 5440 * @brief Defines the spacing between child components in the swiper. 5441 * This attribute can be set, reset, and obtained as required through APIs. 5442 * 5443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5444 * .value[0].f32: spacing between child components. \n 5445 * \n 5446 * Format of the return value {@link ArkUI_AttributeItem}:\n 5447 * .value[0].f32: spacing between child components. \n 5448 * 5449 */ 5450 NODE_SWIPER_ITEM_SPACE, 5451 5452 /** 5453 * @brief Defines the index of the child component currently displayed in the swiper. 5454 * This attribute can be set, reset, and obtained as required through APIs. 5455 * 5456 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5457 * .value[0].i32: index value of the child component. \n 5458 * .value[1]?.i32: animation mode, the parameter type is {@link ArkUI_SwiperAnimationMode}. \n 5459 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call. \n 5460 * This parameter is supported since API version 15. \n 5461 * \n 5462 * Format of the return value {@link ArkUI_AttributeItem}:\n 5463 * .value[0].i32: index value of the child component. \n 5464 * 5465 */ 5466 NODE_SWIPER_INDEX, 5467 5468 /** 5469 * @brief Defines the number of elements to display per page. 5470 * This attribute can be set, reset, and obtained as required through APIs. 5471 * 5472 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5473 * .value[0].i32: index value of the child component. \n 5474 * \n 5475 * Format of the return value {@link ArkUI_AttributeItem}:\n 5476 * .value[0].i32: index value of the child component. \n 5477 * 5478 */ 5479 NODE_SWIPER_DISPLAY_COUNT, 5480 5481 /** 5482 * @brief Defines whether to disable the swipe feature. 5483 * This attribute can be set, reset, and obtained as required through APIs. 5484 * 5485 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5486 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 5487 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5488 * \n 5489 * Format of the return value {@link ArkUI_AttributeItem}:\n 5490 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 5491 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5492 * 5493 */ 5494 NODE_SWIPER_DISABLE_SWIPE, 5495 5496 /** 5497 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5498 * This attribute can be set, reset, and obtained as required through APIs. 5499 * 5500 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5501 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5502 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5503 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5504 * \n 5505 * Format of the return value {@link ArkUI_AttributeItem}:\n 5506 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5507 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5508 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5509 * 5510 */ 5511 NODE_SWIPER_SHOW_DISPLAY_ARROW, 5512 5513 /** 5514 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5515 * This attribute can be set, reset, and obtained as required through APIs. 5516 * 5517 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5518 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5519 * The parameter type is {@link ArkUI_EdgeEffect}.\n 5520 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 5521 * \n 5522 * Format of the return value {@link ArkUI_AttributeItem}:\n 5523 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5524 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5525 * 5526 */ 5527 NODE_SWIPER_EDGE_EFFECT_MODE, 5528 5529 /** 5530 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 5531 * 5532 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5533 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5534 */ 5535 NODE_SWIPER_NODE_ADAPTER, 5536 5537 /** 5538 * @brief Sets the number of cached items in the swiper adapter. 5539 * This attribute can be set, reset, and obtained as required through APIs. 5540 * 5541 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5542 * .value[0].i32: number of cached items in the swiper adapter. \n 5543 */ 5544 NODE_SWIPER_CACHED_COUNT, 5545 5546 /** 5547 * @brief Defines the front margin of the wiper. 5548 * The attribute can be set, reset, and obtained as required through APIs. 5549 * 5550 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5551 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 5552 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5553 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5554 * Format of the return value {@link ArkUI_AttributeItem}:\n 5555 * .value[0].f32: the front margin, the unit is vp. \n 5556 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5557 * the opposite. \n 5558 */ 5559 NODE_SWIPER_PREV_MARGIN, 5560 5561 /** 5562 * @brief Defines the back margin of the wiper. 5563 * The attribute can be set, reset, and obtained as required through APIs. 5564 * 5565 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5566 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 5567 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5568 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5569 * Format of the return value {@link ArkUI_AttributeItem}:\n 5570 * .value[0].f32: the back margin, the unit is vp. \n 5571 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5572 * the opposite. \n 5573 */ 5574 NODE_SWIPER_NEXT_MARGIN, 5575 5576 /** 5577 * @brief Defines the navigation indicator type of the swiper. 5578 * The attribute can be set, reset, and obtained as required through APIs. 5579 * 5580 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5581 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5582 * .object: The parameter type is {@link ArkUI_SwiperIndicator}.\n 5583 * Format of the return value {@link ArkUI_AttributeItem}:\n 5584 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5585 * .object: The parameter type is {@link ArkUI_SwiperIndicator}.\n 5586 * 5587 */ 5588 NODE_SWIPER_INDICATOR, 5589 /** 5590 * @brief Set the nested scrolling mode for the Swiper component and parent component. 5591 * 5592 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5593 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5594 * {@link ArkUI_SwiperNestedScrollMode} \n 5595 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 5596 * \n 5597 * Format of the return value {@link ArkUI_AttributeItem}:\n 5598 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5599 * {@link ArkUI_SwiperNestedScrollMode} \n 5600 */ 5601 NODE_SWIPER_NESTED_SCROLL, 5602 5603 /** 5604 * @brief Set the switcher component to flip to the specified page. 5605 * 5606 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5607 * .value[0].i32:Specify the index value of the page in Swiper.\n 5608 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 5609 * effect, 0 indicates no active effect, default value is 0。\n 5610 */ 5611 NODE_SWIPER_SWIPE_TO_INDEX, 5612 5613 /** 5614 * @brief Set to disable component navigation point interaction function。 5615 * 5616 * Property setting method parameter {@link ArkUI-AttributeItem} format: \n 5617 * .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it 5618 * indicates that the navigation points are interactive. The default value is true. \n 5619 * The return value of the attribute acquisition method is in the format of {@ link ArkUI-AttributeItem}: \n 5620 * .value[0].i32:Set to disable component navigation point interaction. \n 5621 */ 5622 NODE_SWIPER_INDICATOR_INTERACTIVE, 5623 5624 /** 5625 * @brief Sets the page flipping mode using the mouse wheel. 5626 * 5627 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5628 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 5629 * \n 5630 * Format of the return value {@link ArkUI_PageFlipMode}:\n 5631 * .value[0].i32: page flipping mode using the mouse wheel. \n 5632 * 5633 * @since 15 5634 */ 5635 NODE_SWIPER_PAGE_FLIP_MODE, 5636 5637 /** 5638 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 5639 * property acquisition interfaces. 5640 * 5641 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 5642 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5643 * \n 5644 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n 5645 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5646 * 5647 */ 5648 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 5649 5650 /** 5651 * @brief Defines the header of the list item group. 5652 * This attribute can be set, reset, and obtained as required through APIs. 5653 * 5654 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5655 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5656 * \n 5657 * Format of the return value {@link ArkUI_AttributeItem}:\n 5658 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5659 * 5660 */ 5661 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 5662 /** 5663 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 5664 * required through APIs. 5665 * 5666 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5667 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5668 * \n 5669 * Format of the return value {@link ArkUI_AttributeItem}:\n 5670 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5671 * 5672 */ 5673 NODE_LIST_ITEM_GROUP_SET_FOOTER, 5674 /** 5675 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 5676 * as required through APIs. 5677 * 5678 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5679 * .value[0].u32: color of the divider, in 0xARGB format.\n 5680 * .value[1].f32: stroke width of the divider, in vp.\n 5681 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5682 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5683 * \n 5684 * Format of the return value {@link ArkUI_AttributeItem}:\n 5685 * .value[0].u32: color of the divider, in 0xARGB format.\n 5686 * .value[1].f32: stroke width of the divider, in vp.\n 5687 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5688 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5689 * 5690 */ 5691 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 5692 5693 /** 5694 * @brief Set the default spindle size for the ListItem Group subcomponent. 5695 * 5696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5697 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5698 * \n 5699 * Format of the return value {@link ArkUI_AttributeItem}:\n 5700 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5701 */ 5702 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 5703 5704 /** 5705 * @brief Defines the list item group adapter. 5706 * This attribute can be set, reset, and obtained as required through APIs. 5707 * 5708 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5709 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5710 * \n 5711 * Format of the return value {@link ArkUI_AttributeItem}:\n 5712 * .object: {@link ArkUI_NodeAdapter} object. \n 5713 * 5714 * @since 15 5715 */ 5716 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 5717 5718 /** 5719 * @brief Defines the horizontal alignment mode of child components in the column. 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].i32: horizontal alignment mode of child components. 5724 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 5725 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 5726 * \n 5727 * Format of the return value {@link ArkUI_AttributeItem}:\n 5728 * .value[0].i32: horizontal alignment mode of child components. 5729 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 5730 * 5731 */ 5732 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 5733 /** 5734 * @brief Defines the vertical alignment mode of child components in the column. 5735 * This attribute can be set, reset, and obtained as required through APIs. 5736 * 5737 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5738 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 5739 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5740 * \n 5741 * Format of the return value {@link ArkUI_AttributeItem}:\n 5742 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 5743 * 5744 */ 5745 NODE_COLUMN_JUSTIFY_CONTENT, 5746 5747 /** 5748 * @brief Defines the vertical alignment mode of child components in the row. 5749 * This attribute can be set, reset, and obtained as required through APIs. 5750 * 5751 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5752 * .value[0].i32: vertical alignment mode of child components. 5753 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 5754 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 5755 * \n 5756 * Format of the return value {@link ArkUI_AttributeItem}:\n 5757 * .value[0].i32: vertical alignment mode of child components. 5758 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 5759 * 5760 */ 5761 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 5762 /** 5763 * @brief Defines the horizontal alignment mode of child components in the row. 5764 * This attribute can be set, reset, and obtained as required through APIs. 5765 * 5766 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5767 * .value[0].i32: horizontal alignment mode of child components. 5768 * The parameter type is {@link ArkUI_FlexAlignment}.\n 5769 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5770 * \n 5771 * Format of the return value {@link ArkUI_AttributeItem}:\n 5772 * .value[0].i32: horizontal alignment mode of child components. 5773 * The parameter type is {@link ArkUI_FlexAlignment}. \n 5774 * 5775 */ 5776 NODE_ROW_JUSTIFY_CONTENT, 5777 5778 /** 5779 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 5780 * 5781 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5782 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 5783 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 5784 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 5785 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 5786 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 5787 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5788 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 5789 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 5790 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 5791 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5792 * \n 5793 * Format of the return value {@link ArkUI_AttributeItem}:\n 5794 * .value[0].i32: direction in which flex items are arranged. \n 5795 * .value[1].i32: how the flex items are wrapped. \n 5796 * .value[2].i32: alignment mode along the main axis. \n 5797 * .value[3].i32: alignment mode along the cross axis. \n 5798 * .value[4].i32: alignment mode along the cross axis for multi-line content.\n 5799 * 5800 */ 5801 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 5802 5803 /** 5804 * @brief Sets whether the component is being refreshed. 5805 * This attribute can be set and obtained as required through APIs. 5806 * 5807 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5808 * .value[0].i32: The parameter type is 1 or 0. 5809 * \n 5810 * Format of the return value {@link ArkUI_AttributeItem}:\n 5811 * .value[0].i32: The parameter type is 1 or 0. 5812 * 5813 */ 5814 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 5815 /** 5816 * @brief Sets the custom content in the pull-down area. 5817 * This attribute can be set, reset, and obtained as required through APIs. 5818 * 5819 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5820 * .object: The parameter type is {@Link ArkUI_NodeHandle}. 5821 * 5822 */ 5823 NODE_REFRESH_CONTENT, 5824 /** 5825 * @brief Set the pull-down hand coefficient. 5826 * This attribute can be set, reset, and obtained as required through APIs. 5827 * 5828 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5829 * .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1. 5830 * \n 5831 * Format of the return value {@link ArkUI_AttributeItem}:\n 5832 * .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1. 5833 * 5834 */ 5835 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 5836 /** 5837 * @brief Sets the pull-down offset that initiates a refresh. 5838 * This attribute can be set, reset, and obtained as required through APIs. 5839 * 5840 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5841 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5842 * \n 5843 * Format of the return value {@link ArkUI_AttributeItem}:\n 5844 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5845 * 5846 */ 5847 NODE_REFRESH_OFFSET = 1009003, 5848 /** 5849 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 5850 * This attribute can be set, reset, and obtained as required through APIs. 5851 * 5852 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5853 * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 5854 * <b>false</b> means the opposite. 5855 * \n 5856 * Format of the return value {@link ArkUI_AttributeItem}:\n 5857 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 5858 * <b>0</b> means the opposite. 5859 * 5860 */ 5861 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 5862 5863 /** 5864 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 5865 * This attribute can be set, reset, and obtained as required through APIs. 5866 * 5867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5868 * .value[0].i32: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 5869 * \n 5870 * Format of the return value {@link ArkUI_AttributeItem}:\n 5871 * .value[0].i32: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 5872 * 5873 */ 5874 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 5875 5876 /** 5877 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 5878 * by default. This attribute can be set, reset, and obtained as required through APIs. 5879 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5880 * component's full width, the second column 1/4, and the third column 2/4. 5881 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5882 * columns based on the specified column width <b>track-size</b>. 5883 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5884 * or a valid number. 5885 * 5886 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5887 * .string: number of columns in the layout.\n 5888 * \n 5889 * Format of the return value {@link ArkUI_AttributeItem}:\n 5890 * .string: number of columns in the layout.\n 5891 * 5892 */ 5893 NODE_WATER_FLOW_COLUMN_TEMPLATE, 5894 5895 /** 5896 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 5897 * by default. This attribute can be set, reset, and obtained as required through APIs. 5898 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5899 * component's full height, the second row 1/4, and the third row 2/4. 5900 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5901 * based on the specified row height <b>track-size</b>. 5902 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5903 * or a valid number. 5904 * 5905 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5906 * .string: number of rows in the layout. \n 5907 * \n 5908 * Format of the return value {@link ArkUI_AttributeItem}:\n 5909 * .string: number of rows in the layout. \n 5910 * 5911 */ 5912 NODE_WATER_FLOW_ROW_TEMPLATE, 5913 5914 /** 5915 * @brief Sets the gap between columns. 5916 * This attribute can be set, reset, and obtained as required through APIs. 5917 * 5918 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5919 * .value[0].f32: gap between columns, in vp.\n 5920 * \n 5921 * Format of the return value {@link ArkUI_AttributeItem}:\n 5922 * .value[0].f32: gap between columns, in vp.\n 5923 * 5924 */ 5925 NODE_WATER_FLOW_COLUMN_GAP, 5926 5927 /** 5928 * @brief Sets the gap between rows. 5929 * This attribute can be set, reset, and obtained as required through APIs. 5930 * 5931 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5932 * .value[0].f32: gap between lines, in vp.\n 5933 * \n 5934 * Format of the return value {@link ArkUI_AttributeItem}:\n 5935 * .value[0].f32: gap between lines, in vp.\n 5936 * 5937 */ 5938 NODE_WATER_FLOW_ROW_GAP, 5939 5940 /** 5941 * @brief Defines the water flow section configuration. 5942 * This attribute can be set, reset, and obtained as required through APIs. 5943 * 5944 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5945 * .value[0].i32: An index calculated from 0 is converted to an integer, 5946 * indicating that you want to start changing the position of the group. 5947 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5948 * \n 5949 * Format of the return value {@link ArkUI_AttributeItem}:\n 5950 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5951 * 5952 */ 5953 NODE_WATER_FLOW_SECTION_OPTION, 5954 5955 /** 5956 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 5957 * 5958 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5959 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5960 */ 5961 NODE_WATER_FLOW_NODE_ADAPTER, 5962 5963 /** 5964 * @brief Sets the number of cached items in the water flow adapter. 5965 * This attribute can be set, reset, and obtained as required through APIs. 5966 * 5967 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5968 * value[0].i32:number of cached items in the water flow adapter. \n 5969 * .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 5970 * This parameter is supported since API version 16. \n 5971 * \n 5972 * Format of the return value {@link ArkUI_AttributeItem}:\n 5973 * .value[0].i32: number of cached items in the water flow adapter. \n 5974 * .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 5975 * This parameter is supported since API version 16. \n 5976 */ 5977 NODE_WATER_FLOW_CACHED_COUNT, 5978 5979 /** 5980 * @brief Set the custom display component at the end of the waterfall flow component. 5981 * 5982 * Attribute setting method {@link ArkUI_AttributeItem} parameter format: \n 5983 * .object: Parameter type {@link ArkUI_NodeHandle}. 5984 * 5985 */ 5986 NODE_WATER_FLOW_FOOTER, 5987 5988 /** 5989 * @brief Scroll to the specified index. 5990 * 5991 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5992 * lead to performance issues when loading a large number of items.\n 5993 * \n 5994 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5995 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5996 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5997 * 1 indicates an action and 0 indicates no action. Default value is 0。\n 5998 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5999 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。\n 6000 * 6001 */ 6002 NODE_WATER_FLOW_SCROLL_TO_INDEX, 6003 6004 /** 6005 * @brief Defines the size constraints to apply to water flow items. 6006 * This attribute can be set, reset, and obtained as required through APIs. 6007 * 6008 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6009 * .value[0].f32: minimum width, in vp.\n 6010 * .value[1].f32: maximum width, in vp.\n 6011 * .value[2].f32: minimum height, in vp.\n 6012 * .value[3].f32: maximum height, in vp.\n 6013 * \n 6014 * Format of the return value {@link ArkUI_AttributeItem}:\n 6015 * .value[0].f32: minimum width, in vp.\n 6016 * .value[1].f32: maximum width, in vp.\n 6017 * .value[2].f32: minimum height, in vp.\n 6018 * .value[3].f32: maximum height, in vp.\n 6019 * 6020 */ 6021 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 6022 6023 /** 6024 * @brief Defines the layout mode of the <b><WaterFlow></b> component. 6025 * This attribute can be set, reset, and obtained as required through APIs. 6026 * 6027 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6028 * .value[0].i32: waterflow layout mode. The parameter type is {@Link ArkUI_WaterFlowLayoutMode}. 6029 * \n 6030 * Format of the return value {@link ArkUI_AttributeItem}:\n 6031 * .value[0].i32: waterflow layout mode. The parameter type is {@Link ArkUI_WaterFlowLayoutMode}. 6032 * @since 18 6033 */ 6034 NODE_WATER_FLOW_LAYOUT_MODE, 6035 6036 /** 6037 * @brief Set the auxiliary line in the RelativeContaine container, supporting property setting, 6038 * property reset and property acquisition interfaces. 6039 * 6040 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 6041 * .object: Auxiliary lines within the RelativeContaine container: \n 6042 *\n 6043 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 6044 * .object: Auxiliary lines within the RelativeContaine container: \n 6045 * 6046 */ 6047 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 6048 6049 /** 6050 * @brief Sets the barrier within the RelativeContaine container and supports property setting, 6051 * property reset and property acquisition interfaces. 6052 * 6053 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 6054 * .object: Auxiliary lines within the RelativeContaine container: \n 6055 *\n 6056 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 6057 * .object: Barrier within the RelativeContaine container: \n 6058 * 6059 */ 6060 NODE_RELATIVE_CONTAINER_BARRIER, 6061 6062 /** 6063 * @brief Sets the number of columns in the grid layout. If this parameter is not set, one column is used 6064 * by default. This attribute can be set, reset, and obtained as required through APIs. 6065 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6066 * component's full width, the second column 1/4, and the third column 2/4. 6067 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6068 * columns based on the specified column width <b>track-size</b>. 6069 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6070 * or a valid number. 6071 * 6072 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6073 * .string: number of columns in the layout.\n 6074 * \n 6075 * Format of the return value {@link ArkUI_AttributeItem}:\n 6076 * .string: number of columns in the layout.\n 6077 * 6078 */ 6079 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 6080 6081 /** 6082 * @brief Sets the number of rows in the grid layout. If this parameter is not set, one row is used 6083 * by default. This attribute can be set, reset, and obtained as required through APIs. 6084 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6085 * component's full height, the second row 1/4, and the third row 2/4. 6086 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6087 * based on the specified row height <b>track-size</b>. 6088 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6089 * or a valid number. 6090 * 6091 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6092 * .string: number of rows in the layout. \n 6093 * \n 6094 * Format of the return value {@link ArkUI_AttributeItem}:\n 6095 * .string: number of rows in the layout. \n 6096 * 6097 */ 6098 NODE_GRID_ROW_TEMPLATE, 6099 6100 /** 6101 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 6102 * 6103 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6104 * .value[0].f32: gap between columns, in vp.\n 6105 * \n 6106 * Format of the return value {@link ArkUI_AttributeItem}:\n 6107 * .value[0].f32: gap between columns, in vp.\n 6108 * 6109 */ 6110 NODE_GRID_COLUMN_GAP, 6111 6112 /** 6113 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 6114 * 6115 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6116 * .value[0].f32: gap between lines, in vp.\n 6117 * \n 6118 * Format of the return value {@link ArkUI_AttributeItem}:\n 6119 * .value[0].f32: gap between lines, in vp.\n 6120 * 6121 */ 6122 NODE_GRID_ROW_GAP, 6123 6124 /** 6125 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 6126 * 6127 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6128 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6129 */ 6130 NODE_GRID_NODE_ADAPTER, 6131 6132 /** 6133 * @brief Sets the number of cached items in the grid adapter. 6134 * This attribute can be set, reset, and obtained as required through APIs. 6135 * 6136 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6137 * .value[0].i32: number of cached items in the grid adapter. \n 6138 */ 6139 NODE_GRID_CACHED_COUNT, 6140 6141 /** 6142 * @brief Defines the column width of the text picker. 6143 * This attribute can be set, reset, and obtained as required through APIs. 6144 * 6145 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6146 * .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.\n 6147 * .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6148 * .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6149 * ...\n 6150 * .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6151 * \n 6152 * Format of the return value {@link ArkUI_AttributeItem}:\n 6153 * value[0].f32: percentage of total width.\n 6154 * value[1].f32: percentage of total width.\n 6155 * value[2].f32: percentage of total width.\n 6156 * ...\n 6157 * value[n].f32: percentage of total width.\n 6158 * 6159 * @since 18 6160 */ 6161 NODE_TEXT_PICKER_COLUMN_WIDTHS = 15009, 6162 } ArkUI_NodeAttributeType; 6163 6164 #define MAX_COMPONENT_EVENT_ARG_NUM 12 6165 /** 6166 * @brief Defines the parameter type of the component callback event. 6167 * 6168 * @since 12 6169 */ 6170 typedef struct { 6171 /** Data array object. */ 6172 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 6173 } ArkUI_NodeComponentEvent; 6174 6175 /** 6176 * @brief Defines the string type parameter used by the component callback event. 6177 * 6178 * @since 12 6179 */ 6180 typedef struct { 6181 /** String. */ 6182 const char* pStr; 6183 } ArkUI_StringAsyncEvent; 6184 6185 /** 6186 * @brief Defines a hybrid data structure for component events. 6187 * 6188 * @since 15 6189 */ 6190 typedef struct { 6191 /** String data */ 6192 const char* pStr; 6193 /** Extended string data */ 6194 const char* pExtendStr; 6195 /** Numeric data */ 6196 int32_t number; 6197 } ArkUI_TextChangeEvent; 6198 6199 /** 6200 * @brief Enumerates the event types supported by the NativeNode component. 6201 * 6202 * @since 12 6203 */ 6204 typedef enum { 6205 /** 6206 * @brief Defines the gesture event type. 6207 * 6208 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6209 * {@link ArkUI_UIInputEvent}. 6210 */ 6211 NODE_TOUCH_EVENT = 0, 6212 6213 /** 6214 * @brief Defines the mount event. 6215 * 6216 * This event is triggered when the component is mounted and displayed. \n 6217 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6218 * {@link ArkUI_NodeComponentEvent}. \n 6219 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6220 */ 6221 NODE_EVENT_ON_APPEAR, 6222 /** 6223 * @brief Defines the unmount event. 6224 * 6225 * This event is triggered when the component is unmounted and hidden. \n 6226 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6227 * {@link ArkUI_NodeComponentEvent}. \n 6228 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6229 */ 6230 NODE_EVENT_ON_DISAPPEAR, 6231 6232 /** 6233 * @brief Defines the area change event. 6234 * 6235 * This event is triggered when the component's size, position, or any other attribute that may 6236 * affect its display area changes. \n 6237 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6238 * {@link ArkUI_NodeComponentEvent}. \n 6239 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6240 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 6241 * The value type is number. \n 6242 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 6243 * The value type is number. \n 6244 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 6245 * relative to the parent element's, in vp. The value type is number. \n 6246 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 6247 * relative to the parent element's, in vp. The value type is number. \n 6248 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 6249 * relative to the page's, in vp. The value type is number. \n 6250 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 6251 * relative to the page's, in vp. The value type is number. \n 6252 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 6253 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 6254 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 6255 * to the parent element's, in vp. The value type is number. \n 6256 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 6257 * to the parent element's, in vp. The value type is number. \n 6258 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 6259 * to the page's, in vp. The value type is number. \n 6260 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 6261 * to the page's, in vp. The value type is number. \n 6262 */ 6263 NODE_EVENT_ON_AREA_CHANGE, 6264 /** 6265 * @brief Defines the focus event. 6266 * 6267 * This event is triggered when the component obtains the focus. \n 6268 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6269 * {@link ArkUI_NodeComponentEvent}. \n 6270 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6271 */ 6272 NODE_ON_FOCUS, 6273 /** 6274 * @brief Defines the blur event. 6275 * 6276 * This event is triggered when the component loses the focus. \n 6277 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6278 * {@link ArkUI_NodeComponentEvent}. \n 6279 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6280 */ 6281 NODE_ON_BLUR, 6282 /** 6283 * @brief Defines the click event. 6284 * 6285 * This event is triggered when the component is clicked. \n 6286 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6287 * {@link ArkUI_NodeComponentEvent}. \n 6288 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6289 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 6290 * clicked component's original area, in vp. \n 6291 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 6292 * clicked component's original area, in vp. \n 6293 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 6294 * is triggered and the time when the system starts, in microseconds. \n 6295 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 6296 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 6297 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 6298 * application window, in vp. \n 6299 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 6300 * application window, in vp. \n 6301 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 6302 * application screen, in vp. \n 6303 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 6304 * application screen, in vp. \n 6305 */ 6306 NODE_ON_CLICK, 6307 /** 6308 * @brief Defines event interception. 6309 * 6310 * This event is triggered when the component is touched. \n 6311 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6312 * {@link ArkUI_UIInputEvent}. \n 6313 */ 6314 NODE_ON_TOUCH_INTERCEPT, 6315 /** 6316 * @brief Defines the visible area change event. 6317 * 6318 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 6319 * than the threshold. 6320 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 6321 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6322 * {@link ArkUI_NodeComponentEvent}. \n 6323 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6324 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 6325 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 6326 * decrease. \n 6327 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 6328 * callback is invoked. \n 6329 */ 6330 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 6331 /** 6332 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 6333 * 6334 \n 6335 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6336 * {@link ArkUI_NodeComponentEvent}. \n 6337 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6338 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 6339 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 6340 * the mouse pointer is moved away from the component. \n 6341 */ 6342 NODE_ON_HOVER, 6343 /** 6344 * @brief Defines the click event. 6345 * 6346 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 6347 * within the component. \n 6348 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6349 * {@link ArkUI_UIInputEvent}. \n 6350 */ 6351 NODE_ON_MOUSE, 6352 /** 6353 * @brief Defines the attach event. 6354 * 6355 * This event is triggered when the component is attached. \n 6356 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6357 * {@link ArkUI_NodeComponentEvent}. \n 6358 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6359 */ 6360 NODE_EVENT_ON_ATTACH, 6361 /** 6362 * @brief Defines the detach event. 6363 * 6364 * This event is triggered when the component is detached. \n 6365 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6366 * {@link ArkUI_NodeComponentEvent}. \n 6367 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6368 */ 6369 NODE_EVENT_ON_DETACH, 6370 6371 /** 6372 * @brief Defines the accessibility action event. 6373 * 6374 * This event is triggered when The accessibility operation type has been set and 6375 * corresponding operations have been carried out. \n 6376 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6377 * {@link ArkUI_NodeComponentEvent}. \n 6378 * {@link ArkUI_NodeComponentEvent} contains one parameters:\n 6379 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is 6380 * {@link ArkUI_AccessibilityActionType} \n 6381 * 6382 */ 6383 NODE_ON_ACCESSIBILITY_ACTIONS = 13, 6384 6385 /** 6386 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 6387 * 6388 * This event is triggered when a drag operation is about to start on a draggable item. \n 6389 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6390 * {@link ArkUI_NodeComponentEvent}. \n 6391 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6392 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 6393 */ 6394 NODE_ON_PRE_DRAG = 14, 6395 /** 6396 * @brief Called when the user starts to drag an ite 6397 * 6398 * A drag operation is recognized only when the dragged item is moved far enough. \n 6399 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6400 * {@link ArkUI_NodeEvent} object. \n 6401 */ 6402 NODE_ON_DRAG_START = 15, 6403 /** 6404 * @brief Called when a dragged item enters the boundaries of the current component. 6405 * 6406 * The current component refers to the component that listens for this event. \n 6407 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6408 * {@link ArkUI_NodeEvent} object. \n 6409 */ 6410 NODE_ON_DRAG_ENTER = 16, 6411 /** 6412 * @brief Called when a dragged item moves in the current component. 6413 * 6414 * The current component refers to the component that listens for this event. \n 6415 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6416 * {@link ArkUI_NodeEvent} object. \n 6417 */ 6418 NODE_ON_DRAG_MOVE = 17, 6419 /** 6420 * @brief Called when a dragged item leaves the boundaries of the current component. 6421 * 6422 * The current component refers to the component that listens for this event. \n 6423 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6424 * {@link ArkUI_NodeEvent} object. \n 6425 */ 6426 NODE_ON_DRAG_LEAVE = 18, 6427 /** 6428 * @brief Called when a dragged item is dropped on the current component. 6429 * The component can obtain the drag data for processing through the callback. 6430 * 6431 * The current component refers to the component that listens for this event. \n 6432 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6433 * {@link ArkUI_NodeEvent} object. \n 6434 */ 6435 NODE_ON_DROP = 19, 6436 /** 6437 * @brief Called when a drag operation ends. 6438 * The drag source can obtain the drag result by registering this callback. 6439 * 6440 * A drag operation ends when the dragged item is released. 6441 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6442 * {@link ArkUI_NodeEvent} object. \n 6443 */ 6444 NODE_ON_DRAG_END = 20, 6445 /** 6446 * @brief Defines the event triggered when a key event occurs. 6447 * 6448 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6449 * device. \n 6450 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6451 * {@link ArkUI_NodeComponentEvent}. \n 6452 * 6453 * @since 14 6454 */ 6455 NODE_ON_KEY_EVENT = 21, 6456 /** 6457 * @brief Defines the event triggered before the input method responds to the key action. 6458 * 6459 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 6460 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 6461 * and no longer triggered. 6462 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6463 * device. \n 6464 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6465 * {@link ArkUI_NodeComponentEvent}. \n 6466 * 6467 * @since 14 6468 */ 6469 NODE_ON_KEY_PRE_IME = 22, 6470 /** 6471 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 6472 * 6473 * The event callback is triggered by interactions with a joystick and a focused component. \n 6474 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6475 * {@link ArkUI_UIInputEvent}. \n 6476 * 6477 * @since 15 6478 */ 6479 NODE_ON_FOCUS_AXIS = 23, 6480 6481 /** 6482 * @brief Dispatch key event on the component node. 6483 * 6484 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 6485 * children. \n 6486 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6487 * {@link ArkUI_NodeComponentEvent}. \n 6488 * 6489 * @since 15 6490 */ 6491 NODE_DISPATCH_KEY_EVENT = 24, 6492 6493 /** 6494 * @brief Defines the event triggered when the bound component receives an axis event. 6495 * 6496 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6497 * {@link ArkUI_UIInputEvent}. \n 6498 * 6499 * @since 17 6500 */ 6501 NODE_ON_AXIS = 25, 6502 6503 /** 6504 * @brief Defines the event triggered when the bound component is clicked. 6505 * 6506 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6507 * {@link ArkUI_UIInputEvent}. \n 6508 * 6509 * @since 18 6510 */ 6511 NODE_ON_CLICK_EVENT = 26, 6512 6513 /** 6514 * @brief Defines the event triggered when the mouse pointer hovers over or moves away from a component. 6515 * 6516 * This event is triggered when the mouse pointer enters or leaves the component's bounding box. \n 6517 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6518 * {@link ArkUI_UIInputEvent}. \n 6519 * 6520 *@since 17 6521 */ 6522 NODE_ON_HOVER_EVENT = 27, 6523 6524 /** 6525 * @brief Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval. 6526 * 6527 * The callback is triggered when the ratio of the component's visible area to its total area is greater than or 6528 * less than the threshold. Before registering the callback, you must configure the threshold and update interval 6529 * using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>. \n 6530 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6531 * {@link ArkUI_NodeComponentEvent}. \n 6532 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6533 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 6534 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates 6535 * a decrease. \n 6536 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area 6537 * when this callback is invoked. \n 6538 * 6539 * @since 17 6540 */ 6541 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT = 28, 6542 6543 /** 6544 * @brief Defines the hover event. 6545 * 6546 * The event is triggered when the pointer is hovered by a pen device. 6547 * within the component. \n 6548 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 6549 * {@link ArkUI_UIInputEvent} object. \n 6550 * @since 15 6551 */ 6552 NODE_ON_HOVER_MOVE = 29, 6553 6554 /** 6555 * @brief Triggers onDetectResultUpdate callback 6556 * when the text is set to TextDataDetectorConfig and recognized successfully. 6557 * 6558 * Trigger this event when TextDataDetectorConfig is set and recognized successfully.\n 6559 * When the event callback occurs, the event parameter{@link ArkUI_NodeEvent}The union type in the object is 6560 * {@link ArkUI_StringAsyncEvent}.\n 6561 * {@link ArkUI_StringAsyncEvent}contains 1 parameter\n 6562 * <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.\n 6563 * 6564 */ 6565 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 6566 /** 6567 * @brief Defines the image loading success event. 6568 * 6569 * This event is triggered when an image is successfully loaded or decoded. \n 6570 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6571 * {@link ArkUI_NodeComponentEvent}. \n 6572 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 6573 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 6574 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 6575 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 6576 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 6577 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 6578 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 6579 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 6580 * x-axis, in px. \n 6581 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 6582 * y-axis, in px. \n 6583 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 6584 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 6585 */ 6586 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 6587 /** 6588 * @brief Defines the image loading failure event. 6589 * 6590 * This event is triggered when an error occurs during image loading. \n 6591 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6592 * {@link ArkUI_NodeComponentEvent}. \n 6593 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6594 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 6595 * 401: The image could not be obtained because the image path is invalid. \n 6596 * 103101: The image format is not supported. \n 6597 */ 6598 NODE_IMAGE_ON_ERROR, 6599 /** 6600 * @brief Defines the SVG animation playback completion event. 6601 * 6602 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 6603 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6604 * {@link ArkUI_NodeComponentEvent}. \n 6605 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6606 */ 6607 NODE_IMAGE_ON_SVG_PLAY_FINISH, 6608 /** 6609 * @brief Defines image download process event. 6610 * 6611 * This event is triggered when downloading webpage images from page components.\n 6612 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6613 * {@link ArkUI_NodeComponentEvent}. \n 6614 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 6615 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 6616 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 6617 */ 6618 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 6619 /** 6620 * @brief Defines the event triggered when the toggle status changes. 6621 * 6622 \n 6623 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6624 * {@link ArkUI_NodeComponentEvent}. \n 6625 * {@link ArkUI_NodeComponentEvent} contains one parameter: \n 6626 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 6627 * 6628 */ 6629 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 6630 /** 6631 * @brief Defines the event triggered when the text input content changes. 6632 * 6633 \n 6634 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6635 * {@link ArkUI_StringAsyncEvent}. \n 6636 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6637 * <b>ArkUI_StringAsyncEvent.pStr</b>: text input. 6638 * 6639 */ 6640 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 6641 /** 6642 * @brief Defines the event triggered when the Enter key of the text input method is pressed. 6643 * 6644 \n 6645 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6646 * {@link ArkUI_NodeComponentEvent}. \n 6647 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6648 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 6649 * 6650 */ 6651 NODE_TEXT_INPUT_ON_SUBMIT, 6652 /** 6653 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 6654 * is long pressed, is clicked. 6655 * 6656 \n 6657 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6658 * {@link ArkUI_StringAsyncEvent}. \n 6659 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6660 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 6661 * 6662 */ 6663 NODE_TEXT_INPUT_ON_CUT, 6664 /** 6665 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 6666 * is long pressed, is clicked. 6667 * 6668 \n 6669 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6670 * {@link ArkUI_StringAsyncEvent}. \n 6671 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6672 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6673 * 6674 */ 6675 NODE_TEXT_INPUT_ON_PASTE, 6676 /** 6677 * @brief Defines the event triggered when the text selection position changes. 6678 * 6679 \n 6680 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6681 * {@link ArkUI_NodeComponentEvent}. \n 6682 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6683 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6684 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6685 * 6686 */ 6687 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 6688 6689 /** 6690 * @brief Defines the event triggered when the input status changes. 6691 * 6692 \n 6693 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6694 * {@link ArkUI_NodeComponentEvent}. \n 6695 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6696 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 6697 * 6698 */ 6699 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 6700 6701 /** 6702 * @brief textInput This event is triggered when the input content changes. 6703 * 6704 * Conditions for triggering this event: When the input content changes. \n 6705 * When the event callback occurs, the union type in the event parameter 6706 * {@link ArkUI_NodeEvent} object is {@link ArkUI_NodeComponentEvent}. \n 6707 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6708 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6709 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6710 * 6711 */ 6712 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 6713 6714 /** 6715 * @brief Defines the event triggered when matching with the regular expression specified by 6716 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 6717 * 6718 \n 6719 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6720 * {@link ArkUI_StringAsyncEvent}. \n 6721 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6722 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6723 * 6724 */ 6725 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 6726 6727 /** 6728 * @brief This callback is triggered when the text content is scrolled. 6729 * 6730 \n 6731 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6732 * {@link ArkUI_NodeComponentEvent}. \n 6733 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6734 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6735 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6736 * the text in the content area. \n 6737 * 6738 */ 6739 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 6740 6741 /** 6742 * @brief Defines the event triggered when text is about to be entered. 6743 * 6744 * The event parameter is {@link ArkUI_NodeEvent}. \n 6745 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6746 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6747 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6748 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6749 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 6750 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6751 */ 6752 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 6753 6754 /** 6755 * @brief Defines the event triggered when text is entered. 6756 * 6757 * The event parameter is {@link ArkUI_NodeEvent}. \n 6758 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6759 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6760 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6761 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6762 */ 6763 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 6764 6765 /** 6766 * @brief Defines the event triggered when text is about to be deleted. 6767 * 6768 * The event parameter is {@link ArkUI_NodeEvent}. \n 6769 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 6770 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6771 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6772 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6773 * forward-delete. \n 6774 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6775 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6776 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 6777 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6778 */ 6779 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 6780 6781 /** 6782 * @brief Defines the event triggered when text is deleted. 6783 * 6784 * The event parameter is {@link ArkUI_NodeEvent}. \n 6785 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 6786 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6787 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6788 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6789 * forward-delete. \n 6790 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6791 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6792 */ 6793 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 6794 6795 /** 6796 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextInput</b> 6797 * component. 6798 * 6799 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 6800 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 6801 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 6802 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 6803 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 6804 * 6805 * @since 15 6806 */ 6807 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 6808 6809 /** 6810 * @brief Defines the event triggered when the input in the text box changes. 6811 * 6812 \n 6813 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6814 * {@link ArkUI_StringAsyncEvent}. \n 6815 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6816 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 6817 * 6818 */ 6819 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 6820 /** 6821 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 6822 * long pressed, is clicked. 6823 * 6824 \n 6825 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6826 * {@link ArkUI_StringAsyncEvent}. \n 6827 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6828 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6829 * 6830 */ 6831 NODE_TEXT_AREA_ON_PASTE, 6832 /** 6833 * @brief Defines the event triggered when the text selection position changes. 6834 * 6835 \n 6836 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6837 * {@link ArkUI_NodeComponentEvent}. \n 6838 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6839 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6840 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6841 * 6842 */ 6843 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 6844 /** 6845 * @brief Defines the event triggered when matching with the regular expression specified by 6846 * <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails. 6847 * 6848 \n 6849 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6850 * {@link ArkUI_StringAsyncEvent}. \n 6851 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6852 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6853 * 6854 */ 6855 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 6856 /** 6857 * @brief This callback is triggered when the text content is scrolled. 6858 * 6859 \n 6860 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6861 * {@link ArkUI_NodeComponentEvent}. \n 6862 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6863 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6864 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6865 * the text in the content area. \n 6866 * 6867 */ 6868 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 6869 6870 /** 6871 * @brief Defines the event triggered when the input status changes. 6872 * 6873 \n 6874 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6875 * {@link ArkUI_NodeComponentEvent}. \n 6876 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6877 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 6878 * 6879 */ 6880 NODE_TEXT_AREA_ON_EDIT_CHANGE, 6881 6882 /** 6883 * @brief Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box. 6884 * 6885 * This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>. \n 6886 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6887 * {@link ArkUI_NodeComponentEvent}. \n 6888 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6889 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key. 6890 * 6891 */ 6892 NODE_TEXT_AREA_ON_SUBMIT, 6893 6894 /** 6895 * @brief textArea This event is triggered when the input content changes. 6896 * 6897 * Conditions for triggering this event: When the input content changes. \n 6898 * When the event callback occurs, the union type in the event parameter {@link ArkUI_NodeEvent} object is \n 6899 * {@link ArkUI_NodeComponentEvent}.\n 6900 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6901 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6902 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6903 * 6904 */ 6905 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 6906 6907 /** 6908 * @brief Defines the event triggered when text is about to be entered. 6909 * 6910 * The event parameter is {@link ArkUI_NodeEvent}. \n 6911 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6912 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6913 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6914 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6915 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 6916 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6917 */ 6918 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 6919 6920 /** 6921 * @brief Defines the event triggered when text is entered. 6922 * 6923 * The event parameter is {@link ArkUI_NodeEvent}. \n 6924 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6925 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6926 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6927 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6928 */ 6929 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 6930 6931 /** 6932 * @brief Defines the event triggered when text is about to be deleted. 6933 * 6934 * The event parameter is {@link ArkUI_NodeEvent}. \n 6935 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 6936 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6937 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6938 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6939 * forward-delete. \n 6940 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6941 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6942 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 6943 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6944 */ 6945 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 6946 6947 /** 6948 * @brief Defines the event triggered when text is deleted. 6949 * 6950 * The event parameter is {@link ArkUI_NodeEvent}. \n 6951 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 6952 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6953 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6954 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6955 * forward-delete. \n 6956 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6957 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6958 */ 6959 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 6960 6961 /** 6962 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextArea</b> 6963 * component. 6964 * 6965 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 6966 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 6967 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 6968 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 6969 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 6970 * 6971 * @since 15 6972 */ 6973 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 6974 6975 /** 6976 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 6977 * 6978 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6979 * {@link ArkUI_NodeComponentEvent}. \n 6980 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 6981 */ 6982 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 6983 6984 /** 6985 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 6986 * 6987 \n 6988 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6989 * {@link ArkUI_NodeComponentEvent}. \n 6990 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 6991 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 6992 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 6993 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 6994 */ 6995 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 6996 6997 /** 6998 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 6999 * 7000 \n 7001 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7002 * {@link ArkUI_NodeComponentEvent}. \n 7003 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7004 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 7005 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 7006 */ 7007 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 7008 7009 /** 7010 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 7011 * 7012 \n 7013 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7014 * {@link ArkUI_NodeComponentEvent}. \n 7015 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7016 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7017 */ 7018 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 7019 7020 /** 7021 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 7022 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 7023 * 7024 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7025 * {@link ArkUI_NodeComponentEvent}. \n 7026 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7027 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7028 * 7029 * @since 14 7030 */ 7031 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 7032 7033 /** 7034 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 7035 * 7036 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7037 * {@link ArkUI_NodeComponentEvent}. \n 7038 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 7039 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 7040 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 7041 */ 7042 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 7043 7044 /** 7045 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 7046 * 7047 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7048 * {@link ArkUI_NodeComponentEvent}. \n 7049 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7050 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 7051 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 7052 */ 7053 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 7054 7055 /** 7056 * @brief Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO. 7057 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7058 * {@Link ArkUI_NodeComponentEvent}. \n 7059 * {@Link ArkUI_NodeComponentEvent} contains one parameter:\n 7060 * ArkUI_NodeComponentEvent.data[0].i32: option button status. \n 7061 */ 7062 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 7063 7064 /** 7065 * @brief Defines the event callback function triggered when the animation starts to play. 7066 * 7067 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7068 * {@Link ArkUI_NodeComponentEvent}. \n 7069 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7070 * 7071 */ 7072 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 7073 /** 7074 * @brief Defines the event callback function triggered when the animation playback is paused. 7075 * 7076 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7077 * {@Link ArkUI_NodeComponentEvent}. \n 7078 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7079 * 7080 */ 7081 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 7082 /** 7083 * @brief Defines the event callback function triggered when the animation playback is repeated. 7084 * 7085 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7086 * {@Link ArkUI_NodeComponentEvent}. \n 7087 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7088 * 7089 */ 7090 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 7091 /** 7092 * @brief Defines the event callback function when the animation playback returns to the initial state. 7093 * 7094 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7095 * {@Link ArkUI_NodeComponentEvent}. \n 7096 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7097 * 7098 */ 7099 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 7100 /** 7101 * @brief Defines the event callback function triggered when the animation playback is complete or stopped. 7102 * 7103 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7104 * {@Link ArkUI_NodeComponentEvent}. \n 7105 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 7106 * 7107 */ 7108 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 7109 7110 /** 7111 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 7112 * or checkbox changes. 7113 * 7114 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7115 * {@link ArkUI_StringAsyncEvent}. \n 7116 * <b>ArkUI_StringAsyncEvent.pStr</b> 7117 * Name: The names of the selected checkboxes; 7118 * Status: 7119 * 0: All checkboxes are selected. 7120 * 1: Some checkboxes are selected. 7121 * 2: No checkboxes are selected. \n 7122 * 7123 * @since 15 7124 */ 7125 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 7126 7127 /** 7128 * @brief Defines the event triggered when the index of the currently displayed element of this 7129 * <b>ARKUI_NODE_SWIPER</b> instance changes. 7130 * 7131 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7132 * {@link ArkUI_NodeComponentEvent}. \n 7133 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7134 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7135 */ 7136 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 7137 7138 /** 7139 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 7140 * 7141 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7142 * {@link ArkUI_NodeComponentEvent}. \n 7143 * {@link ArkUI_NodeComponentEvent} contains five parameters: \n 7144 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7145 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 7146 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 7147 * start position of the swiper along the main axis. \n 7148 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 7149 * of the swiper along the main axis. \n 7150 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 7151 */ 7152 NODE_SWIPER_EVENT_ON_ANIMATION_START, 7153 7154 /** 7155 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 7156 * 7157 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7158 * {@link ArkUI_NodeComponentEvent}. \n 7159 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7160 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7161 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7162 * start position of the swiper along the main axis. \n 7163 */ 7164 NODE_SWIPER_EVENT_ON_ANIMATION_END, 7165 7166 /** 7167 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 7168 * <b>ARKUI_NODE_SWIPER</b> instance. 7169 * 7170 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7171 * {@link ArkUI_NodeComponentEvent}. \n 7172 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7173 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7174 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7175 * start position of the swiper along the main axis. \n 7176 */ 7177 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 7178 7179 /** 7180 * @brief Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events. 7181 * Instruction: \n 7182 * 1. If the {@link ArkUI_SwiperDisplayModeType} attribute is set to \n 7183 * ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect. \n 7184 * 2, circular scenario, set prevMargin and nextMargin attributes, \n 7185 * so that Swiper front and back end display the same page, the interface does not take effect. \n 7186 * 3. During page sliding, the ContentDidScrollCallback callback is \n 7187 * triggered frame-by-frame for all pages in the window. \n 7188 * For example, when there are two pages in the window with subscripts 0 and 1, \n 7189 * callbacks with index values 0 and 1 are triggered twice per frame. \n 7190 * 4, set the swipeByGroup parameter of the displayCount property to \n 7191 * true if at least one page in the same group is in the window, \n 7192 * A callback is triggered for all pages in the group. \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 four parameters:\n 7196 * <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component, \n 7197 * which is consistent with the index change in the onChange event. \n 7198 * <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window. \n 7199 * <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to \n 7200 * the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page). \n 7201 * <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction. \n 7202 */ 7203 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 7204 7205 /** 7206 * @brief Defines the event triggered when content in the swiper component will scroll. 7207 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 7208 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7209 * {@link ArkUI_NodeComponentEvent}. \n 7210 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7211 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 7212 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 7213 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 7214 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 7215 * slide forward(e.g. from index=0 to index=1). \n 7216 * 7217 * @since 15 7218 */ 7219 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 7220 7221 /** 7222 * @brief Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed. 7223 * 7224 * This event is triggered under the following scenarios: \n 7225 * 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets 7226 * the threshold for page turning. \n 7227 * 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or 7228 * <b>NODE_SWIPER_SWIPE_TO_INDEX</b>. \n 7229 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7230 * {@link ArkUI_NodeComponentEvent}. \n 7231 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7232 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element. \n 7233 * 7234 * @since 18 7235 */ 7236 NODE_SWIPER_EVENT_ON_SELECTED = 1001005, 7237 7238 /** 7239 * @brief Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed. 7240 * 7241 * This event is triggered under the following scenarios: \n 7242 * 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets 7243 * the threshold for page turning. \n 7244 * 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or 7245 * <b>NODE_SWIPER_SWIPE_TO_INDEX</b>. \n 7246 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7247 * {@link ArkUI_NodeComponentEvent}. \n 7248 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7249 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected. \n 7250 * 7251 * @since 18 7252 */ 7253 NODE_SWIPER_EVENT_ON_UNSELECTED = 1001006, 7254 7255 /** 7256 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 7257 * 7258 * Notes for triggering the event:\n 7259 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7260 * settings, such as keyboard and mouse operations. \n 7261 * 2. Scrolling can be initiated by calling the controller API. \n 7262 * 3. The out-of-bounds bounce effect is supported. \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 two parameters:\n 7266 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 7267 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 7268 */ 7269 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 7270 /** 7271 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 7272 * 7273 * Notes for triggering the event:\n 7274 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7275 * settings, such as keyboard and mouse operations. \n 7276 * 2. This event is not triggered when the controller API is called. \n 7277 * 3. This event does not support the out-of-bounds bounce effect. \n 7278 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7279 * {@link ArkUI_NodeComponentEvent}. \n 7280 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7281 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 7282 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 7283 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 7284 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 7285 * needs to scroll based on the real-world situation and return the result in this parameter. \n 7286 */ 7287 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 7288 7289 /** 7290 * @brief Define the enumeration value of the pre sliding trigger event for the scrolling container component. 7291 * 7292 * The conditions that trigger this event: \n 7293 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 7294 * operations that trigger scrolling.\n 7295 * 2. Called through the rolling controller API interface.\n 7296 * 3. Cross boundary rebound.\n 7297 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 7298 * {@link ArkUI_NodeComponentEvent}. \n 7299 * {@link ArkUI_NodeComponentEvent} contains four parameters: \n 7300 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 7301 * the left and negative when scrolling to the right, measured in vp. \n 7302 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 7303 * scrolling up and a negative offset when scrolling down, measured in vp. \n 7304 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 7305 * parameter type is {@link ArkUI_ScrollState}. \n 7306 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source, \n 7307 * parameter type is {@link ArkUI_ScrollSource}. \n 7308 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. 7309 */ 7310 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 7311 /** 7312 * @brief Define the event enumeration value triggered when sliding a scrolling container component. 7313 * 7314 * The conditions that trigger this event: \n 7315 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 7316 * operations that trigger scrolling.\n 7317 * 2. Called through the rolling controller API interface.\n 7318 * 3. Cross boundary rebound.\n 7319 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 7320 * {@link ArkUI_NodeComponentEvent}. \n 7321 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 7322 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 7323 * the left and negative when scrolling to the right, measured in vp. \n 7324 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 7325 * scrolling up and a negative offset when scrolling down, measured in vp. \n 7326 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 7327 parameter type is {@link ArkUI_ScrollState}. \n 7328 */ 7329 NODE_SCROLL_EVENT_ON_DID_SCROLL, 7330 7331 /** 7332 * @brief Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 7333 * 7334 * Notes for triggering the event:\n 7335 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 7336 * and mouse operations. \n 7337 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 7338 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7339 * {@link ArkUI_NodeComponentEvent}. \n 7340 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 7341 */ 7342 NODE_SCROLL_EVENT_ON_SCROLL_START, 7343 /** 7344 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 7345 * 7346 * Notes for triggering the event:\n 7347 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 7348 * settings, such as keyboard and mouse operations. \n 7349 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 7350 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7351 * {@link ArkUI_NodeComponentEvent}. \n 7352 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 7353 */ 7354 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 7355 /** 7356 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 7357 * one of the edges. 7358 * 7359 * Notes for triggering the event:\n 7360 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 7361 * component or other input settings, such as keyboard and mouse operations. \n 7362 * 2. Scrolling can be initiated by calling the controller API. \n 7363 * 3. The out-of-bounds bounce effect is supported. \n 7364 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7365 * {@link ArkUI_NodeComponentEvent}. \n 7366 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 7367 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 7368 */ 7369 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 7370 /** 7371 * @brief Define that a callback is triggered when the scrolling container component reaches the start position. 7372 * Condition for triggering the event: \n 7373 * Triggered when the component reaches the start position. \n 7374 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 7375 * {@Link ArkUI_NodeComponentEvent}. \n 7376 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 7377 */ 7378 NODE_SCROLL_EVENT_ON_REACH_START, 7379 /** 7380 * @brief Define that a callback is triggered when the scrolling container component ends. \n 7381 * Condition for triggering the event: \n 7382 * Triggered when the component reaches the end. \n 7383 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 7384 * {@Link ArkUI_NodeComponentEvent}. \n 7385 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 7386 */ 7387 NODE_SCROLL_EVENT_ON_REACH_END, 7388 /** 7389 * @brief Defines the enumerated values of the event triggered, \n 7390 * when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area. \n 7391 * Condition for triggering the event: \n 7392 * This method is triggered once during list initialization. \n 7393 * It is triggered when the index value of the first or last subcomponent in the list display area changes. \n 7394 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 7395 * {@Link ArkUI_NodeComponentEvent}. \n 7396 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7397 * ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of \n 7398 * the first child component in the region. \n 7399 * ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of \n 7400 * the last child component in the region. \n 7401 * ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of \n 7402 * the subcomponent in the middle of the area. \n 7403 */ 7404 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 7405 /** 7406 * @brief Defines the enumerated values of the event triggered 7407 * before the sliding of the ARKUI_NODE_LIST component. \n 7408 * Condition for triggering the event: \n 7409 * This event is triggered when the scrolling component triggers scrolling. \n 7410 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 7411 * Called through the scroll controller API. \n 7412 * Out-of-bounds rebound. \n 7413 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7414 * {@Link ArkUI_NodeComponentEvent}. \n 7415 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7416 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7417 * The offset is positive when the list content is scrolled up and \n 7418 * is negative when the list content is scrolled down. \n 7419 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7420 * parameter type is {@link ArkUI_ScrollState}. \n 7421 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 7422 * parameter type is {@link ArkUI_ScrollSource}. \n 7423 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 7424 */ 7425 NODE_LIST_ON_WILL_SCROLL, 7426 /** 7427 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked. 7428 * Condition for triggering the event: \n 7429 * This event is triggered when the scrolling component triggers scrolling. \n 7430 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 7431 * Called through the scroll controller API. \n 7432 * Out-of-bounds rebound. \n 7433 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7434 * {@Link ArkUI_NodeComponentEvent}. \n 7435 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 7436 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7437 * The offset is positive when the list content is scrolled up and \n 7438 * is negative when the list content is scrolled down. \n 7439 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7440 */ 7441 NODE_LIST_ON_DID_SCROLL, 7442 7443 /** 7444 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 7445 * 7446 * Notes for triggering the event:\n 7447 * This event is triggered once when the list is initialized and when the index of the first child component or the 7448 * next child component in the list display area changes. 7449 * During index calculation, the list item, header of the list item group, and footer of the list item group each 7450 * are counted as a child component. \n 7451 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7452 * {@link ArkUI_NodeComponentEvent}. \n 7453 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 7454 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 7455 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 7456 * The type is {@link ArkUI_ListItemGroupArea}. \n 7457 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 7458 * in the list item group. 7459 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 7460 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area. \n 7461 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends. 7462 * The type is {@link ArkUI_ListItemGroupArea}. \n 7463 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the 7464 * list item group. 7465 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 7466 * 7467 * @since 15 7468 */ 7469 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 7470 7471 /** 7472 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 7473 * 7474 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7475 * {@link ArkUI_NodeComponentEvent}. \n 7476 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7477 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 7478 */ 7479 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 7480 /** 7481 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 7482 * 7483 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7484 * {@link ArkUI_NodeComponentEvent}. \n 7485 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 7486 */ 7487 NODE_REFRESH_ON_REFRESH, 7488 7489 /** 7490 * @brief Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes. 7491 * 7492 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7493 * {@link ArkUI_NodeComponentEvent}. \n 7494 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7495 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance. \n 7496 */ 7497 NODE_REFRESH_ON_OFFSET_CHANGE, 7498 7499 /** 7500 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 7501 * 7502 * Notes for triggering the event:\n 7503 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 7504 * input settings, such as keyboard and mouse operations. \n 7505 * 2. Scrolling can be initiated by calling the controller API. \n 7506 * 3. The out-of-bounds bounce effect is supported. \n 7507 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7508 * {@link ArkUI_NodeComponentEvent}. \n 7509 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7510 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7511 * The offset is positive when the list content is scrolled up and \n 7512 * is negative when the list content is scrolled down. \n 7513 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7514 * parameter type is {@link ArkUI_ScrollState}. \n 7515 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 7516 * parameter type is {@link ArkUI_ScrollSource}. \n 7517 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 7518 */ 7519 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 7520 /** 7521 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides. 7522 * Condition for triggering the event: \n 7523 * This event is triggered when the scrolling component triggers scrolling. 7524 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 7525 * Called through the scroll controller API. \n 7526 * Out-of-bounds rebound. \n 7527 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7528 * {@Link ArkUI_NodeComponentEvent}. \n 7529 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 7530 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7531 * The offset is positive when the content is scrolled up and is negative when the content is scrolled down. \n 7532 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7533 */ 7534 NODE_WATER_FLOW_ON_DID_SCROLL, 7535 /** 7536 * @brief Defines the enumerated values of the event triggered, 7537 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 7538 * Condition for triggering the event: \n 7539 * This event is triggered when the index value of the \n 7540 * first or last subcomponent in the waterfall display area changes. \n 7541 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7542 * {@Link ArkUI_NodeComponentEvent}. \n 7543 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7544 * ArkUI_NodeComponentEvent.data[0].i32: The index value of the \n 7545 * start position of the currently displayed WaterFlow. \n 7546 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 7547 * the end position of the currently displayed waterfall. \n 7548 */ 7549 NODE_WATER_FLOW_ON_SCROLL_INDEX, 7550 } ArkUI_NodeEventType; 7551 7552 /** 7553 * @brief Defines the common structure type of a component event. 7554 * 7555 * @since 12 7556 */ 7557 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 7558 7559 /** 7560 * @brief Obtains the type of a component event. 7561 * 7562 * @param event Indicates the pointer to the component event. 7563 * @return Returns the type of the component event. 7564 * @since 12 7565 */ 7566 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 7567 7568 /** 7569 * @brief Obtains the custom ID of a component event. 7570 * 7571 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 7572 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 7573 * 7574 * @param event Indicates the pointer to the component event. 7575 * @return Returns the custom ID of the component event. 7576 * @since 12 7577 */ 7578 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 7579 7580 /** 7581 * @brief Obtains the component object that triggers a component event. 7582 * 7583 * @param event Indicates the pointer to the component event. 7584 * @return Returns the component object that triggers the component event. 7585 * @since 12 7586 */ 7587 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 7588 7589 /** 7590 * @brief Obtains input event (for example, touch event) data for a component event. 7591 * 7592 * @param event Indicates the pointer to the component event. 7593 * @return Returns the pointer to the input event data. 7594 * @since 12 7595 */ 7596 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 7597 7598 /** 7599 * @brief Obtains the numerical data in a component event. 7600 * 7601 * @param event Indicates the pointer to the component event. 7602 * @return Returns the pointer to the numerical data. 7603 * @since 12 7604 */ 7605 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 7606 7607 /** 7608 * @brief Obtains the string data in a component event. 7609 * 7610 * @param event Indicates the pointer to the component event. 7611 * @return Returns the pointer to the string data. 7612 * @since 12 7613 */ 7614 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 7615 7616 /** 7617 * @brief Obtains the ArkUI_TextChangeEvent data from a component event. 7618 * 7619 * @param event Pointer to a component event. It cannot be null. 7620 * @return Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object. 7621 * @since 15 7622 */ 7623 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 7624 7625 /** 7626 * @brief Obtains the custom data in a component event. 7627 * 7628 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 7629 * is triggered. 7630 * 7631 * @param event Indicates the pointer to the component event. 7632 * @return Returns the pointer to the custom data. 7633 * @since 12 7634 */ 7635 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 7636 7637 /** 7638 * @brief Obtains the numeric-type parameter of a component event. 7639 * 7640 * @param event Indicates the pointer to the component event. 7641 * @param index Indicates the index of the return value. 7642 * @param value Indicates the return value. 7643 * @return Returns the error code. 7644 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7645 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 7646 * the limit. 7647 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 7648 * @since 12 7649 */ 7650 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 7651 7652 /** 7653 * @brief Obtains the string-type parameter of a component event. The string data is valid only during an event 7654 * callback. To use it outside an event callback, you are advised to copy the string data. 7655 * 7656 * @param event Indicates the pointer to the component event. 7657 * @param index Indicates the index of the return value. 7658 * @param string Indicates the pointer to the string array. 7659 * @param stringSize Indicates the length of the string array. 7660 * @return Returns the error code. 7661 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7662 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 7663 * the limit. 7664 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 7665 * @since 12 7666 */ 7667 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 7668 7669 /** 7670 * @brief Sets the return value for a component event. 7671 * 7672 * @param event Indicates the pointer to the component event. 7673 * @param value Indicates the numeric-type array. 7674 * @param size Indicates the array length. 7675 * @return Returns the error code. 7676 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7677 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} if the component event does not support return values. 7678 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if data does not exist in the component event. 7679 * @since 12 7680 */ 7681 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 7682 7683 /** 7684 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 7685 * 7686 * @since 12 7687 */ 7688 typedef enum { 7689 /** 7690 * @brief Remeasure. 7691 * 7692 * When this type of flag is specified, re-layout is triggered by default. 7693 */ 7694 NODE_NEED_MEASURE = 1, 7695 7696 /** Re-layout. */ 7697 NODE_NEED_LAYOUT, 7698 /** Re-rendering. */ 7699 NODE_NEED_RENDER, 7700 } ArkUI_NodeDirtyFlag; 7701 7702 /** 7703 * @brief Defines the custom component event type. 7704 * 7705 * @since 12 7706 */ 7707 typedef enum { 7708 /** Measure type. */ 7709 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 7710 /** Layout type. */ 7711 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 7712 /** Draw type. */ 7713 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 7714 /** Foreground type. */ 7715 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 7716 /** Overlay type. */ 7717 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 7718 } ArkUI_NodeCustomEventType; 7719 7720 /** 7721 * @brief Defines the general structure of a custom component event. 7722 * 7723 * @since 12 7724 */ 7725 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 7726 7727 /** 7728 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 7729 * 7730 * @since 12 7731 */ 7732 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 7733 7734 /** 7735 * @brief Defines the component adapter event. 7736 * 7737 * @since 12 7738 */ 7739 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 7740 7741 /** 7742 * @brief Enumerates component adapter events. 7743 * 7744 * @since 12 7745 */ 7746 typedef enum { 7747 /** This event occurs when the component is attached to the adapter. */ 7748 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 7749 /** This event occurs when the component is detached from the adapter. */ 7750 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 7751 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 7752 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 7753 /** This event occurs when the adapter obtains the content of the new element to add. */ 7754 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 7755 /** This event occurs when the adapter removes an element. */ 7756 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 7757 } ArkUI_NodeAdapterEventType; 7758 7759 /** 7760 * @brief Creates a component adapter. 7761 * 7762 * @since 12 7763 */ 7764 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(); 7765 7766 /** 7767 * @brief Destroys a component adapter. 7768 * 7769 * @param handle Indicates the target component adapter. 7770 * @since 12 7771 */ 7772 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 7773 7774 /** 7775 * @brief Sets the total number of elements in the specified adapter. 7776 * 7777 * @param handle Indicates the target component adapter. 7778 * @param size Indicates the number of elements. 7779 * @return Returns the error code. 7780 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7781 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7782 * @since 12 7783 */ 7784 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 7785 7786 /** 7787 * @brief Obtains the total number of elements in the specified adapter. 7788 * 7789 * @param handle Indicates the target component adapter. 7790 * @return Returns the total number of elements in the adapter. 7791 * @since 12 7792 */ 7793 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 7794 7795 /** 7796 * @brief Registers an event callback for the adapter. 7797 * 7798 * @param handle Indicates the target component adapter. 7799 * @param userData Indicates custom data. 7800 * @param receiver Indicates the event receiver callback. 7801 * @return Returns the error code. 7802 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7803 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7804 * @since 12 7805 */ 7806 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 7807 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 7808 7809 /** 7810 * @brief Deregisters an event callback for the adapter. 7811 * 7812 * @param handle Indicates the target component adapter. 7813 * @since 12 7814 */ 7815 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 7816 7817 /** 7818 * @brief Instructs the specified adapter to reload all elements. 7819 * 7820 * @param handle Indicates the target component adapter. 7821 * @return Returns the error code. 7822 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7823 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7824 * @since 12 7825 */ 7826 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 7827 7828 /** 7829 * @brief Instructs the specified adapter to reload certain elements. 7830 * 7831 * @param handle Indicates the target component adapter. 7832 * @param startPosition Indicates the start position of the elements to reload. 7833 * @param itemCount Indicates the number of the elements to reload. 7834 * @return Returns the error code. 7835 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7836 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7837 * @since 12 7838 */ 7839 int32_t OH_ArkUI_NodeAdapter_ReloadItem( 7840 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7841 7842 /** 7843 * @brief Instructs the specified adapter to remove certain elements. 7844 * 7845 * @param handle Indicates the target component adapter. 7846 * @param startPosition Indicates the start position of the elements to remove. 7847 * @param itemCount Indicates the number of the elements to remove. 7848 * @return Returns the error code. 7849 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7850 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7851 * @since 12 7852 */ 7853 int32_t OH_ArkUI_NodeAdapter_RemoveItem( 7854 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7855 7856 /** 7857 * @brief Instructs the specified adapter to insert certain elements. 7858 * 7859 * @param handle Indicates the target component adapter. 7860 * @param startPosition Indicates the start position of the elements to insert. 7861 * @param itemCount Indicates the number of the elements to insert. 7862 * @return Returns the error code. 7863 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7864 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7865 * @since 12 7866 */ 7867 int32_t OH_ArkUI_NodeAdapter_InsertItem( 7868 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7869 7870 /** 7871 * @brief Instructs the specified adapter to move certain elements. 7872 * 7873 * @param handle Indicates the target component adapter. 7874 * @param from Indicates the start position of the elements to move. 7875 * @param to Indicates the end position of the elements to move. 7876 * @return Returns the error code. 7877 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7878 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7879 * @since 12 7880 */ 7881 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 7882 7883 /** 7884 * @brief Obtains all elements stored in the specified adapter. 7885 * 7886 * This API returns the pointer to the array of the elements. You need to manually release the memory data 7887 * to which the pointer points. 7888 * 7889 * @param handle Indicates the target component adapter. 7890 * @param items Indicates the pointer to the array of the elements in the adapter. 7891 * @param size Indicates the number of elements. 7892 * @return Returns the error code. 7893 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7894 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7895 * @since 12 7896 */ 7897 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 7898 7899 /** 7900 * @brief Obtains the custom data passed in during registration of the specified event. 7901 * 7902 * @param event Indicates the target adapter event. 7903 * @since 12 7904 */ 7905 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 7906 7907 /** 7908 * @brief Obtains the event type. 7909 * 7910 * @param event Indicates the target adapter event. 7911 * @return Returns the event type. 7912 * @since 12 7913 */ 7914 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 7915 7916 /** 7917 * @brief Obtains the element to be removed for the event to be destroyed. 7918 * 7919 * @param event Indicates the target adapter event. 7920 * @return Returns the element to be removed. 7921 * @since 12 7922 */ 7923 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 7924 7925 /** 7926 * @brief Obtains the index of the element to be operated for the specified adapter event. 7927 * 7928 * @param event Indicates the target adapter event. 7929 * @return Returns the index of the element. 7930 * @since 12 7931 */ 7932 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 7933 7934 /** 7935 * @brief Obtains the scrollable container node that uses the specified adapter. 7936 * 7937 * @param event Indicates the target adapter event. 7938 * @return Returns the scrollable container node that uses the specified adapter. 7939 * @since 12 7940 */ 7941 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 7942 7943 /** 7944 * @brief Sets the component to be added to the specified adapter. 7945 * 7946 * @param event Indicates the target adapter event. 7947 * @param node Indicates the component to be added. 7948 * @return Returns the error code. 7949 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7950 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7951 * @since 12 7952 */ 7953 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 7954 7955 /** 7956 * @brief Sets the component ID to be generated. 7957 * 7958 * @param event Indicates the target adapter event. 7959 * @param id Indicates the component ID to set. 7960 * @return Returns the error code. 7961 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7962 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7963 * @since 12 7964 */ 7965 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 7966 7967 /** 7968 * @brief Declares a collection of native node APIs provided by ArkUI. 7969 * 7970 * The APIs related to the native node must be called in the main thread. 7971 * 7972 * @version 1 7973 * @since 12 7974 */ 7975 typedef struct { 7976 /** Struct version. */ 7977 int32_t version; 7978 7979 /** 7980 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 7981 * 7982 * @param type Indicates the type of component to create. 7983 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 7984 */ 7985 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 7986 7987 /** 7988 * @brief Destroys the component to which the specified pointer points. 7989 * 7990 * @param node Indicates the pointer. 7991 */ 7992 void (*disposeNode)(ArkUI_NodeHandle node); 7993 7994 /** 7995 * @brief Adds a component to a parent node. 7996 * 7997 * @param parent Indicates the pointer to the parent node. 7998 * @param child Indicates the pointer to the child node. 7999 * @return Returns the error code. 8000 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8001 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8002 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8003 * on BuilderNode generated nodes: 8004 * setting or resetting attributes, setting events, or adding or editing subnodes. 8005 */ 8006 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8007 8008 /** 8009 * @brief Removes a component from its parent node. 8010 * 8011 * @param parent Indicates the pointer to the parent node. 8012 * @param child Indicates the pointer to the child node. 8013 * @return Returns the error code. 8014 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8015 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8016 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8017 * on BuilderNode generated nodes: 8018 * setting or resetting attributes, setting events, or adding or editing subnodes. 8019 */ 8020 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8021 8022 /** 8023 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 8024 * 8025 * @param parent Indicates the pointer to the parent node. 8026 * @param child Indicates the pointer to the child node. 8027 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 8028 * If the value is null, the node is inserted at the start of the parent node. 8029 * @return Returns the error code. 8030 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8031 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8032 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8033 * on BuilderNode generated nodes: 8034 * setting or resetting attributes, setting events, or adding or editing subnodes. 8035 */ 8036 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8037 8038 /** 8039 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 8040 * 8041 * @param parent Indicates the pointer to the parent node. 8042 * @param child Indicates the pointer to the child node. 8043 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 8044 * If the value is null, the node is inserted at the end of the parent node. 8045 * @return Returns the error code. 8046 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8047 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8048 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8049 * on BuilderNode generated nodes: 8050 * setting or resetting attributes, setting events, or adding or editing subnodes. 8051 */ 8052 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8053 8054 /** 8055 * @brief Inserts a component to the specified position in a parent node. 8056 * 8057 * @param parent Indicates the pointer to the parent node. 8058 * @param child Indicates the pointer to the child node. 8059 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 8060 * negative number or invalid, the node is inserted at the end of the parent node. 8061 * @return Returns the error code. 8062 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8063 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8064 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8065 * on BuilderNode generated nodes: 8066 * setting or resetting attributes, setting events, or adding or editing subnodes. 8067 */ 8068 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 8069 8070 /** 8071 * @brief Sets the attribute of a node. 8072 * 8073 * @param node Indicates the node whose attribute needs to be set. 8074 * @param attribute Indicates the type of attribute to set. 8075 * @param value Indicates the attribute value. 8076 * @return Returns the error code. 8077 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8078 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8079 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8080 * of the native API was not found. 8081 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8082 * on BuilderNode generated nodes: 8083 * setting or resetting attributes, setting events, or adding or editing subnodes. 8084 */ 8085 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 8086 8087 /** 8088 * @brief Obtains an attribute. 8089 * 8090 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 8091 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 8092 * time. Otherwise, the pointer may be overwritten by other values. 8093 * @param node Indicates the node whose attribute needs to be obtained. 8094 * @param attribute Indicates the type of attribute to obtain. 8095 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 8096 */ 8097 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8098 8099 /** 8100 * @brief Resets an attribute. 8101 * 8102 * @param node Indicates the node whose attribute needs to be reset. 8103 * @param attribute Indicates the type of attribute to reset. 8104 * @return Returns the error code. 8105 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8106 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8107 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8108 * of the native API was not found. 8109 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8110 * on BuilderNode generated nodes: 8111 * setting or resetting attributes, setting events, or adding or editing subnodes. 8112 */ 8113 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8114 8115 /** 8116 * @brief Registers an event for the specified node. 8117 * 8118 * When the component is being displayed, this API must be called in the main thread. 8119 * 8120 * @param node Indicates the target node. 8121 * @param eventType Indicates the type of event to register. 8122 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 8123 * when the event is triggered. 8124 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 8125 * @return Returns the error code. 8126 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8127 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8128 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8129 * of the native API was not found. 8130 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8131 * on BuilderNode generated nodes: 8132 * setting or resetting attributes, setting events, or adding or editing subnodes. 8133 */ 8134 int32_t (*registerNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, 8135 int32_t targetId, void* userData); 8136 8137 /** 8138 * @brief Unregisters an event for the specified node. 8139 * 8140 * When the component is being displayed, this API must be called in the main thread. 8141 * 8142 * @param node Indicates the target node. 8143 * @param eventType Indicates the type of event to unregister. 8144 */ 8145 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 8146 8147 /** 8148 * @brief Registers an event receiver. 8149 * 8150 * The ArkUI framework collects component events generated during the process and calls back the events through 8151 * the registered event receiver. \n 8152 * A new call to this API will overwrite the previously registered event receiver. \n 8153 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the 8154 * callback is complete. \n 8155 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 8156 * 8157 * @param eventReceiver Indicates the event receiver to register. 8158 */ 8159 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 8160 8161 /** 8162 * @brief Unregisters the event receiver. 8163 * 8164 */ 8165 void (*unregisterNodeEventReceiver)(); 8166 8167 /** 8168 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 8169 * 8170 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 8171 * measuring, layout, or rendering again. In this case, you do not need to call this API. 8172 * @param node Indicates the node for which you want to mark as dirty area. 8173 * @param dirtyFlag Indicates type of dirty area. 8174 */ 8175 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 8176 8177 /** 8178 * @brief Obtains the number of subnodes. 8179 * 8180 * @param node Indicates the target node. 8181 * @return the number of subnodes. If not, returns 0. 8182 */ 8183 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 8184 8185 /** 8186 * @brief Obtains a subnode. 8187 * 8188 * @param node Indicates the target node. 8189 * @param position Indicates the position of the subnode. 8190 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8191 */ 8192 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 8193 8194 /** 8195 * @brief Obtains the first subnode. 8196 * 8197 * @param node Indicates the target node. 8198 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8199 */ 8200 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 8201 8202 /** 8203 * @brief Obtains the last subnode. 8204 * 8205 * @param node Indicates the target node. 8206 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8207 */ 8208 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 8209 8210 /** 8211 * @brief Obtains the previous sibling node. 8212 * 8213 * @param node Indicates the target node. 8214 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8215 */ 8216 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 8217 8218 /** 8219 * @brief Obtains the next sibling node. 8220 * 8221 * @param node Indicates the target node. 8222 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8223 */ 8224 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 8225 8226 /** 8227 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 8228 * point function registered by <b>registerNodeCustomEventReceiver</b>. 8229 * 8230 * @param node Indicates the target node. 8231 * @param eventType Indicates the type of event to register. 8232 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 8233 * when the event is triggered. 8234 * @param userData Indicates the custom event parameter, which is passed in the callback of 8235 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 8236 * @return Returns the error code. 8237 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8238 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8239 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8240 * of the native API was not found. 8241 */ 8242 int32_t (*registerNodeCustomEvent)( 8243 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 8244 8245 /** 8246 * @brief Unregisters a custom event for a node. 8247 * 8248 * @param node Indicates the target node. 8249 * @param eventType Indicates the type of event to unregister. 8250 */ 8251 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 8252 8253 /** 8254 * @brief Registers a unified entry point function for custom node event callbacks. 8255 * 8256 * The ArkUI framework collects custom component events generated during the process and calls back the events 8257 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 8258 * A new call to this API will overwrite the previously registered event receiver. 8259 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 8260 * The data will be destroyed after the callback is complete. \n 8261 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 8262 * 8263 * @param eventReceiver Indicates the event receiver to register. 8264 */ 8265 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8266 8267 /** 8268 * @brief Unregisters the unified entry point function for custom node event callbacks. 8269 * 8270 */ 8271 void (*unregisterNodeCustomEventReceiver)(); 8272 8273 /** 8274 * @brief Sets the width and height for a component after the measurement. 8275 * 8276 * @param node Indicates the target node. 8277 * @param width Indicates the width. 8278 * @param height Indicates the height. 8279 * @return Returns the error code. 8280 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8281 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8282 */ 8283 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 8284 8285 /** 8286 * @brief Sets the position for a component. 8287 * 8288 * @param node Indicates the target node. 8289 * @param positionX Indicates the X coordinate. 8290 * @param positionY Indicates the Y coordinate. 8291 * @return Returns the error code. 8292 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8293 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8294 */ 8295 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 8296 8297 /** 8298 * @brief Obtains the width and height of a component after measurement. 8299 * 8300 * @param node Indicates the target node. 8301 * @return Returns the width and height of the component. 8302 */ 8303 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 8304 8305 /** 8306 * @brief Obtains the position of a component after the layout is complete. 8307 * 8308 * @param node Indicates the target node. 8309 * @return Returns the position of the component. 8310 */ 8311 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 8312 8313 /** 8314 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 8315 * 8316 * @param node Indicates the target node. 8317 * @param Constraint Indicates the size constraint. 8318 * @return Returns the error code. 8319 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8320 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8321 */ 8322 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 8323 8324 /** 8325 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 8326 * 8327 * When the component is being displayed, this API must be called in the main thread. 8328 * 8329 * @param node Indicates the target node. 8330 * @param positionX Indicates the X coordinate. 8331 * @param positionY Indicates the Y coordinate. 8332 * @return Returns the error code. 8333 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8334 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8335 */ 8336 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 8337 8338 /** 8339 * @brief Adds a component event callback function to a component to receive component events generated 8340 * by the component. 8341 * 8342 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 8343 * receivers to be added to the same component. \n 8344 * The callback added by this API is triggered before the global callback registered by 8345 * <b>registerNodeEventReceiver</b>. \n 8346 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 8347 * The data will be destroyed after the callback is complete. \n 8348 * 8349 * @param node Indicates the component for which you want to add the event callback function. 8350 * @param eventReceiver Indicates the component event callback function to add. 8351 * @return Returns the error code. 8352 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8353 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8354 */ 8355 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 8356 8357 /** 8358 * @brief Removes the registered component event callback function from a component. 8359 * 8360 * @param node Indicates the component from which you want to remove the event callback function. 8361 * @param eventReceiver Indicates the component event callback function to remove. 8362 * @return Returns the error code. 8363 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8364 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8365 */ 8366 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 8367 8368 /** 8369 * @brief Adds a custom event callback function to a component to receive custom events 8370 * (such as layout and drawing events) generated by the component. 8371 * 8372 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 8373 * multiple event receivers to be added to the same component. \n 8374 * The callback added by this API is triggered before the global callback registered by 8375 * <b>registerNodeCustomEventReceiver</b>. \n 8376 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 8377 * The data will be destroyed after the callback is complete. \n 8378 * 8379 * @param node Indicates the component for which you want to add the custom event callback function. 8380 * @param eventReceiver Indicates the custom event callback function to add. 8381 * @return Returns the error code. 8382 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8383 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8384 */ 8385 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8386 8387 /** 8388 * @brief Removes a registered custom event callback function from a component. 8389 * 8390 * @param node Indicates the component from which you want to remove the custom event callback function. 8391 * @param eventReceiver Indicates the custom event callback function to remove. 8392 * @return Returns the error code. 8393 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8394 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8395 */ 8396 int32_t (*removeNodeCustomEventReceiver)(ArkUI_NodeHandle node, 8397 void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8398 8399 /** 8400 * @brief Saves custom data on the specified component. 8401 * 8402 * @param node Indicates the component on which the custom data will be saved. 8403 * @param userData Indicates the custom data to be saved. 8404 * @return Returns the error code. 8405 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8406 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 8407 */ 8408 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 8409 8410 /** 8411 * @brief Obtains the custom data saved on the specified component. 8412 * 8413 * @param node Indicates the target component. 8414 * @return Returns the custom data. 8415 */ 8416 void* (*getUserData)(ArkUI_NodeHandle node); 8417 8418 /** 8419 * @brief Sets the unit for a component. 8420 * 8421 * @param node Indicates the component for which you want to set the unit. 8422 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 8423 * The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>. 8424 * @return Returns the error code. 8425 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8426 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8427 */ 8428 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 8429 8430 /** 8431 * @brief Get the parent node. 8432 * 8433 * @param node target node object. 8434 * @return Returns the pointer of the component, if not return NULL 8435 */ 8436 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 8437 8438 /** 8439 * @brief Uninstall all child nodes from the parent component. 8440 * 8441 * @param parent target node object. 8442 * @return Returns the error code. 8443 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8444 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8445 * @since 12 8446 */ 8447 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 8448 } ArkUI_NativeNodeAPI_1; 8449 8450 /** 8451 * @brief Obtains the size constraint for measurement through a custom component event. 8452 * 8453 * @param event Indicates the pointer to the custom component event. 8454 * @return Returns the pointer to the size constraint. 8455 * @since 12 8456 */ 8457 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 8458 8459 /** 8460 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 8461 * custom component event. 8462 * 8463 * @param event Indicates the pointer to the custom component event. 8464 * @return Returns the expected position relative to the parent component. 8465 * @since 12 8466 */ 8467 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 8468 8469 /** 8470 * @brief Obtains the drawing context through a custom component event. 8471 * 8472 * @param event Indicates the pointer to the custom component event. 8473 * @return Returns the drawing context. 8474 * @since 12 8475 */ 8476 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 8477 8478 /** 8479 * @brief Obtains the ID of a custom component event. 8480 * 8481 * @param event Indicates the pointer to the custom component event. 8482 * @return Returns the ID of the custom component event. 8483 * @since 12 8484 */ 8485 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 8486 8487 /** 8488 * @brief Obtains custom event parameters through a custom component event. 8489 * 8490 * @param event Indicates the pointer to the custom component event. 8491 * @return Returns the custom event parameters. 8492 * @since 12 8493 */ 8494 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 8495 8496 /** 8497 * @brief Obtains a component object through a custom component event. 8498 * 8499 * @param event Indicates the pointer to the custom component event. 8500 * @return Returns the component object. 8501 * @since 12 8502 */ 8503 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 8504 8505 /** 8506 * @brief Obtains the event type through a custom component event. 8507 * 8508 * @param event Indicates the pointer to the custom component event. 8509 * @return Returns the type of the custom component event. 8510 * @since 12 8511 */ 8512 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 8513 8514 /** 8515 * @brief Obtains the measurement information of a custom span through a custom component event. 8516 * 8517 * @param event Indicates the pointer to the custom component event. 8518 * @param info Indicates the measurement information to be obtained. 8519 * @return Returns the result code. 8520 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8521 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8522 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8523 * @since 12 8524 */ 8525 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 8526 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 8527 8528 /** 8529 * @brief Sets the measurement metrics of a custom span through a custom component event. 8530 * 8531 * @param event Indicates the pointer to the custom component event. 8532 * @param metrics Indicates the measurement metrics to set. 8533 * @return Returns the result code. 8534 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8535 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8536 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8537 * @since 12 8538 */ 8539 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 8540 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 8541 8542 /** 8543 * @brief Obtains the drawing information of a custom span through a custom component event. 8544 * 8545 * @param event Indicates the pointer to the custom component event. 8546 * @param info Indicates the drawing information to obtain. 8547 * @return Returns the result code. 8548 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8549 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8550 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8551 * @since 12 8552 */ 8553 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 8554 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 8555 8556 /** 8557 * @brief Defines the node content event type. 8558 * 8559 * @since 12 8560 */ 8561 typedef enum { 8562 /** Defines the attach event. */ 8563 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 8564 /** Defines the detach event. */ 8565 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 8566 } ArkUI_NodeContentEventType; 8567 8568 /** 8569 * @brief Enumerates the inspector error codes. 8570 * @since 15 8571 */ 8572 typedef enum { 8573 /** 8574 * @error Success. 8575 */ 8576 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 8577 /** 8578 * @error Invalid parameter. 8579 */ 8580 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 8581 } ArkUI_InspectorErrorCode; 8582 8583 /** 8584 * @brief Defines the general structure of a node content event. 8585 * @since 12 8586 */ 8587 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 8588 8589 /** 8590 * @brief Defines the callback function of a node content event. 8591 * @since 12 8592 */ 8593 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 8594 8595 /** 8596 * @brief register a callback function to a node content. 8597 * 8598 * @param content Indicates the pointer to the node content instance. 8599 * @param callback Indicates the callback function. 8600 * @return Returns the error code. 8601 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8602 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8603 * @since 12 8604 */ 8605 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 8606 8607 /** 8608 * @brief Obtains the type of a node content event. 8609 * 8610 * @param event Indicates the pointer to the node content event. 8611 * @return Returns the type of the node content event. 8612 * @since 12 8613 */ 8614 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 8615 8616 /** 8617 * @brief Obtains the node content object that triggers a node content event. 8618 * 8619 * @param event Indicates the pointer to the node content event. 8620 * @return Returns the node content object that triggers the node content event. 8621 * @since 12 8622 */ 8623 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 8624 8625 /** 8626 * @brief Saves custom data on the specified node content. 8627 * 8628 * @param content Indicates the node content on which the custom data will be saved. 8629 * @param userData Indicates the custom data to be saved. 8630 * @return Returns the error code. 8631 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8632 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8633 * @since 12 8634 */ 8635 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 8636 8637 /** 8638 * @brief Obtains the custom data saved on the specified node content. 8639 * 8640 * @param content Indicates the target node content. 8641 * @return Returns the custom data. 8642 * @since 12 8643 */ 8644 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 8645 8646 /** 8647 * @brief Add a node to a node content. 8648 * 8649 * @param content Indicates the pointer to the node content instance. 8650 * @param node Indicates the pointer to the node 8651 * @return Returns the error code. 8652 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8653 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8654 * @since 12 8655 */ 8656 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8657 8658 /** 8659 * @brief remove a node from a node content. 8660 * 8661 * @param content Indicates the pointer to the node content instance. 8662 * @param node Indicates the pointer to the node 8663 * @return Returns the error code. 8664 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8665 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8666 * @since 12 8667 */ 8668 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8669 8670 /** 8671 * @brief insert a node into a node content at a given position. 8672 * 8673 * @param content Indicates the pointer to the node content instance. 8674 * @param node Indicates the pointer to the node 8675 * @param position Indicates the position for inserting the node 8676 * @return Returns the error code. 8677 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8678 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8679 * @since 12 8680 */ 8681 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 8682 8683 /** 8684 * @brief Get the size of the component layout area. 8685 * The layout area size does not include graphic variation attributes such as scaling. 8686 * 8687 * @param node ArkUI_NodeHandle pointer. 8688 * @param size The drawing area size of the component handle, in px. 8689 * @return Returns the error code. 8690 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8691 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8692 * @since 12 8693 */ 8694 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 8695 8696 /** 8697 * @brief Obtain the position of the component layout area relative to the parent component. 8698 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8699 * 8700 * @param node ArkUI_NodeHandle pointer. 8701 * @param localOffset The offset value of the component handle relative to the parent component, in px. 8702 * @return Returns the error code. 8703 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8704 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8705 * @since 12 8706 */ 8707 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 8708 8709 /** 8710 * @brief Obtain the position of the component layout area relative to the window. 8711 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8712 * 8713 * @param node ArkUI_NodeHandle pointer. 8714 * @param globalOffset The offset value of the component handle relative to the window, in px. 8715 * @return Returns the error code. 8716 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8717 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8718 * @since 12 8719 */ 8720 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 8721 8722 /** 8723 * @brief Obtain the position of the component layout area relative to the screen. 8724 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8725 * 8726 * @param node ArkUI_NodeHandle pointer. 8727 * @param screenOffset The offset value of the component handle relative to the screen, in px. 8728 * @return Returns the error code. 8729 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8730 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8731 * @since 12 8732 */ 8733 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 8734 8735 /** 8736 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 8737 * 8738 * @param node ArkUI_NodeHandle pointer. 8739 * @param translateOffset The cumulative offset value of the component handle itself, 8740 * parent components, and ancestor nodes, in px. 8741 * @return Returns the error code. 8742 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8743 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8744 * @since 12 8745 */ 8746 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8747 8748 /** 8749 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 8750 * 8751 * @param node ArkUI_NodeHandle pointer. 8752 * @param translateOffset The cumulative offset value of the component handle itself, 8753 * parent components, and ancestor nodes, in px. 8754 * @return Returns the error code. 8755 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8756 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8757 * @since 12 8758 */ 8759 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8760 8761 /** 8762 * @brief Add the custom property of the component. This interface only works on the main thread. 8763 * 8764 * @param node ArkUI_NodeHandle pointer. 8765 * @param name The name of the custom property. Passing null pointers is not allowed. 8766 * @param value The value of the custom property. Passing null pointers is not allowed. 8767 * @since 13 8768 */ 8769 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 8770 8771 /** 8772 * @brief Remove the custom property of the component. 8773 * 8774 * @param node ArkUI_NodeHandle pointer. 8775 * @param name The name of the custom property. 8776 * @since 13 8777 */ 8778 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 8779 8780 /** 8781 * @brief Get the value of the custom property of the component. 8782 * 8783 * @param node ArkUI-NodeHandle pointer. 8784 * @param name The name of the custom attribute. 8785 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 8786 * @return Error code. 8787 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8788 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8789 * @since 14 8790 */ 8791 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 8792 8793 /** 8794 * @brief Get the parent node to obtain the component nodes created by ArkTs. 8795 * 8796 * @param node Target node object. 8797 * @return Return the pointer of the component. 8798 * @since 14 8799 */ 8800 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 8801 8802 /** 8803 * @brief Retrieve all active child nodes of a node. Span will not be counted in the children. 8804 * 8805 * @param head Pass in the node that needs to be obtained. 8806 * @param handle The structure corresponding to the sub node information of the head node. 8807 * @return Error code. 8808 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8809 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8810 * @since 14 8811 */ 8812 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 8813 8814 /** 8815 * @brief Retrieve the root node of the current page. 8816 * 8817 * @param node Target node object. 8818 * @return Return the pointer of the component. 8819 * @since 14 8820 */ 8821 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 8822 8823 /** 8824 * @brief Retrieve whether the component is labeled by C-API. 8825 * 8826 * @param node Target node object. 8827 * @return Return whether the node is a Tag created by C-API, 8828 * true represents created by C-API, false represents not created by C-API. 8829 * @since 14 8830 */ 8831 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 8832 8833 /** 8834 * @brief Get the type of node. 8835 * 8836 * @param node Target node object. 8837 * @return Return the type of the node. 8838 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 8839 * @since 14 8840 */ 8841 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 8842 8843 /** 8844 * @brief Get info of the window to which the node belongs. 8845 * 8846 * @param node Target node object. 8847 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 8848 * @return Error code. 8849 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8850 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8851 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 8852 * @since 15 8853 */ 8854 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 8855 8856 /** 8857 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 8858 * 8859 * @param node Indicates the target node. 8860 * @param index The index of the subnode. 8861 * @return Error code. 8862 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8863 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8864 * @since 15 8865 */ 8866 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8867 8868 /** 8869 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 8870 * 8871 * @param node Indicates the target node. 8872 * @param index the index of the subnode. 8873 * @return Error code. 8874 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8875 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8876 * @since 15 8877 */ 8878 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8879 8880 /** 8881 * @brief Obtains a subnode by position with the expand mode. 8882 * 8883 * @param node Indicates the target node. 8884 * @param position Indicates the position of the subnode. 8885 * @param subnode The pointer to the subnode. 8886 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 8887 * @return Error code. 8888 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8889 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8890 * @since 15 8891 */ 8892 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 8893 ArkUI_NodeHandle* subnode, uint32_t expandMode); 8894 8895 /** 8896 * @brief Collapse the ListItem in its expanded state. 8897 * 8898 * @param node Node objects that need to be registered for events. 8899 * @param userData Custom event parameters are carried back in the callback parameter when the event is triggered. 8900 * @param onFinish The callback triggered after the completion of the folding animation. 8901 * @return Error code. 8902 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8903 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8904 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8905 * @since 12 8906 */ 8907 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 8908 8909 /** 8910 * @brief Obtain the UIContext pointer to the page where the node is located. 8911 * 8912 * @param node The node. 8913 * @return The UIContext pointer. 8914 * If a null pointer is returned, it may be because the node is empty. 8915 * @since 12 8916 */ 8917 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 8918 8919 /** 8920 * @brief The event called when the system color mode changes. 8921 * Only one system color change callback can be registered for the same component. 8922 * 8923 * @param node Indicates the target node. 8924 * @param userData Indicates the custom data to be saved. 8925 * @param onColorModeChange Callback Events. 8926 * @return Error code. 8927 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8928 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8929 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8930 * @since 12 8931 */ 8932 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node, 8933 void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 8934 8935 /** 8936 * @brief Unregister the event callback when the system color mode changes. 8937 * 8938 * @param node Indicates the target node. 8939 * @since 12 8940 */ 8941 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 8942 8943 /** 8944 * @brief The event called when the system font style changes. 8945 * Only one system font change callback can be registered for the same component. 8946 * 8947 * @param node Indicates the target node. 8948 * @param userData Indicates the custom data to be saved. 8949 * @param onFontStyleChange Callback Events. 8950 * @return Error code. 8951 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8952 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8953 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8954 * @since 12 8955 */ 8956 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, 8957 void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 8958 8959 /** 8960 * @brief Unregister the event callback when the system font style changes. 8961 * 8962 * @param node Indicates the target node. 8963 * @since 12 8964 */ 8965 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 8966 8967 /** 8968 * @brief Retrieve the font size value for system font change events. 8969 * 8970 * @param event Indicates a pointer to the current system font change event. 8971 * @return Updated system font size scaling factor. Default value: 1.0. 8972 * @since 12 8973 */ 8974 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 8975 8976 /** 8977 * @brief Retrieve the font thickness values for system font change events. 8978 * 8979 * @param event Indicates a pointer to the current system font change event. 8980 * @return The updated system font thickness scaling factor. Default value: 1.0. 8981 * @since 12 8982 */ 8983 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 8984 8985 /** 8986 * @brief Move the node handle to target parent node as child. 8987 * 8988 * @param node The node handle of the node to move. 8989 * @param target_parent The node handle of target parent. 8990 * @param index Indicates the index which the node is moved to. If the value is a nagative number of invalid, the 8991 * node is moved to the end of the target parent node. 8992 * @return Error code. 8993 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8994 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8995 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 8996 * @since 18 8997 */ 8998 int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index); 8999 9000 /** 9001 * @brief Set the cross-language option of the target node handle. 9002 * 9003 * @param node The target node handle. 9004 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9005 * @return Error code. 9006 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9007 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9008 * @since 15 9009 */ 9010 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9011 9012 /** 9013 * @brief Get the cross-language option of the target node handle. 9014 * 9015 * @param node The target node handle. 9016 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9017 * @return Error code. 9018 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9019 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9020 * @since 15 9021 */ 9022 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9023 9024 /** 9025 * @brief Registers a callback for node when layout is completed. 9026 * 9027 * @param node Indicates the target node. 9028 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 9029 * @param onLayoutCompleted Indicates the function when layout completed is callback. 9030 * @return error code 9031 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9032 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9033 * @since 15 9034 */ 9035 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 9036 void* userData, void (*onLayoutCompleted)(void* userData)); 9037 9038 9039 /** 9040 * @brief Registers a callback for node when draw is completed. 9041 * 9042 * @param node Indicates the target node. 9043 * @param userData Indicates the custom data used in onDrawCompleted callback function. 9044 * @param onDrawCompleted Indicates the function when draw completed is callback. 9045 * @return error code 9046 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9047 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9048 * @since 15 9049 */ 9050 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 9051 void* userData, void (*onDrawCompleted)(void* userData)); 9052 9053 /** 9054 * @brief Unregisters the layout completed callback for node. 9055 * 9056 * @param node Indicates the target node. 9057 * @return error code 9058 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9059 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9060 * @since 15 9061 */ 9062 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 9063 9064 /** 9065 * @brief Unregisters the draw completed callback for node. 9066 * 9067 * @param node Indicates the target node. 9068 * @return error code 9069 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9070 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9071 * @since 15 9072 */ 9073 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 9074 9075 /** 9076 * @brief Get the node handle by id. 9077 * 9078 * @param id The id of the target node handle. 9079 * @param node The handle of target node handle. 9080 * @return Error code. 9081 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9082 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9083 * @since 15 9084 */ 9085 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 9086 9087 /** 9088 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 9089 * tree or is not rendered yet. 9090 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 9091 * 9092 * @param node Indicates the target node. 9093 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 9094 * @param pixelmap Pixelmap pointer created by system, it's the out result. 9095 * @return Returns the result code. 9096 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9097 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9098 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 9099 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 9100 * @since 15 9101 */ 9102 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 9103 OH_PixelmapNative** pixelmap); 9104 9105 /** 9106 * @brief Obtains the offset of a specific node relative to its parent node. 9107 * 9108 * @param node Target node. 9109 * @param globalOffset Offset of the target node relative to its parent node, in px. 9110 * @return Returns the result code. 9111 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9112 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9113 * @since 15 9114 */ 9115 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9116 9117 #ifdef __cplusplus 9118 }; 9119 #endif 9120 9121 #endif // ARKUI_NATIVE_NODE_H 9122 /** @} */ 9123