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 #include <cstdint> 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 #define MAX_NODE_SCOPE_NUM 1000 49 50 /** 51 * @brief Enumerates ArkUI component types that can be created on the native side. 52 * 53 * @since 12 54 */ 55 typedef enum { 56 /** Custom node. */ 57 ARKUI_NODE_CUSTOM = 0, 58 /** Text. */ 59 ARKUI_NODE_TEXT = 1, 60 /** Text span. */ 61 ARKUI_NODE_SPAN = 2, 62 /** Image span. */ 63 ARKUI_NODE_IMAGE_SPAN = 3, 64 /** Image. */ 65 ARKUI_NODE_IMAGE = 4, 66 /** Toggle. */ 67 ARKUI_NODE_TOGGLE = 5, 68 /** Loading icon. */ 69 ARKUI_NODE_LOADING_PROGRESS = 6, 70 /** Single-line text input. */ 71 ARKUI_NODE_TEXT_INPUT = 7, 72 /** Multi-line text input. */ 73 ARKUI_NODE_TEXT_AREA = 8, 74 /** Button. */ 75 ARKUI_NODE_BUTTON = 9, 76 /** Progress indicator. */ 77 ARKUI_NODE_PROGRESS = 10, 78 /** Check box. */ 79 ARKUI_NODE_CHECKBOX = 11, 80 /** XComponent. */ 81 ARKUI_NODE_XCOMPONENT = 12, 82 /** Date picker. */ 83 ARKUI_NODE_DATE_PICKER = 13, 84 /** Time picker. */ 85 ARKUI_NODE_TIME_PICKER = 14, 86 /** Text picker. */ 87 ARKUI_NODE_TEXT_PICKER = 15, 88 /** Calendar picker. */ 89 ARKUI_NODE_CALENDAR_PICKER = 16, 90 /** Slider. */ 91 ARKUI_NODE_SLIDER = 17, 92 /** Radio */ 93 ARKUI_NODE_RADIO = 18, 94 /** Image animator. */ 95 ARKUI_NODE_IMAGE_ANIMATOR = 19, 96 /** Check box group. 97 * @since 15 98 */ 99 ARKUI_NODE_CHECKBOX_GROUP = 21, 100 /** Stack container. */ 101 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 102 /** Swiper. */ 103 ARKUI_NODE_SWIPER, 104 /** Scrolling container. */ 105 ARKUI_NODE_SCROLL, 106 /** List. */ 107 ARKUI_NODE_LIST, 108 /** List item. */ 109 ARKUI_NODE_LIST_ITEM, 110 /** List item group. */ 111 ARKUI_NODE_LIST_ITEM_GROUP, 112 /** Column container. */ 113 ARKUI_NODE_COLUMN, 114 /** Row container. */ 115 ARKUI_NODE_ROW, 116 /** Flex container. */ 117 ARKUI_NODE_FLEX, 118 /** Refresh component. */ 119 ARKUI_NODE_REFRESH, 120 /** Water flow container. */ 121 ARKUI_NODE_WATER_FLOW, 122 /** Water flow item. */ 123 ARKUI_NODE_FLOW_ITEM, 124 /** Relative layout component. */ 125 ARKUI_NODE_RELATIVE_CONTAINER, 126 /** Grid. */ 127 ARKUI_NODE_GRID, 128 /** Grid item. */ 129 ARKUI_NODE_GRID_ITEM, 130 /** Custom span. */ 131 ARKUI_NODE_CUSTOM_SPAN, 132 } ArkUI_NodeType; 133 134 /** 135 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 136 * 137 * @since 12 138 */ 139 typedef struct { 140 /** Numeric array. */ 141 const ArkUI_NumberValue* value; 142 /** Size of the numeric array. */ 143 int32_t size; 144 /** String type. */ 145 const char* string; 146 /** Object type. */ 147 void* object; 148 } ArkUI_AttributeItem; 149 150 /** 151 * @brief Defines the ArkUI style attributes that can be set on the native side. 152 * 153 * @since 12 154 */ 155 typedef enum { 156 /** 157 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 158 * 159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 160 * .value[0].f32: width, in vp.\n 161 * \n 162 * Format of the return value {@link ArkUI_AttributeItem}:\n 163 * .value[0].f32: width, in vp.\n 164 * 165 */ 166 NODE_WIDTH = 0, 167 /** 168 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 169 * 170 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 171 * .value[0].f32: height, in vp.\n 172 * \n 173 * Format of the return value {@link ArkUI_AttributeItem}:\n 174 * .value[0].f32: height, in vp.\n 175 * 176 */ 177 NODE_HEIGHT, 178 /** 179 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 180 * 181 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 182 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 183 * \n 184 * Format of the return value {@link ArkUI_AttributeItem}:\n 185 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 186 * 187 */ 188 NODE_BACKGROUND_COLOR, 189 /** 190 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 191 * 192 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 193 * .string: image address;\n 194 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 195 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 196 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 197 * \n 198 * Format of the return value {@link ArkUI_AttributeItem}:\n 199 * .string: image address;\n 200 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 201 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 202 * 203 */ 204 NODE_BACKGROUND_IMAGE, 205 /** 206 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 207 * 208 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 209 * 1: Specify the same padding for the four directions. \n 210 * .value[0].f32: padding, in vp.\n 211 * 2: Specify different paddings for different directions. \n 212 * .value[0].f32: top padding, in vp.\n 213 * .value[1].f32: right padding, in vp.\n 214 * .value[2].f32: bottom padding, in vp.\n 215 * .value[3].f32: left padding, in vp.\n 216 * \n 217 * Format of the return value {@link ArkUI_AttributeItem}:\n 218 * .value[0].f32: top padding, in vp.\n 219 * .value[1].f32: right padding, in vp.\n 220 * .value[2].f32: bottom padding, in vp.\n 221 * .value[3].f32: left padding, in vp.\n 222 * 223 */ 224 NODE_PADDING, 225 /** 226 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 227 * 228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 229 * .string: component ID.\n 230 * \n 231 * Format of the return value {@link ArkUI_AttributeItem}:\n 232 * .string: component ID.\n 233 * 234 */ 235 NODE_ID, 236 /** 237 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 238 * 239 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 240 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.\n 241 * \n 242 * Format of the return value {@link ArkUI_AttributeItem}:\n 243 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite. \n 244 * 245 */ 246 NODE_ENABLED, 247 /** 248 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 249 * 250 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 251 * 1: Specify the same margin for the four directions. \n 252 * .value[0].f32: margin, in vp.\n 253 * 2: Specify different margins for different directions. \n 254 * .value[0].f32: top margin, in vp.\n 255 * .value[1].f32: right margin, in vp.\n 256 * .value[2].f32: bottom margin, in vp.\n 257 * .value[3].f32: left margin, in vp.\n 258 * \n 259 * Format of the return value {@link ArkUI_AttributeItem}:\n 260 * .value[0].f32: top margin, in vp.\n 261 * .value[1].f32: right margin, in vp.\n 262 * .value[2].f32: bottom margin, in vp.\n 263 * .value[3].f32: left margin, in vp.\n 264 * 265 */ 266 NODE_MARGIN, 267 /** 268 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 269 * 270 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 271 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 272 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 273 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 274 * \n 275 * Format of the return value {@link ArkUI_AttributeItem}:\n 276 * .value[0].f32: distance to translate along the x-axis, in vp.\n 277 * .value[1].f32: distance to translate along the y-axis, in vp.\n 278 * .value[2].f32: distance to translate along the z-axis, in vp. \n 279 * 280 */ 281 NODE_TRANSLATE, 282 /** 283 * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs. 284 * 285 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 286 * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n 287 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 288 * \n 289 * Format of the return value {@link ArkUI_AttributeItem}:\n 290 * .value[0].f32: scale factor along the x-axis.\n 291 * .value[1].f32: scale factor along the y-axis. \n 292 * 293 */ 294 NODE_SCALE, 295 /** 296 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 297 * 298 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 299 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 300 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 301 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 302 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 303 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 304 * The default value is <b>0</b>. \n 305 * \n 306 * Format of the return value {@link ArkUI_AttributeItem}:\n 307 * .value[0].f32: X coordinate of the rotation axis vector.\n 308 * .value[1].f32: Y coordinate of the rotation axis vector.\n 309 * .value[2].f32: Z coordinate of the rotation axis vector.\n 310 * .value[3].f32: rotation angle.\n 311 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 312 * 313 */ 314 NODE_ROTATE, 315 /** 316 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 317 * 318 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 319 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 320 * \n 321 * Format of the return value {@link ArkUI_AttributeItem}:\n 322 * .value[0].f32: brightness value. \n 323 * 324 */ 325 NODE_BRIGHTNESS, 326 /** 327 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 328 * 329 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 330 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50). \n 331 * \n 332 * Format of the return value {@link ArkUI_AttributeItem}: \n 333 * .value[0].f32: saturation value. \n 334 * 335 */ 336 NODE_SATURATION, 337 /** 338 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 339 * 340 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 341 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 342 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 343 * \n 344 * Format of the return value {@link ArkUI_AttributeItem}:\n 345 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 346 * the image is not blurred. The unit is vp. \n 347 * 348 */ 349 NODE_BLUR, 350 /** 351 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 352 * 353 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 354 * .value[0].f32: start angle of the linear gradient. This attribute takes effect only when 355 * {@link ArkUI_LinearGradientDirection} is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>. 356 * A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>. \n 357 * .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect. 358 * The parameter type is {@link ArkUI_LinearGradientDirection}: \n 359 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 360 * .object: array of color stops, each of which consists of a color and its stop position. 361 * Invalid colors are automatically skipped. \n 362 * colors: colors of the color stops. \n 363 * stops: stop positions of the color stops. \n 364 * size: number of colors. \n 365 * \n 366 * Format of the return value {@link ArkUI_AttributeItem}: \n 367 * .value[0].f32: start angle of the linear gradient. \n 368 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 369 * .value[2].i32: whether the colors are repeated. \n 370 * .object: array of color stops, each of which consists of a color and its stop position. 371 * Invalid colors are automatically skipped. \n 372 * colors: colors of the color stops. \n 373 * stops: stop positions of the color stops. \n 374 * size: number of colors. \n 375 * 376 */ 377 NODE_LINEAR_GRADIENT, 378 /** 379 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 380 * 381 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 382 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 383 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 384 * \n 385 * Format of the return value {@link ArkUI_AttributeItem}:\n 386 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 387 * 388 */ 389 NODE_ALIGNMENT, 390 /** 391 * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs. 392 * 393 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 394 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 395 * \n 396 * Format of the return value {@link ArkUI_AttributeItem}:\n 397 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 398 * 399 */ 400 NODE_OPACITY, 401 /** 402 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 403 * 404 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 405 * 1: .value[0].f32: width of the four borders. \n 406 * 2: .value[0].f32: width of the top border. \n 407 * .value[1].f32: width of the right border. \n 408 * .value[2].f32: width of the bottom border. \n 409 * .value[3].f32: width of the left border. \n 410 * \n 411 * Format of the return value {@link ArkUI_AttributeItem}:\n 412 * .value[0].f32: width of the top border. \n 413 * .value[1].f32: width of the right border. \n 414 * .value[2].f32: width of the bottom border. \n 415 * .value[3].f32: width of the left border. \n 416 * 417 */ 418 NODE_BORDER_WIDTH, 419 /** 420 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 421 * 422 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 423 * 1: .value[0].f32: radius of the four corners. \n 424 * 2: .value[0].f32: radius of the upper left corner. \n 425 * .value[1].f32: radius of the upper right corner. \n 426 * .value[2].f32: radius of the lower left corner. \n 427 * .value[3].f32: radius of the lower right corner. \n 428 * \n 429 * Format of the return value {@link ArkUI_AttributeItem}:\n 430 * .value[0].f32: radius of the upper left corner. \n 431 * .value[1].f32: radius of the upper right corner. \n 432 * .value[2].f32: radius of the lower left corner. \n 433 * .value[3].f32: radius of the lower right corner. \n 434 * 435 */ 436 NODE_BORDER_RADIUS, 437 /** 438 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 439 * 440 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 441 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 442 * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 443 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 444 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 445 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 446 * \n 447 * Format of the return value {@link ArkUI_AttributeItem}:\n 448 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 449 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 450 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 451 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 452 * 453 */ 454 NODE_BORDER_COLOR, 455 /** 456 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 457 * 458 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 459 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 460 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 461 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 462 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 463 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 464 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 465 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 466 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 467 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 468 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 469 * \n 470 * Format of the return value {@link ArkUI_AttributeItem}:\n 471 * .value[0].i32: line style of the top border. \n 472 * .value[1].i32: line style of the right border. \n 473 * .value[2].i32: line style of the bottom border. \n 474 * .value[3].i32: line style of the left border. \n 475 * 476 */ 477 NODE_BORDER_STYLE, 478 /** 479 * @brief Defines the z-index attribute for the stack sequence. 480 * This attribute can be set, reset, and obtained as required through APIs. 481 * 482 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 483 * .value[0].i32: z-index value. \n 484 * \n 485 * Format of the return value {@link ArkUI_AttributeItem}:\n 486 * .value[0].i32: z-index value. \n 487 * 488 */ 489 NODE_Z_INDEX, 490 /** 491 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 492 * 493 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 494 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 495 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 496 * \n 497 * Format of the return value {@link ArkUI_AttributeItem}:\n 498 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 499 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 500 * 501 */ 502 NODE_VISIBILITY, 503 /** 504 * @brief Defines the clipping and masking attribute, which can be set, reset, and obtained as required through 505 * APIs. 506 * 507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 508 * .value[0].i32: whether to clip the component based on the parent container bounds. 509 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 510 * \n 511 * Format of the return value {@link ArkUI_AttributeItem}:\n 512 * .value[0].i32: whether to clip the component based on the parent container bounds. 513 * The value <b>1</b> means to clip the component, and <b>0</b> means the opposite. \n 514 * 515 */ 516 NODE_CLIP, 517 /** 518 * @brief Defines the clipping region on the component. 519 * This attribute can be set and obtained as required through APIs. 520 * 521 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 522 * which supports five types of shapes:\n 523 * 1. Rectangle:\n 524 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 525 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 526 * .value[1].f32: width of the rectangle.\n 527 * .value[2].f32: height of rectangle.\n 528 * .value[3].f32: width of the rounded corner of the rectangle.\n 529 * .value[4].f32: height of the rounded corner of the rectangle.\n 530 * .value[5]?.f32: radius of the top left corner of the rectangular shape.\n 531 * .value[6]?.f32: radius of the bottom left corner of the rectangular shape.\n 532 * .value[7]?.f32: radius of the top right corner of the rectangular shape.\n 533 * .value[8]?.f32: radius of the bottom right corner of the rectangular shape.\n 534 * 2. Circle:\n 535 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 536 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 537 * .value[1].f32: width of the circle.\n 538 * .value[2].f32: height of the circle.\n 539 * 3.Ellipse:\n 540 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 541 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 542 * .value[1].f32: width of the ellipse.\n 543 * .value[2].f32: height of the ellipse.\n 544 * 4. Path:\n 545 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 546 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 547 * .value[1].f32: width of the path.\n 548 * .value[2].f32: height of the path.\n 549 * .string: command for drawing the path.\n 550 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 551 * 1. Rectangle:\n 552 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 553 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 554 * .value[1].f32: width of the rectangle.\n 555 * .value[2].f32: height of rectangle.\n 556 * .value[3].f32: width of the rounded corner of the rectangle.\n 557 * .value[4].f32: height of the rounded corner of the rectangle.\n 558 * .value[5].f32: radius of the top left corner of the rectangular shape; \n 559 * .value[6].f32: radius of the bottom left corner of the rectangular shape; \n 560 * .value[7].f32: radius of the top right corner of the rectangular shape; \n 561 * .value[8].f32: radius of the bottom right corner of the rectangular shape; \n 562 * 2. Circle:\n 563 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 564 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 565 * .value[1].f32: width of the circle.\n 566 * .value[2].f32: height of the circle.\n 567 * 3.Ellipse:\n 568 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 569 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 570 * .value[1].f32: width of the ellipse.\n 571 * .value[2].f32: height of the ellipse.\n 572 * 4. Path:\n 573 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 574 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 575 * .value[1].f32: width of the path.\n 576 * .value[2].f32: height of the path.\n 577 * .string: command for drawing the path.\n 578 * 579 */ 580 NODE_CLIP_SHAPE, 581 /** 582 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 583 * This attribute can be set, reset, and obtained as required through APIs. 584 * 585 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 586 * .value[0...15].f32: 16 floating-point numbers. \n 587 * \n 588 * Format of the return value {@link ArkUI_AttributeItem}:\n 589 * .value[0...15].f32: 16 floating-point numbers. \n 590 * 591 */ 592 NODE_TRANSFORM, 593 /** 594 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 595 * 596 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 597 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 598 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 599 * \n 600 * Format of the return value {@link ArkUI_AttributeItem}:\n 601 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 602 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 603 * 604 */ 605 NODE_HIT_TEST_BEHAVIOR, 606 /** 607 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 608 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 609 * 610 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 611 * .value[0].f32: X coordinate. \n 612 * .value[1].f32: Y coordinate. \n 613 * \n 614 * Format of the return value {@link ArkUI_AttributeItem}:\n 615 * .value[0].f32: X coordinate. \n 616 * .value[1].f32: Y coordinate. \n 617 * 618 */ 619 NODE_POSITION, 620 /** 621 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 622 * 623 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 624 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 625 * \n 626 * Format of the return value {@link ArkUI_AttributeItem}:\n 627 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 628 * 629 */ 630 NODE_SHADOW, 631 /** 632 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 633 * 634 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 635 * .value[0]?.f32: blur radius of the shadow, in vp.\n 636 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 637 * strategy, and <b>0</b> (default value) means the opposite.\n 638 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 639 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 640 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 641 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 642 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 643 * means the opposite.\n 644 * 645 * \n 646 * Format of the return value {@link ArkUI_AttributeItem}:\n 647 * .value[0].f32: blur radius of the shadow, in vp.\n 648 * .value[1].i32: whether to enable the coloring strategy. \n 649 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 650 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 651 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 652 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 653 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 654 * means the opposite.\n 655 * 656 */ 657 NODE_CUSTOM_SHADOW, 658 /** 659 * @brief Defines the background image width and height. 660 * This attribute can be set, reset, and obtained as required through APIs. 661 * 662 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 663 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 664 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 665 * \n 666 * Format of the return value {@link ArkUI_AttributeItem}:\n 667 * .value[0].f32: width of the image, in vp. \n 668 * .value[1].f32: height of the image, in vp. \n 669 * 670 */ 671 NODE_BACKGROUND_IMAGE_SIZE, 672 /** 673 * @brief Defines the background image size. 674 * This attribute can be set, reset, and obtained as required through APIs. 675 * 676 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 677 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 678 * \n 679 * Format of the return value {@link ArkUI_AttributeItem}:\n 680 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 681 * 682 */ 683 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 684 /** 685 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 686 * 687 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 688 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 689 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 690 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 691 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 692 * .value[4]?.f32: start boundary of grayscale blur. \n 693 * .value[5]?.f32: end boundary of grayscale blur. \n 694 * \n 695 * Format of the return value {@link ArkUI_AttributeItem}:\n 696 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 697 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 698 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 699 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 700 * .value[4].f32: start boundary of grayscale blur. \n 701 * .value[5].f32: end boundary of grayscale blur. \n 702 * 703 */ 704 NODE_BACKGROUND_BLUR_STYLE, 705 /** 706 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 707 * 708 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 709 * .value[0]?.f32: X coordinate of the center point, in vp.\n 710 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 711 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 712 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 713 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 714 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 715 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 716 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 717 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 718 * \n 719 * Format of the return value {@link ArkUI_AttributeItem}:\n 720 * .value[0].f32: X coordinate of the center point, in vp.\n 721 * .value[1].f32: Y coordinate of the center point, in vp.\n 722 * .value[2].f32: Z coordinate of the center point, in vp.\n 723 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 724 * returns the calculated value in vp. 725 * 726 */ 727 NODE_TRANSFORM_CENTER, 728 /** 729 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 730 * 731 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 732 * .value[0].f32: opacity values of the start and end points.\n 733 * .value[1].i32: animation duration, in milliseconds.\n 734 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 735 * .value[3]?.i32: animation delay duration, in milliseconds.\n 736 * .value[4]?.i32: number of times that the animation is played.\n 737 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 738 * .value[6]?.f32: animation playback speed.\n 739 * \n 740 * Format of the return value {@link ArkUI_AttributeItem}:\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 * 749 */ 750 NODE_OPACITY_TRANSITION, 751 /** 752 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 753 * 754 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 755 * .value[0].f32: X-component of the rotation vector. \n 756 * .value[1].f32: Y-component of the rotation vector. \n 757 * .value[2].f32: Z-component of the rotation vector \n 758 * .value[3].f32: angle. \n 759 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 760 * .value[5].i32: animation duration, in milliseconds. \n 761 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 762 * .value[7]?.i32: animation delay duration, in milliseconds. \n 763 * .value[8]?.i32: number of times that the animation is played. \n 764 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 765 * .value[10]?.f32: animation playback speed. \n 766 * \n 767 * Format of the return value {@link ArkUI_AttributeItem}:\n 768 * .value[0].f32: X-component of the rotation vector. \n 769 * .value[1].f32: Y-component of the rotation vector. \n 770 * .value[2].f32: Z-component of the rotation vector \n 771 * .value[3].f32: angle. \n 772 * .value[4].f32: line of sight. \n 773 * .value[5].i32: animation duration, in milliseconds. \n 774 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 775 * .value[7].i32: animation delay duration, in milliseconds. \n 776 * .value[8].i32: number of times that the animation is played. \n 777 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 778 * .value[10].f32: animation playback speed. \n 779 * 780 */ 781 NODE_ROTATE_TRANSITION, 782 /** 783 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 784 * 785 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 786 * .value[0].f32: scale factor along the x-axis. \n 787 * .value[1].f32: scale factor along the y-axis. \n 788 * .value[2].f32: scale factor along the z-axis. \n 789 * .value[3].i32: animation duration, in milliseconds. \n 790 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 791 * .value[5]?.i32: animation delay duration, in milliseconds. \n 792 * .value[6]?.i32: number of times that the animation is played. \n 793 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 794 * .value[8]?.f32: animation playback speed. \n 795 * \n 796 * Format of the return value {@link ArkUI_AttributeItem}:\n 797 * .value[0].f32: scale factor along the x-axis. \n 798 * .value[1].f32: scale factor along the y-axis. \n 799 * .value[2].f32: scale factor along the z-axis. \n 800 * .value[3].i32: animation duration, in milliseconds. \n 801 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 802 * .value[5].i32: animation delay duration, in milliseconds. \n 803 * .value[6].i32: number of times that the animation is played. \n 804 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 805 * .value[8].f32: animation playback speed. \n 806 * 807 */ 808 NODE_SCALE_TRANSITION, 809 /** 810 * @brief Defines the transition translation attribute. 811 * This attribute can be set, reset, and obtained as required through APIs. 812 * 813 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 814 * value[0].f32: translation distance along the x-axis, in vp.\n 815 * value[1].f32: translation distance along the y-axis, in vp.\n 816 * value[2].f32: translation distance along the z-axis, in vp.\n 817 * value[3].i32: animation duration, in milliseconds. \n 818 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 819 * value[5]?.i32: animation delay duration, in milliseconds. \n 820 * value[6]?.i32: number of times that the animation is played. \n 821 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 822 * value[8]?.f32: animation playback speed. \n 823 * \n 824 * Format of the return value {@link ArkUI_AttributeItem}:\n 825 * value[0].f32: translation distance along the x-axis, in vp.\n 826 * value[1].f32: translation distance along the y-axis, in vp.\n 827 * value[2].f32: translation distance along the z-axis, in vp.\n 828 * value[3].i32: animation duration, in milliseconds. \n 829 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 830 * value[5].i32: animation delay duration, in milliseconds. \n 831 * value[6].i32: number of times that the animation is played. \n 832 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 833 * value[8].f32: animation playback speed. \n 834 * 835 */ 836 NODE_TRANSLATE_TRANSITION, 837 /** 838 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 839 * This attribute can be set, reset, and obtained as required through APIs. 840 * 841 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 842 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 843 * .value[1].i32: animation duration, in milliseconds.\n 844 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 845 * .value[3]?.i32: animation delay duration, in milliseconds.\n 846 * .value[4]?.i32: number of times that the animation is played.\n 847 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 848 * .value[6]?.f32: animation playback speed.\n 849 * \n 850 * Format of the return value {@link ArkUI_AttributeItem}:\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 * 859 */ 860 NODE_MOVE_TRANSITION, 861 862 /** 863 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 864 * 865 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 866 * .value[0].i32: The parameter type is 1 or 0. 867 * \n 868 * Format of the return value {@link ArkUI_AttributeItem}:\n 869 * .value[0].i32: The parameter type is 1 or 0. 870 * 871 */ 872 NODE_FOCUSABLE, 873 874 /** 875 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 876 * 877 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 878 * value[0].i32: The parameter type is 1 or 0. 879 * \n 880 * Format of the return value {@link ArkUI_AttributeItem}:\n 881 * value[0].i32: The parameter type is 1 or 0. 882 * 883 */ 884 NODE_DEFAULT_FOCUS, 885 886 /** 887 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 888 * 889 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 890 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 891 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 892 * .data[2].f32: width of the touch target, in %. \n 893 * .data[3].f32: height of the touch target, in %. \n 894 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 895 * \n 896 * Format of the return value {@link ArkUI_AttributeItem}:\n 897 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 898 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 899 * .data[2].f32: width of the touch target, in %. \n 900 * .data[3].f32: height of the touch target, in %. \n 901 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 902 * 903 */ 904 NODE_RESPONSE_REGION, 905 906 /** 907 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 908 * 909 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 910 * .string: mask text.\n 911 * .value[0]?.i32: position of the overlay relative to the component. Optional. 912 * The parameter type is {@link ArkUI_Alignment}. 913 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 914 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 915 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 916 * \n 917 * Format of the return value {@link ArkUI_AttributeItem}:\n 918 * .string: mask text.\n 919 * .value[0].i32: position of the overlay relative to the component. 920 * The parameter type is {@link ArkUI_Alignment}. 921 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 922 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 923 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 924 * 925 */ 926 NODE_OVERLAY, 927 /** 928 * @brief Defines the sweep gradient effect. 929 * This attribute can be set, reset, and obtained as required through APIs. 930 * 931 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 932 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 933 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 934 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 935 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 936 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 937 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 938 * and <b>0</b> means the opposite.\n 939 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 940 * automatically skipped.\n 941 * colors: colors of the color stops. \n 942 * stops: stop positions of the color stops. \n 943 * size: number of colors. \n 944 * \n 945 * Format of the return value {@link ArkUI_AttributeItem}:\n 946 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 947 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 948 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 949 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 950 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 951 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 952 * and <b>0</b> means the opposite.\n 953 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 954 * automatically skipped.\n 955 * colors: colors of the color stops. \n 956 * stops: stop positions of the color stops. \n 957 * size: number of colors. \n 958 * 959 */ 960 NODE_SWEEP_GRADIENT, 961 /** 962 * @brief Defines the radial gradient effect. 963 * This attribute can be set, reset, and obtained as required through APIs. 964 * 965 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 966 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 967 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 968 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 969 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 970 * and <b>0</b> means the opposite. \n 971 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 972 * automatically skipped. \n 973 * colors: colors of the color stops. \n 974 * stops: stop positions of the color stops. \n 975 * size: number of colors. \n 976 * \n 977 * Format of the return value {@link ArkUI_AttributeItem}:\n 978 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 979 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 980 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 981 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 982 * and <b>0</b> means the opposite.\n 983 * .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are 984 * automatically skipped. \n 985 * colors: colors of the color stops. \n 986 * stops: stop positions of the color stops. \n 987 * size: number of colors. \n 988 * 989 */ 990 NODE_RADIAL_GRADIENT, 991 /** 992 * @brief Adds a mask of the specified shape to the component. 993 * This attribute can be set, reset, and obtained as required through APIs. 994 * 995 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 996 * shapes:\n 997 * 1. Rectangle:\n 998 * .value[0].u32 fill color, in 0xARGB format. \n 999 * .value[1].u32: stroke color, in 0xARGB format. \n 1000 * .value[2].f32: stroke width, in vp. \n 1001 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1002 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 1003 * .value[4].f32: width of the rectangle.\n 1004 * .value[5].f32: height of the rectangle.\n 1005 * .value[6].f32: width of the rounded corner of the rectangle.\n 1006 * .value[7].f32: height of the rounded corner of the rectangle.\n 1007 * .value[8]?.f32: radius of the top left corner of the rectangular shape.\n 1008 * .value[9]?.f32: radius of the bottom left corner of the rectangular shape.\n 1009 * .value[10]?.f32: radius of the top right corner of the rectangular shape.\n 1010 * .value[11]?.f32: radius of the bottom right corner of the rectangular shape.\n 1011 * 2. Circle:\n 1012 * .value[0].u32 fill color, in 0xARGB format. \n 1013 * .value[1].u32: stroke color, in 0xARGB format. \n 1014 * .value[2].f32: stroke width, in vp. \n 1015 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1016 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1017 * .value[4].f32: width of the circle.\n 1018 * .value[5].f32: height of the circle.\n 1019 * 3. Ellipse:\n 1020 * .value[0].u32 fill color, in 0xARGB format. \n 1021 * .value[1].u32: stroke color, in 0xARGB format. \n 1022 * .value[2].f32: stroke width, in vp. \n 1023 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1024 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1025 * .value[4].f32: width of the ellipse.\n 1026 * .value[5].f32: height of the ellipse.\n 1027 * 4. Path:\n 1028 * .value[0].u32 fill color, in 0xARGB format. \n 1029 * .value[1].u32: stroke color, in 0xARGB format. \n 1030 * .value[2].f32: stroke width, in vp. \n 1031 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1032 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1033 * .value[4].f32: width of the path.\n 1034 * .value[5].f32: height of the path.\n 1035 * .string: command for drawing the path.\n 1036 * 5. Progress:\n 1037 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1038 * The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.\n 1039 * .value[1].f32: current value of the progress indicator.\n 1040 * .value[2].f32: maximum value of the progress indicator.\n 1041 * .value[3].u32: color of the progress indicator, in 0xARGB format.\n 1042 * \n 1043 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1044 * 1. Rectangle:\n 1045 * .value[0].u32 fill color, in 0xARGB format. \n 1046 * .value[1].u32: stroke color, in 0xARGB format. \n 1047 * .value[2].f32: stroke width, in vp. \n 1048 * .value[3].i32: mask type.\n 1049 * .value[4].f32: width of the rectangle.\n 1050 * .value[5].f32: height of the rectangle.\n 1051 * .value[6].f32: width of the rounded corner of the rectangle.\n 1052 * .value[7].f32: height of the rounded corner of the rectangle.\n 1053 * .value[8].f32: radius of the top left corner of the rectangular shape.\n 1054 * .value[9].f32: radius of the bottom left corner of the rectangular shape.\n 1055 * .value[10].f32: radius of the top right corner of the rectangular shape.\n 1056 * .value[11].f32: radius of the bottom right corner of the rectangular shape.\n 1057 * 2. Circle:\n 1058 * .value[0].u32 fill color, in 0xARGB format. \n 1059 * .value[1].u32: stroke color, in 0xARGB format. \n 1060 * .value[2].f32: stroke width, in vp. \n 1061 * .value[3].i32: mask type.\n 1062 * .value[4].f32: width of the circle.\n 1063 * .value[5].f32: height of the circle.\n 1064 * 3. Ellipse:\n 1065 * .value[0].u32 fill color, in 0xARGB format. \n 1066 * .value[1].u32: stroke color, in 0xARGB format. \n 1067 * .value[2].f32: stroke width, in vp. \n 1068 * .value[3].i32: mask type.\n 1069 * .value[4].f32: width of the ellipse.\n 1070 * .value[5].f32: height of the ellipse.\n 1071 * 4. Path:\n 1072 * .value[0].u32 fill color, in 0xARGB format. \n 1073 * .value[1].u32: stroke color, in 0xARGB format. \n 1074 * .value[2].f32: stroke width, in vp. \n 1075 * .value[3].i32: mask type.\n 1076 * .value[4].f32: width of the path.\n 1077 * .value[5].f32: height of the path.\n 1078 * .string: command for drawing the path.\n 1079 * 5. Progress:\n 1080 * .value[0].i32: mask type.\n 1081 * .value[1].f32: current value of the progress indicator.\n 1082 * .value[2].f32: maximum value of the progress indicator.\n 1083 * .value[3].u32: color of the progress indicator.\n 1084 * 1085 */ 1086 NODE_MASK, 1087 /** 1088 * @brief Blends the component's background with the content of the component's child node. 1089 * This attribute can be set, reset, and obtained as required through APIs. 1090 * 1091 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1092 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1093 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1094 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1095 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1096 * \n 1097 * Format of the return value {@link ArkUI_AttributeItem}:\n 1098 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1099 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1100 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1101 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1102 * 1103 */ 1104 NODE_BLEND_MODE, 1105 /** 1106 * @brief Sets the direction of the main axis. 1107 * This attribute can be set, reset, and obtained as required through APIs. 1108 * 1109 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1110 * .value[0].i32: direction of the main axis.\n 1111 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1112 * \n 1113 * Format of the return value {@link ArkUI_AttributeItem}:\n 1114 * .value[0].i32: direction of the main axis.\n 1115 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1116 * 1117 */ 1118 NODE_DIRECTION, 1119 /** 1120 * @brief Defines the size constraints. 1121 * This attribute can be set, reset, and obtained as required through APIs. 1122 * 1123 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1124 * .value[0].f32: minimum width, in vp.\n 1125 * .value[1].f32: maximum width, in vp.\n 1126 * .value[2].f32: minimum height, in vp.\n 1127 * .value[3].f32: maximum height, in vp.\n 1128 * \n 1129 * Format of the return value {@link ArkUI_AttributeItem}:\n 1130 * .value[0].f32: minimum width, in vp.\n 1131 * .value[1].f32: maximum width, in vp.\n 1132 * .value[2].f32: minimum height, in vp.\n 1133 * .value[3].f32: maximum height, in vp.\n 1134 * 1135 */ 1136 NODE_CONSTRAINT_SIZE, 1137 /** 1138 * @brief Defines the grayscale effect. 1139 * This attribute can be set, reset, and obtained as required through APIs. 1140 * 1141 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1142 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1143 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1144 * \n 1145 * Format of the return value {@link ArkUI_AttributeItem}:\n 1146 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1147 * 1148 */ 1149 NODE_GRAY_SCALE, 1150 /** 1151 * @brief Inverts the image. 1152 * This attribute can be set, reset, and obtained as required through APIs. 1153 * 1154 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1155 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1156 * For example, 0.5 indicates a 50% image inversion ratio.\n 1157 * \n 1158 * Format of the return value {@link ArkUI_AttributeItem}:\n 1159 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1160 * 1161 */ 1162 NODE_INVERT, 1163 /** 1164 * @brief Defines the sepia conversion ratio. 1165 * This attribute can be set, reset, and obtained as required through APIs. 1166 * 1167 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1168 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1169 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1170 * \n 1171 * Format of the return value {@link ArkUI_AttributeItem}:\n 1172 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1173 * 1174 */ 1175 NODE_SEPIA, 1176 /** 1177 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1178 * 1179 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1180 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1181 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1182 * \n 1183 * Format of the return value {@link ArkUI_AttributeItem}:\n 1184 * .value[0].f32: contrast. Value range: [0, 10).\n 1185 * 1186 */ 1187 NODE_CONTRAST, 1188 /** 1189 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1190 * 1191 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1192 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1193 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1194 * \n 1195 * Format of the return value {@link ArkUI_AttributeItem}:\n 1196 * .value[0].u32: color value, in 0xARGB format.\n 1197 * 1198 */ 1199 NODE_FOREGROUND_COLOR, 1200 1201 /** 1202 * @brief Defines the offset of the component's child relative to the component. 1203 * This attribute can be set, reset, and obtained as required through APIs. 1204 * 1205 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1206 * .value[0].f32 : offset along the x-axis, in vp. \n 1207 * .value[1].f32 : offset along the y-axis, in vp. \n 1208 * \n 1209 * Format of the return value {@link ArkUI_AttributeItem}:\n 1210 * .value[0].f32 : offset along the x-axis, in vp. \n 1211 * .value[1].f32 : offset along the y-axis, in vp. \n 1212 * 1213 */ 1214 NODE_OFFSET, 1215 /** 1216 * @brief Sets the anchor for locating the component's child. 1217 * This attribute can be set, reset, and obtained as required through APIs. 1218 * 1219 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1220 * .value[0].f32: X coordinate of the anchor, in vp.\n 1221 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1222 * \n 1223 * Format of the return value {@link ArkUI_AttributeItem}:\n 1224 * .value[0].f32: X coordinate of the anchor, in vp.\n 1225 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1226 * 1227 */ 1228 NODE_MARK_ANCHOR, 1229 /** 1230 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1231 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1232 * 1233 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1234 * .value[0].f32: position along the x-axis, in px. \n 1235 * .value[1].f32: position along the y-axis, in px. \n 1236 * \n 1237 * Format of the return value {@link ArkUI_AttributeItem}:\n 1238 * .value[0].f32: position along the x-axis, in px. \n 1239 * .value[1].f32: position along the y-axis, in px. \n 1240 * 1241 */ 1242 NODE_BACKGROUND_IMAGE_POSITION, 1243 /** 1244 * @brief Sets the alignment rules in the relative container. 1245 * This attribute can be set, reset, and obtained as required through APIs. 1246 * 1247 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1248 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1249 * \n 1250 * Format of the return value {@link ArkUI_AttributeItem}:\n 1251 * .object: Use the {@link ArkUI_AlignmentRuleOption} object as the component’s alignment rule. \n 1252 * 1253 */ 1254 NODE_ALIGN_RULES, 1255 /** 1256 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1257 * This attribute can be set, reset, and obtained as required through APIs. 1258 * 1259 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1260 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1261 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1262 * \n 1263 * Format of the return value {@link ArkUI_AttributeItem}:\n 1264 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1265 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1266 * 1267 */ 1268 NODE_ALIGN_SELF, 1269 /** 1270 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1271 * This attribute can be set, reset, and obtained as required through APIs. 1272 * 1273 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1274 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1275 * \n 1276 * Format of the return value {@link ArkUI_AttributeItem}:\n 1277 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1278 * 1279 */ 1280 NODE_FLEX_GROW, 1281 /** 1282 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1283 * This attribute can be set, reset, and obtained as required through APIs. 1284 * 1285 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1286 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1287 * \n 1288 * Format of the return value {@link ArkUI_AttributeItem}:\n 1289 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1290 * 1291 */ 1292 NODE_FLEX_SHRINK, 1293 /** 1294 * @brief Sets the base size of the component. 1295 * This attribute can be set, reset, and obtained as required through APIs. 1296 * 1297 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1298 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1299 * \n 1300 * Format of the return value {@link ArkUI_AttributeItem}:\n 1301 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1302 * 1303 */ 1304 NODE_FLEX_BASIS, 1305 /** 1306 * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs. 1307 * 1308 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1309 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1310 * form an entire selectable component. 1311 * In this case, the accessibility service will no longer be available for the content of its child components. 1312 * The value is <b>1</b> or <b>0</b>. 1313 * \n 1314 * Format of the return value {@link ArkUI_AttributeItem}:\n 1315 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1316 * form an entire selectable component. 1317 * In this case, the accessibility service will no longer be available for the content of its child components. 1318 * The value is <b>1</b> or <b>0</b>. 1319 * 1320 */ 1321 NODE_ACCESSIBILITY_GROUP, 1322 1323 /** 1324 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1325 * 1326 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1327 * .string: accessibility text. 1328 * \n 1329 * Format of the return value {@link ArkUI_AttributeItem}:\n 1330 * .string: accessibility text. 1331 * 1332 */ 1333 NODE_ACCESSIBILITY_TEXT, 1334 1335 /** 1336 * @brief Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs. 1337 * 1338 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1339 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1340 * \n 1341 * Format of the return value {@link ArkUI_AttributeItem}:\n 1342 * .value[0].i32: accessibility service model. The parameter type is {@link ArkUI_AccessibilityMode}. 1343 * 1344 */ 1345 NODE_ACCESSIBILITY_MODE, 1346 1347 /** 1348 * @brief Sets the accessibility description. 1349 * This attribute can be set, reset, and obtained as required through APIs. 1350 * 1351 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1352 * .string: accessibility description. 1353 * \n 1354 * Format of the return value {@link ArkUI_AttributeItem}:\n 1355 * .string: accessibility description. 1356 * 1357 */ 1358 NODE_ACCESSIBILITY_DESCRIPTION, 1359 1360 /** 1361 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1362 * @note Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level 1363 * of the page to the root container. 1364 * 1365 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1366 * .value[0].i32: The parameter type is 1 or 0. 1367 * \n 1368 * Format of the return value {@link ArkUI_AttributeItem}:\n 1369 * .value[0].i32: The parameter type is 1 or 0. 1370 * 1371 */ 1372 NODE_FOCUS_STATUS, 1373 /** 1374 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1375 * 1376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1377 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1378 * \n 1379 * Format of the return value {@link ArkUI_AttributeItem}:\n 1380 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1381 * 1382 */ 1383 NODE_ASPECT_RATIO, 1384 /** 1385 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1386 * distribution of available space within the container. 1387 * This attribute can be set, reset, and obtained as required through APIs. 1388 * 1389 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1390 * .value[0].u32: weight of the component along the main axis. \n 1391 * \n 1392 * Format of the return value {@link ArkUI_AttributeItem}:\n 1393 * .value[0].u32: weight of the component along the main axis. \n 1394 * 1395 */ 1396 NODE_LAYOUT_WEIGHT, 1397 /** 1398 * @brief Sets the display priority for the component in the row, column, or flex (single-line) container. 1399 * This attribute can be set, reset, and obtained as required through APIs. 1400 * 1401 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1402 * .value[0].u32: display priority of the component in the container. \n 1403 * \n 1404 * Format of the return value {@link ArkUI_AttributeItem}:\n 1405 * .value[0].u32: display priority of the component in the container. \n 1406 * 1407 */ 1408 NODE_DISPLAY_PRIORITY, 1409 /** 1410 * @brief Sets the thickness of an element's outline. 1411 * 1412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1413 * .value[0].f32: thickness of the left outline. \n 1414 * .value[1].f32: thickness of the top outline. \n 1415 * .value[2].f32: thickness of the right outline. \n 1416 * .value[3].f32: thickness of the bottom outline. \n 1417 * \n 1418 * Format of the return value {@link ArkUI_AttributeItem}:\n 1419 * .value[0].f32: thickness of the left outline. \n 1420 * .value[1].f32: thickness of the top outline. \n 1421 * .value[2].f32: thickness of the right outline. \n 1422 * .value[3].f32: thickness of the bottom outline. \n 1423 * 1424 */ 1425 NODE_OUTLINE_WIDTH, 1426 /** 1427 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 1428 * 1429 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1430 * .value[0].f32: width, in percentage.\n 1431 * \n 1432 * Format of the return value {@link ArkUI_AttributeItem}:\n 1433 * .value[0].f32: width, in percentage.\n 1434 * 1435 */ 1436 NODE_WIDTH_PERCENT, 1437 /** 1438 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 1439 * 1440 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1441 * .value[0].f32: height, in percentage.\n 1442 * \n 1443 * Format of the return value {@link ArkUI_AttributeItem}:\n 1444 * .value[0].f32: height, in percentage.\n 1445 * 1446 */ 1447 NODE_HEIGHT_PERCENT, 1448 /** 1449 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 1450 * 1451 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1452 * 1: Specify the same padding for the four directions. \n 1453 * .value[0].f32: padding, in percentage.\n 1454 * 2: Specify different paddings for different directions. \n 1455 * .value[0].f32: top padding, in percentage.\n 1456 * .value[1].f32: right padding, in percentage.\n 1457 * .value[2].f32: bottom padding, in percentage.\n 1458 * .value[3].f32: left padding, in percentage.\n 1459 * \n 1460 * Format of the return value {@link ArkUI_AttributeItem}:\n 1461 * .value[0].f32: top padding, in percentage.\n 1462 * .value[1].f32: right padding, in percentage.\n 1463 * .value[2].f32: bottom padding, in percentage.\n 1464 * .value[3].f32: left padding, in percentage.\n 1465 * 1466 */ 1467 NODE_PADDING_PERCENT, 1468 /** 1469 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 1470 * 1471 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1472 * 1: Specify the same margin for the four directions. \n 1473 * .value[0].f32: margin, in percentage.\n 1474 * 2: Specify different margins for different directions. \n 1475 * .value[0].f32: top margin, in percentage.\n 1476 * .value[1].f32: right margin, in percentage.\n 1477 * .value[2].f32: bottom margin, in percentage.\n 1478 * .value[3].f32: left margin, in percentage.\n 1479 * \n 1480 * Format of the return value {@link ArkUI_AttributeItem}:\n 1481 * .value[0].f32: top margin, in percentage.\n 1482 * .value[1].f32: right margin, in percentage.\n 1483 * .value[2].f32: bottom margin, in percentage.\n 1484 * .value[3].f32: left margin, in percentage.\n 1485 * 1486 */ 1487 NODE_MARGIN_PERCENT, 1488 1489 /** 1490 * @brief The implicit shared element transition within the component supports attribute setting, 1491 * attribute reset, and attribute acquisition interfaces. 1492 * 1493 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1494 * .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings, 1495 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1496 * the default is false, and the original position will remain unchanged if not involved. \n 1497 * .string is used to set the binding relationship. Set the id to "" to 1498 * clear the binding relationship to avoid participating in sharing behavior. \n 1499 * The id can be changed and the binding relationship re-established. 1500 * The same ID can only be bound to two components and they are in/out roles of different types. 1501 * Multiple components cannot be bound to the same id. \n 1502 *\n 1503 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 1504 * .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings, 1505 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1506 * the default is not false, if not involved, the original position will remain unchanged. \n 1507 * .string is used to set the binding relationship. Set the id to "" to 1508 * clear the binding relationship to avoid participating in sharing behavior. \n 1509 * The id can be changed and the binding relationship re-established. 1510 * The same ID can only be bound to two components and they are in/out roles of different types. 1511 * Multiple components cannot be bound to the same id. \n 1512 */ 1513 NODE_GEOMETRY_TRANSITION, 1514 1515 /** 1516 * @brief specifies the parameters of the chain formed by this component as the chain head, 1517 * and supports attribute setting, attribute reset and attribute acquisition interfaces. 1518 * 1519 * Only takes effect when the parent container is RelativeContainer 1520 * 1521 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1522 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1523 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1524 *\n 1525 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1526 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1527 */ 1528 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1529 1530 /** 1531 * @brief Set the component content filling method in the process of width and height animation, 1532 * support property setting, property reset, property acquisition interface. 1533 * 1534 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1535 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1536 * \n 1537 * Format of the return value {@link ArkUI_AttributeItem}:\n 1538 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1539 * 1540 */ 1541 NODE_RENDER_FIT, 1542 1543 /** 1544 * @brief External stroke color properties, support property setting, 1545 * property reset and property acquisition interface. 1546 * 1547 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1548 * 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF. \n 1549 * 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1550 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1551 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1552 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1553 * \n 1554 * Format of the return value {@link ArkUI_AttributeItem}:\n 1555 * .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1556 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1557 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1558 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1559 * 1560 */ 1561 NODE_OUTLINE_COLOR, 1562 1563 /** 1564 * @brief Set the height and width dimensions, support property setting, 1565 * property reset and property acquisition interface. 1566 * 1567 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1568 * .value[0].f32: Width value, unit is vp;\n 1569 * .value[1].f32: Height value, unit is vp;\n 1570 * \n 1571 * Format of the return value {@link ArkUI_AttributeItem}:\n 1572 * .value[0].f32: Width value, unit is vp;\n 1573 * .value[1].f32: Height value, unit is vp;\n 1574 * 1575 */ 1576 NODE_SIZE, 1577 1578 /** 1579 * @brief Set whether the current component and child component are 1580 * rendered off the screen first and then fused with the parent control, 1581 * supporting property setting, property reset and property acquisition. 1582 * 1583 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1584 * .value[0].i32: The parameter type is 1 or 0. 1585 * \n 1586 * Format of the return value {@link ArkUI_AttributeItem}:\n 1587 * .value[0].i32: The parameter type is 1 or 0. 1588 * 1589 */ 1590 NODE_RENDER_GROUP, 1591 1592 /** 1593 * @brief Add color overlay effect to components, support property setting, 1594 * property reset and property acquisition interface. 1595 * 1596 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1597 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1598 * \n 1599 * Format of the return value {@link ArkUI_AttributeItem}:\n 1600 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1601 * 1602 */ 1603 NODE_COLOR_BLEND, 1604 1605 /** 1606 * @brief Provide content ambiguity capability for the current component, 1607 * support property setting, property reset, property acquisition interface. 1608 * 1609 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1610 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1611 * .value[1]?.i32 Represents the dark and light mode used by the content blur effect,\n 1612 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1613 * .value[2]?.i32 The color extraction mode used to represent the content blur effect takes\n 1614 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1615 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 1616 * .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1617 * .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1618 * \n 1619 * Format of the return value {@link ArkUI_AttributeItem}:\n 1620 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1621 * .value[1].i32 Represents the dark and light mode used by the content blur effect,\n 1622 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1623 * .value[2].i32 The color extraction mode used to represent the content blur effect takes\n 1624 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1625 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 1626 * .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1627 * .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1628 * 1629 */ 1630 NODE_FOREGROUND_BLUR_STYLE, 1631 1632 /** 1633 * @brief Defines layout rect attribute, which can be set, reset, and obtained as required through APIs. 1634 * 1635 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1636 * .value[0].i32: x position of the component. 1637 * .value[1].i32: y position of the component. 1638 * .value[2].i32: width of the component. 1639 * .value[3].i32: height of the component. 1640 * \n 1641 * Format of the return value {@link ArkUI_AttributeItem}:\n 1642 * .value[0].i32: x position of the component. 1643 * .value[1].i32: y position of the component. 1644 * .value[2].i32: width of the component. 1645 * .value[3].i32: height of the component. 1646 * 1647 */ 1648 NODE_LAYOUT_RECT, 1649 1650 /** 1651 * @brief Whether the current component supports click-to-focus capability, 1652 * which can be set, reset, and obtained as required through APIs. 1653 * 1654 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1655 * .value[0].i32: The parameter type is 1 or 0. 1656 * \n 1657 * Format of the return value {@link ArkUI_AttributeItem}:\n 1658 * .value[0].i32: The parameter type is 1 or 0. 1659 * 1660 */ 1661 NODE_FOCUS_ON_TOUCH, 1662 1663 /** 1664 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 1665 * 1666 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1667 * 1: .value[0].f32: width of the four borders, in percentage. \n 1668 * 2: .value[0].f32: width of the top border, in percentage. \n 1669 * .value[1].f32: width of the right border, in percentage. \n 1670 * .value[2].f32: width of the bottom border, in percentage. \n 1671 * .value[3].f32: width of the left border, in percentage. \n 1672 * \n 1673 * Format of the return value {@link ArkUI_AttributeItem}:\n 1674 * .value[0].f32: width of the top border, in percentage. \n 1675 * .value[1].f32: width of the right border, in percentage. \n 1676 * .value[2].f32: width of the bottom border, in percentage. \n 1677 * .value[3].f32: width of the left border, in percentage. \n 1678 * 1679 */ 1680 NODE_BORDER_WIDTH_PERCENT = 85, 1681 /** 1682 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 1683 * 1684 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1685 * 1: .value[0].f32: radius of the four corners, in percentage. \n 1686 * 2: .value[0].f32: radius of the upper left corner, in percentage. \n 1687 * .value[1].f32: radius of the upper right corner, in percentage. \n 1688 * .value[2].f32: radius of the lower left corner, in percentage. \n 1689 * .value[3].f32: radius of the lower right corner, in percentage. \n 1690 * \n 1691 * Format of the return value {@link ArkUI_AttributeItem}:\n 1692 * .value[0].f32: radius of the upper left corner, in percentage. \n 1693 * .value[1].f32: radius of the upper right corner, in percentage. \n 1694 * .value[2].f32: radius of the lower left corner, in percentage. \n 1695 * .value[3].f32: radius of the lower right corner, in percentage. \n 1696 * 1697 */ 1698 NODE_BORDER_RADIUS_PERCENT = 86, 1699 1700 /** 1701 * @brief Accessible ID, which can be obtained as required through APIs. 1702 * 1703 * Format of the return value {@link ArkUI_AttributeItem}:\n 1704 * .value[0].i32:Accessible ID。\n 1705 * 1706 */ 1707 NODE_ACCESSIBILITY_ID = 87, 1708 1709 /** 1710 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1711 * 1712 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1713 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1714 * \n 1715 * Format of the return value {@link ArkUI_AttributeItem}:\n 1716 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1717 * 1718 */ 1719 NODE_ACCESSIBILITY_ACTIONS = 88, 1720 1721 /** 1722 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1723 * 1724 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1725 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1726 * \n 1727 * Format of the return value {@link ArkUI_AttributeItem}:\n 1728 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1729 * 1730 */ 1731 NODE_ACCESSIBILITY_ROLE = 89, 1732 1733 /** 1734 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1735 * 1736 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1737 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1738 * \n 1739 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1740 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1741 * 1742 */ 1743 NODE_ACCESSIBILITY_STATE = 90, 1744 1745 /** 1746 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1747 * 1748 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1749 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1750 * \n 1751 * Format of the return value {@link ArkUI_AttributeItem}:\n 1752 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1753 * 1754 */ 1755 NODE_ACCESSIBILITY_VALUE = 91, 1756 /** 1757 * @brief defines control components to extend their security zones, 1758 * supporting property setting, property reset, and property fetching. 1759 * 1760 * Attribute setting method {@link ArkUI_AttributeItem} Parameter format: \n 1761 * .value[0]? .u32: Set of extended security zone enumerated values {@link ArkUI_SafeAreaType}, 1762 * For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT; \n 1763 * .value[1]? .u32: set of directional enum values for extended security zones {@link ArkUI_SafeAreaEdge}; \n 1764 * For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM; \n 1765 * \n 1766 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 1767 *.value[0].u32: extends the security zone. \n. \n 1768 *.value[1].u32: indicates the direction to extend the security zone. \n. \n 1769 * 1770 */ 1771 NODE_EXPAND_SAFE_AREA = 92, 1772 1773 /** 1774 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1775 * visible area change event of the component. 1776 * 1777 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1778 * .value[...].f32: threshold array. The value range is 0 to 1. 1779 * \n 1780 * Format of the return value {@link ArkUI_AttributeItem}:\n 1781 * .value[...].f32: threshold array. \n 1782 * 1783 */ 1784 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1785 1786 /** 1787 * @brief Sets the transition effect when the component is inserted or deleted. 1788 * This attribute can be set, and obtained as required through APIs. 1789 * 1790 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1791 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1792 * \n 1793 * Format of the return value {@link ArkUI_AttributeItem}:\n 1794 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1795 * 1796 */ 1797 NODE_TRANSITION = 94, 1798 1799 /** 1800 * @brief Defines the component ID. 1801 * This attribute can be obtained through APIs. 1802 * 1803 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1804 * .value[0].i32: component ID. \n 1805 * 1806 */ 1807 NODE_UNIQUE_ID = 95, 1808 1809 /** 1810 * @brief Set the current component system focus box style. 1811 * 1812 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1813 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1814 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1815 * Percentage is not supported. \n 1816 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1817 * .value[2].u32: Focus box color. \n 1818 * \n 1819 * 1820 */ 1821 NODE_FOCUS_BOX = 96, 1822 1823 /** 1824 * @brief Defines the moving distance limit for the component-bound tap gesture. 1825 * This attribute can be set as required through APIs. 1826 * 1827 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1828 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1829 * 1830 */ 1831 NODE_CLICK_DISTANCE = 97, 1832 1833 /** 1834 * @brief Sets whether the focus can be placed on this component. 1835 * This attribute can be set, reset, and obtained as required through APIs. 1836 * 1837 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1838 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1839 * \n 1840 * Format of the return value {@link ArkUI_AttributeItem}:\n 1841 * .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0. 1842 * 1843 * @since 14 1844 */ 1845 NODE_TAB_STOP = 98, 1846 1847 /** 1848 * @brief Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs. 1849 * 1850 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1851 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1852 * .value[1]?.f32:grayscale blur settings that control the brightness of the black color.\n 1853 * The value range is [0, 127].\n 1854 * .value[2]?.f32:grayscale blur settings that control the darkness of the white color.\n 1855 * The value range is [0, 127].\n 1856 * \n 1857 * Format of the return value {@link ArkUI_AttributeItem}:\n 1858 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1859 * .value[1].f32:grayscale blur settings that control the brightness of the black color.\n 1860 * The value range is [0, 127].\n 1861 * .value[2].f32:grayscale blur settings that control the darkness of the white color.\n 1862 * The value range is [0, 127].\n 1863 * 1864 * @since 15 1865 */ 1866 NODE_BACKDROP_BLUR = 99, 1867 1868 /** 1869 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 1870 * 1871 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1872 * .string: text content.\n 1873 * \n 1874 * Format of the return value {@link ArkUI_AttributeItem}:\n 1875 * .string: text content.\n 1876 * 1877 */ 1878 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 1879 /** 1880 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 1881 * 1882 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1883 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1884 * \n 1885 * Format of the return value {@link ArkUI_AttributeItem}:\n 1886 * .value[0].u32: font color value, in 0xARGB format.\n 1887 * 1888 */ 1889 NODE_FONT_COLOR, 1890 /** 1891 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 1892 * 1893 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1894 * .value[0].f32: font size, in fp.\n 1895 * \n 1896 * Format of the return value {@link ArkUI_AttributeItem}:\n 1897 * .value[0].f32: font size, in fp.\n 1898 * 1899 */ 1900 NODE_FONT_SIZE, 1901 /** 1902 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 1903 * 1904 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1905 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 1906 * \n 1907 * Format of the return value {@link ArkUI_AttributeItem}:\n 1908 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 1909 * 1910 */ 1911 NODE_FONT_STYLE, 1912 /** 1913 * @brief Defines the font weight 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 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 1917 * \n 1918 * Format of the return value {@link ArkUI_AttributeItem}:\n 1919 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 1920 * 1921 */ 1922 NODE_FONT_WEIGHT, 1923 /** 1924 * @brief Defines the text line height 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].f32: line height, in fp.\n 1928 * \n 1929 * Format of the return value {@link ArkUI_AttributeItem}:\n 1930 * .value[0].f32: line height, in fp.\n 1931 * 1932 */ 1933 NODE_TEXT_LINE_HEIGHT, 1934 /** 1935 * @brief Defines the text decoration style and color. 1936 * This attribute can be set, reset, and obtained as required through APIs. 1937 * 1938 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1939 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 1940 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 1941 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 1942 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1943 * \n 1944 * Format of the return value {@link ArkUI_AttributeItem}:\n 1945 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 1946 * .value[1].u32: text decoration color, in 0xARGB format. \n 1947 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1948 * 1949 */ 1950 NODE_TEXT_DECORATION, 1951 /** 1952 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 1953 * 1954 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1955 * .value[0].i32: text case.\n 1956 * \n 1957 * Format of the return value {@link ArkUI_AttributeItem}:\n 1958 * .value[0].i32: text case.\n 1959 * 1960 */ 1961 NODE_TEXT_CASE, 1962 /** 1963 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 1964 * 1965 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1966 * .value[0].f32: letter spacing, in fp.\n 1967 * \n 1968 * Format of the return value {@link ArkUI_AttributeItem}:\n 1969 * .value[0].f32: letter spacing, in fp.\n 1970 * 1971 */ 1972 NODE_TEXT_LETTER_SPACING, 1973 /** 1974 * @brief Sets the maximum number of lines in the text. 1975 * This attribute can be set, reset, and obtained as required through APIs. 1976 * 1977 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1978 * .value[0].i32: maximum number of lines in the text.\n 1979 * \n 1980 * Format of the return value {@link ArkUI_AttributeItem}:\n 1981 * .value[0].i32: maximum number of lines in the text.\n 1982 * 1983 */ 1984 NODE_TEXT_MAX_LINES, 1985 /** 1986 * @brief Horizontal alignment mode of the text. 1987 * This attribute can be set, reset, and obtained as required through APIs. 1988 * 1989 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1990 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 1991 * \n 1992 * Format of the return value {@link ArkUI_AttributeItem}:\n 1993 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 1994 * 1995 */ 1996 NODE_TEXT_ALIGN, 1997 /** 1998 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 1999 * 2000 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2001 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2002 * \n 2003 * Format of the return value {@link ArkUI_AttributeItem}:\n 2004 * .value[0].i32: display mode when the text is too long. {@ArkUI_TextOverflow}\n 2005 * 2006 */ 2007 NODE_TEXT_OVERFLOW, 2008 /** 2009 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 2010 * 2011 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2012 * .string: fonts, separated by commas (,). 2013 * \n 2014 * Format of the return value {@link ArkUI_AttributeItem}:\n 2015 * .string: fonts, separated by commas (,). 2016 * 2017 */ 2018 NODE_FONT_FAMILY, 2019 /** 2020 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 2021 * 2022 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2023 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2024 * \n 2025 * Format of the return value {@link ArkUI_AttributeItem}:\n 2026 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 2027 * 2028 */ 2029 NODE_TEXT_COPY_OPTION, 2030 /** 2031 * @brief Defines the text baseline offset attribute 2032 * This attribute can be set, reset, and obtained as required through APIs. 2033 * 2034 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2035 * .value[0].f32: baseline offset, in fp.\n 2036 * \n 2037 * Format of the return value {@link ArkUI_AttributeItem}:\n 2038 * .value[0].f32: baseline offset, in fp. \n 2039 * 2040 */ 2041 NODE_TEXT_BASELINE_OFFSET, 2042 /** 2043 * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs. 2044 * 2045 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2046 * .value[0].f32: blur radius of the shadow, in vp.\n 2047 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 2048 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2049 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2050 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2051 * \n 2052 * Format of the return value {@link ArkUI_AttributeItem}:\n 2053 * .value[0].f32: blur radius of the shadow, in vp.\n 2054 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 2055 * .value[2].u32: shadow color, in 0xARGB format.\n 2056 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2057 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2058 * 2059 */ 2060 NODE_TEXT_TEXT_SHADOW, 2061 /** 2062 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 2063 * 2064 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2065 * .value[0].f32: minimum font size, in fp. 2066 * \n 2067 * Format of the return value {@link ArkUI_AttributeItem}:\n 2068 * .value[0].f32: minimum font size, in fp. 2069 * 2070 */ 2071 NODE_TEXT_MIN_FONT_SIZE, 2072 2073 /** 2074 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 2075 * 2076 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2077 * .value[0].f32: maximum font size, in fp. 2078 * \n 2079 * Format of the return value {@link ArkUI_AttributeItem}:\n 2080 * .value[0].f32: maximum font size, in fp. 2081 * 2082 */ 2083 NODE_TEXT_MAX_FONT_SIZE, 2084 2085 /** 2086 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 2087 * 2088 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2089 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 2090 * .value[0].f32: font size, in fp. \n 2091 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 2092 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2093 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 2094 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2095 * \n 2096 * Format of the return value {@link ArkUI_AttributeItem}:\n 2097 * .string: font family. Use commas (,) to separate multiple fonts. \n 2098 * .value[0].f32: font size, in fp. \n 2099 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 2100 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2101 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 2102 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2103 * 2104 */ 2105 NODE_TEXT_FONT, 2106 2107 /** 2108 * @brief Defines how the adaptive height is determined for the text. 2109 * This attribute can be set, reset, and obtained as required through APIs. 2110 * 2111 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2112 * .value[0].i32: how the adaptive height is determined for the text. 2113 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 2114 * \n 2115 * Format of the return value {@link ArkUI_AttributeItem}:\n 2116 * .value[0].i32: how the adaptive height is determined for the text. 2117 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 2118 * 2119 */ 2120 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 2121 /** 2122 * @brief Defines the indentation of the first line. 2123 * This attribute can be set, reset, and obtained as required through APIs. 2124 * 2125 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2126 * .value[0].f32: indentation of the first line. \n 2127 * \n 2128 * Format of the return value {@link ArkUI_AttributeItem}:\n 2129 * .value[0].f32: indentation of the first line. \n 2130 * 2131 */ 2132 NODE_TEXT_INDENT, 2133 /** 2134 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 2135 * 2136 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2137 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2138 * \n 2139 * Format of the return value {@link ArkUI_AttributeItem}:\n 2140 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2141 * 2142 */ 2143 NODE_TEXT_WORD_BREAK, 2144 /** 2145 * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs. 2146 * 2147 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2148 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2149 * \n 2150 * Format of the return value {@link ArkUI_AttributeItem}:\n 2151 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2152 * 2153 */ 2154 NODE_TEXT_ELLIPSIS_MODE, 2155 /** 2156 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 2157 * 2158 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2159 * .value[0].f32: line spacing, in fp.\n 2160 * \n 2161 * Format of the return value {@link ArkUI_AttributeItem}:\n 2162 * .value[0].f32: line spacing, in fp.\n 2163 * 2164 */ 2165 NODE_TEXT_LINE_SPACING, 2166 /** 2167 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2168 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2169 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2170 * The capabilities need to be supported by the fonts, \n 2171 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2172 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format: \n 2173 * .string: complies with the text feature format. The format is normal | \n 2174 * is in the format of [ | on | off],\n. 2175 * There can be multiple values separated by commas (,). \n 2176 * For example, the input format of a number with the same width is ss01 on. \n 2177 * \n 2178 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2179 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2180 */ 2181 NODE_FONT_FEATURE, 2182 /** 2183 * @brief Setting Enable Text Recognition. 2184 * 2185 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2186 * .value[0].i32:Enable text recognition, default value false.\n 2187 * \n 2188 * Format of the return value {@link ArkUI_AttributeItem}:\n 2189 * .value[0].i32:Enable Text Recognition\n 2190 * 2191 */ 2192 NODE_TEXT_ENABLE_DATA_DETECTOR, 2193 /** 2194 * @brief Set the text recognition configuration. 2195 * 2196 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2197 * .value[0...].i32: Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2198 * \n 2199 * Format of the return value {@link ArkUI_AttributeItem}:\n 2200 * .value[0...].i32:Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}。\n 2201 * 2202 */ 2203 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2204 /** 2205 * @brief Defines the background color of the selected text. 2206 * This attribute can be set, reset, and obtained as required through APIs. 2207 * 2208 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2209 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2210 * \n 2211 * Format of the return value {@link ArkUI_AttributeItem}:\n 2212 * .value[0].u32: color value, in 0xARGB format. \n 2213 * 2214 */ 2215 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2216 2217 /** 2218 * @brief The text component uses a formatted string object to set text content properties, 2219 * and supports property setting, property reset, and property acquisition interfaces. 2220 * 2221 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2222 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2223 * \n 2224 * Format of the return value {@link ArkUI_AttributeItem}:\n 2225 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2226 */ 2227 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2228 2229 /** 2230 * @brief Sets whether to center text vertically in the text component. 2231 * 2232 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2233 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 2234 * \n 2235 * Format of the return value {@link ArkUI_AttributeItem}:\n 2236 * .value[0].i32: whether to center text vertically. \n 2237 * 2238 */ 2239 NODE_TEXT_HALF_LEADING = 1029, 2240 2241 /** 2242 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2243 * The font weight specified by this API is not affected by any changes in the system font weight settings. 2244 * 2245 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2246 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2247 * \n 2248 * Format of the return value {@link ArkUI_AttributeItem}:\n 2249 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2250 * 2251 * @since 15 2252 */ 2253 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2254 2255 /** 2256 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2257 * 2258 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2259 * .string: content of the text span. \n 2260 * \n 2261 * Format of the return value {@link ArkUI_AttributeItem}:\n 2262 * .string: content of the text span. \n 2263 * 2264 */ 2265 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2266 /** 2267 * @brief Defines the text background style. 2268 * This attribute can be set, reset, and obtained as required through APIs. 2269 * 2270 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2271 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2272 * The second parameter indicates the rounded corners of the text background. Two setting modes are available: \n 2273 * 1: .value[1].f32: radius of the four corners, in vp. \n 2274 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2275 * .value[2].f32: radius of the upper right corner, in vp. \n 2276 * .value[3].f32: radius of the lower left corner, in vp. \n 2277 * .value[4].f32: radius of the lower right corner, in vp. \n 2278 * \n 2279 * Format of the return value {@link ArkUI_AttributeItem}:\n 2280 * .value[0].u32: color of the text background, in 0xARGB format. \n 2281 * .value[1].f32: radius of the upper left corner, in vp. \n 2282 * .value[2].f32: radius of the upper right corner, in vp. \n 2283 * .value[3].f32: radius of the lower left corner, in vp. \n 2284 * .value[4].f32: radius of the lower right corner, in vp. \n 2285 * 2286 */ 2287 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2288 /** 2289 * @brief Defines the text baseline offset attribute 2290 * This attribute can be set, reset, and obtained as required through APIs. 2291 * 2292 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2293 * .value[0].f32: baseline offset, in fp.\n 2294 * \n 2295 * Format of the return value {@link ArkUI_AttributeItem}:\n 2296 * .value[0].f32: baseline offset, in fp. \n 2297 * 2298 */ 2299 NODE_SPAN_BASELINE_OFFSET, 2300 /** 2301 * @brief Defines the image source of the image span. 2302 * This attribute can be set, reset, and obtained as required through APIs. 2303 * 2304 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2305 * .string: image address of the image span.\n 2306 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2307 * \n 2308 * Format of the return value {@link ArkUI_AttributeItem}:\n 2309 * .string: image address of the image span.\n 2310 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2311 * 2312 */ 2313 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2314 /** 2315 * @brief Defines the alignment mode of the image with the text. 2316 * This attribute can be set, reset, and obtained as required through APIs. 2317 * 2318 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2319 * .value[0].i32: alignment mode of the image with the text. 2320 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2321 * \n 2322 * Format of the return value {@link ArkUI_AttributeItem}:\n 2323 * .value[0].i32: alignment mode of the image with the text. 2324 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2325 * 2326 */ 2327 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2328 /** 2329 * @brief Defines the placeholder image source. 2330 * This attribute can be set, reset, and obtained as required through APIs. 2331 * 2332 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2333 * .string: placeholder image source. \n 2334 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2335 * \n 2336 * Format of the return value {@link ArkUI_AttributeItem}:\n 2337 * .string: placeholder image source. \n 2338 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2339 * 2340 */ 2341 NODE_IMAGE_SPAN_ALT, 2342 /** 2343 * @brief Defines the baseline offset attribute of the <b>ImageSpan</b> component. 2344 * This attribute can be set, reset, and obtained as required through APIs. 2345 * A positive value means an upward offset, while a negative value means a downward offset. 2346 * The default value is <b>0</b>, and the unit is fp. \n 2347 * 2348 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2349 * .value[0].f32: baseline offset, in fp.\n 2350 * \n 2351 * Format of the return value {@link ArkUI_AttributeItem}:\n 2352 * .value[0].f32: baseline offset, in fp. \n 2353 * 2354 * @since 13 2355 */ 2356 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2357 /** 2358 * @brief Defines the image source of the <Image> component. 2359 * This attribute can be set, reset, and obtained as required through APIs. 2360 * 2361 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2362 * .string: image source.\n 2363 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2364 * \n 2365 * Format of the return value {@link ArkUI_AttributeItem}:\n 2366 * .string: image source.\n 2367 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2368 * 2369 */ 2370 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2371 /** 2372 * @brief Defines how the image is resized to fit its container. 2373 * This attribute can be set, reset, and obtained as required through APIs. 2374 * 2375 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2376 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2377 * \n 2378 * Format of the return value {@link ArkUI_AttributeItem}:\n 2379 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2380 * 2381 */ 2382 NODE_IMAGE_OBJECT_FIT, 2383 /** 2384 * @brief Defines the interpolation effect of the image. 2385 * This attribute can be set, reset, and obtained as required through APIs. 2386 * 2387 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2388 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2389 * \n 2390 * Format of the return value {@link ArkUI_AttributeItem}:\n 2391 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2392 * 2393 */ 2394 NODE_IMAGE_INTERPOLATION, 2395 /** 2396 * @brief Defines how the image is repeated. 2397 * This attribute can be set, reset, and obtained as required through APIs. 2398 * 2399 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2400 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2401 * \n 2402 * Format of the return value {@link ArkUI_AttributeItem}:\n 2403 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2404 * 2405 */ 2406 NODE_IMAGE_OBJECT_REPEAT, 2407 /** 2408 * @brief Defines the color filter of the image. 2409 * This attribute can be set, reset, and obtained as required through APIs. 2410 * 2411 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2412 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2413 * .size: 5 x 4 filter array size. \n 2414 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2415 * \n 2416 * Format of the return value {@link ArkUI_AttributeItem}:\n 2417 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2418 * .size: 5 x 4 filter array size. \n 2419 * .object: the pointer to OH_Drawing_ColorFilter. \n 2420 * 2421 */ 2422 NODE_IMAGE_COLOR_FILTER, 2423 /** 2424 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2425 * 2426 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2427 * .value[0].i32 : whether to resize the image source. \n 2428 * \n 2429 * Format of the return value {@link ArkUI_AttributeItem}:\n 2430 * .value[0].i32 : whether to resize the image source. \n 2431 * 2432 */ 2433 NODE_IMAGE_AUTO_RESIZE, 2434 /** 2435 * @brief Defines the placeholder image source. 2436 * This attribute can be set, reset, and obtained as required through APIs. 2437 * 2438 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2439 * .string: placeholder image source. \n 2440 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2441 * \n 2442 * Format of the return value {@link ArkUI_AttributeItem}:\n 2443 * .string: placeholder image source. \n 2444 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2445 * 2446 */ 2447 NODE_IMAGE_ALT, 2448 /** 2449 * @brief Defines whether the image is draggable. 2450 * This attribute can be set, reset, and obtained as required through APIs. 2451 * 2452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2453 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2454 * \n 2455 * Format of the return value {@link ArkUI_AttributeItem}:\n 2456 * .value[0].i32: whether the image is draggable. \n 2457 * 2458 */ 2459 NODE_IMAGE_DRAGGABLE, 2460 /** 2461 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2462 * 2463 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2464 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2465 * \n 2466 * Format of the return value {@link ArkUI_AttributeItem}:\n 2467 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2468 * 2469 */ 2470 NODE_IMAGE_RENDER_MODE, 2471 /** 2472 * @brief Defines whether the image display size follows the image source size. 2473 * This attribute can be set, reset, and obtained as required through APIs. 2474 * 2475 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2476 * .value[0].i32: wheter to follow, true means to follow.\n 2477 * \n 2478 * Format of the return value {@link ArkUI_AttributeItem}:\n 2479 * .value[0].i32: wheter to follow, true means to follow.\n 2480 * 2481 */ 2482 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2483 /** 2484 * @brief Defines the fill color of the swiper. 2485 * This attribute can be set, reset, and obtained as required through APIs. 2486 * 2487 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2488 * .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2489 * \n 2490 * Format of the return value {@link ArkUI_AttributeItem}:\n 2491 * .value[0].u32: fill color, in 0xARGB format. \n 2492 * 2493 */ 2494 NODE_IMAGE_FILL_COLOR, 2495 /** 2496 * @brief Sets the resizable image options. 2497 * 2498 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2499 * .value[0].f32: width of the left edge. The unit is vp. \n 2500 * .value[1].f32: width of the top edge. The unit is vp. \n 2501 * .value[2].f32: width of the right edge. The unit is vp. \n 2502 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2503 * \n 2504 * Format of the return value {@link ArkUI_AttributeItem}:\n 2505 * .value[0].f32: width of the left edge. The unit is vp. \n 2506 * .value[1].f32: width of the top edge. The unit is vp. \n 2507 * .value[2].f32: width of the right edge. The unit is vp. \n 2508 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2509 * 2510 */ 2511 NODE_IMAGE_RESIZABLE, 2512 /** 2513 * @brief Defines the color of the component when it is selected. 2514 * This attribute can be set, reset, and obtained as required through APIs. 2515 * 2516 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2517 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2518 * \n 2519 * Format of the return value {@link ArkUI_AttributeItem}:\n 2520 * .value[0].u32: background color, in 0xARGB format. \n 2521 * 2522 */ 2523 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2524 /** 2525 * @brief Defines the color of the circular slider for the component of the switch type. 2526 * This attribute can be set, reset, and obtained as required through APIs. 2527 * 2528 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2529 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2530 * \n 2531 * Format of the return value {@link ArkUI_AttributeItem}:\n 2532 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2533 * 2534 */ 2535 NODE_TOGGLE_SWITCH_POINT_COLOR, 2536 /** 2537 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2538 * 2539 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2540 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2541 * \n 2542 * Format of the return value {@link ArkUI_AttributeItem}:\n 2543 * .value[0].i32: whether to enable the toggle. \n 2544 * 2545 */ 2546 NODE_TOGGLE_VALUE, 2547 2548 /** 2549 * @brief Defines the color of the component when it is deselected. 2550 * This attribute can be set, reset, and obtained as required through APIs. 2551 * 2552 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2553 *.value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2554 * \n 2555 * Format of the return value {@link ArkUI_AttributeItem}:\n 2556 * .value[0].u32: background color, in 0xARGB format. \n 2557 * 2558 */ 2559 NODE_TOGGLE_UNSELECTED_COLOR, 2560 2561 /** 2562 * @brief Defines the foreground color of the loading progress bar. 2563 * This attribute can be set, reset, and obtained as required through APIs. 2564 * 2565 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2566 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2567 * \n 2568 * Format of the return value {@link ArkUI_AttributeItem}:\n 2569 * .value[0].u32: foreground color, in 0xARGB format. \n 2570 * 2571 */ 2572 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2573 /** 2574 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2575 * This attribute can be set, reset, and obtained as required through APIs. 2576 * 2577 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2578 * .value[0].i32: whether to show the loading animation. 2579 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2580 * \n 2581 * Format of the return value {@link ArkUI_AttributeItem}:\n 2582 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2583 * 2584 */ 2585 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2586 2587 /** 2588 * @brief Defines the default placeholder text of the single-line text box. 2589 * This attribute can be set, reset, and obtained as required through APIs. 2590 * 2591 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2592 * .string: default placeholder text. \n 2593 * \n 2594 * Format of the return value {@link ArkUI_AttributeItem}:\n 2595 * .string: default placeholder text. \n 2596 * 2597 */ 2598 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2599 /** 2600 * @brief Defines the default text content of the single-line text box. 2601 * This attribute can be set, reset, and obtained as required through APIs. 2602 * 2603 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2604 * .string: default text content. \n 2605 * \n 2606 * Format of the return value {@link ArkUI_AttributeItem}:\n 2607 * .string: default text content. \n 2608 * 2609 */ 2610 NODE_TEXT_INPUT_TEXT, 2611 /** 2612 * @brief Defines the caret color attribute. 2613 * This attribute can be set, reset, and obtained as required through APIs. 2614 * 2615 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2616 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2617 * \n 2618 * Format of the return value {@link ArkUI_AttributeItem}:\n 2619 * .value[0].u32: caret color, in 0xARGB format. \n 2620 * 2621 */ 2622 NODE_TEXT_INPUT_CARET_COLOR, 2623 /** 2624 * @brief Defines the caret style attribute. 2625 * This attribute can be set, reset, and obtained as required through APIs. 2626 * 2627 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2628 * .value[0].f32: caret width, in vp.\n 2629 * \n 2630 * Format of the return value {@link ArkUI_AttributeItem}:\n 2631 * .value[0].f32: caret width, in vp. \n 2632 * 2633 */ 2634 NODE_TEXT_INPUT_CARET_STYLE, 2635 /** 2636 * @brief Defines the underline attribute of the single-line text box. 2637 * This attribute can be set, reset, and obtained as required through APIs. 2638 * 2639 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2640 * .value[0].i32: whether to show an underline. 2641 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2642 * \n 2643 * Format of the return value {@link ArkUI_AttributeItem}:\n 2644 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2645 * 2646 */ 2647 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2648 /** 2649 * @brief Defines the maximum number of characters in the text input. 2650 * This attribute can be set, reset, and obtained as required through APIs. 2651 * 2652 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2653 * .value[0].i32: maximum number of characters in the text input, without a unit. \n 2654 * \n 2655 * Format of the return value {@link ArkUI_AttributeItem}:\n 2656 * .value[0].i32: maximum number of characters in the text input. \n 2657 * 2658 */ 2659 NODE_TEXT_INPUT_MAX_LENGTH, 2660 /** 2661 * @brief Defines the type of the Enter key. 2662 * This attribute can be set, reset, and obtained as required through APIs. 2663 * 2664 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2665 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 2666 * \n 2667 * Format of the return value {@link ArkUI_AttributeItem}:\n 2668 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 2669 * 2670 */ 2671 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 2672 /** 2673 * @brief Defines the placeholder text color. 2674 * This attribute can be set, reset, and obtained as required through APIs. 2675 * 2676 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2677 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2678 * \n 2679 * Format of the return value {@link ArkUI_AttributeItem}:\n 2680 * .value[0].u32: color value, in 0xARGB format. \n 2681 * 2682 */ 2683 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 2684 /** 2685 * @brief Defines the placeholder text font. 2686 * This attribute can be set, reset, and obtained as required through APIs. 2687 * 2688 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2689 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2690 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 2691 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 2692 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 2693 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2694 * ?.string: font family. Multiple font families are separated by commas (,). 2695 * Example: "font weight; font family 1, font family 2". \n 2696 * \n 2697 * Format of the return value {@link ArkUI_AttributeItem}:\n 2698 * .value[0].f32: font size, in fp.\n 2699 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2700 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2701 * .string: font family. Multiple font families are separated by commas (,). \n 2702 * 2703 */ 2704 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 2705 /** 2706 * @brief Defines whether to enable the input method when the component obtains focus. 2707 * This attribute can be set, reset, and obtained as required through APIs. 2708 * 2709 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2710 * .value[0].i32: whether to enable the input method when the component obtains focus. 2711 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 2712 * \n 2713 * Format of the return value {@link ArkUI_AttributeItem}:\n 2714 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 2715 * and <b>0</b> means the opposite. \n 2716 * 2717 */ 2718 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 2719 /** 2720 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2721 * 2722 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2723 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 2724 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 2725 * \n 2726 * Format of the return value {@link ArkUI_AttributeItem}:\n 2727 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 2728 * 2729 */ 2730 NODE_TEXT_INPUT_TYPE, 2731 /** 2732 * @brief Defines the background color of the selected text. 2733 * This attribute can be set, reset, and obtained as required through APIs. 2734 * 2735 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2736 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2737 * \n 2738 * Format of the return value {@link ArkUI_AttributeItem}:\n 2739 * .value[0].u32: color value, in 0xARGB format. \n 2740 * 2741 */ 2742 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 2743 /** 2744 * @brief Defines whether to display the password icon at the end of the password text box. 2745 * This attribute can be set, reset, and obtained as required through APIs. 2746 * 2747 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2748 * .value[0].i32: whether to display the password icon at the end of the password text box. 2749 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 2750 * \n 2751 * Format of the return value {@link ArkUI_AttributeItem}:\n 2752 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 2753 * and <b>0</b> means the opposite. \n 2754 * 2755 */ 2756 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 2757 /** 2758 * @brief Defines the editable state for the single-line text box. 2759 * This attribute can be set as required through APIs. 2760 * 2761 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2762 * .value[0].i32: whether to remain in the editable state. The value 2763 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 2764 * \n 2765 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 2766 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 2767 * state, and <b>false</b> means to exit the editable state. \n 2768 * 2769 */ 2770 NODE_TEXT_INPUT_EDITING, 2771 /** 2772 * @brief Defines the style of the cancel button on the right of the single-line text box. 2773 * This attribute can be set, reset, and obtained as required through APIs. 2774 * 2775 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2776 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 2777 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 2778 * .value[1]?.f32: button icon size, in vp.\n 2779 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2780 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 2781 * \n 2782 * Format of the return value {@link ArkUI_AttributeItem}:\n 2783 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 2784 * .value[1].f32: icon size, in vp.\n 2785 * .value[2].u32: button icon color, in 0xARGB format.\n 2786 * .string: button icon image source. \n 2787 * 2788 */ 2789 NODE_TEXT_INPUT_CANCEL_BUTTON, 2790 /** 2791 * @brief Sets the text selection area, which will be highlighted. 2792 * This attribute can be set, reset, and obtained as required through APIs. 2793 * 2794 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2795 * .value[0].i32: start position of the text selection. \n 2796 * .value[1].i32: end position of the text selection. \n 2797 * \n 2798 * Format of the return value {@link ArkUI_AttributeItem}:\n 2799 * .value[0].i32: start position of the text selection. \n 2800 * .value[1].i32: end position of the text selection. \n 2801 * 2802 */ 2803 NODE_TEXT_INPUT_TEXT_SELECTION, 2804 /** 2805 * @brief Sets the color of the text underline when it is enabled. 2806 * 2807 * The default underline color configured for the theme is <b>'0x33182431'</b>. 2808 * 2809 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2810 * .value[0].u32: color of the underline applied to the text being typed in. 2811 * The value is in 0xARGB format. \n 2812 * .value[1].u32: color of the underline applied to the text in the normal state. 2813 * The value is in 0xARGB format. \n 2814 * .value[2].u32: color of the underline applied to the text when an error is detected. 2815 * The value is in 0xARGB format. \n 2816 * .value[3].u32: color of the underline applied to the text when it is disabled. 2817 * The value is in 0xARGB format. \n 2818 * \n 2819 * Format of the return value {@link ArkUI_AttributeItem}:\n 2820 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 2821 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 2822 * .value[2].u32: color of the underline applied to the text when an error is detected. 2823 * The value is in 0xARGB format. \n 2824 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 2825 * 2826 */ 2827 NODE_TEXT_INPUT_UNDERLINE_COLOR, 2828 /** 2829 * @brief Sets whether to enable autofill. 2830 * 2831 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2832 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 2833 * \n 2834 * Format of the return value {@link ArkUI_AttributeItem}:\n 2835 * .value[0].i32: whether to enable autofill. \n 2836 * 2837 */ 2838 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 2839 /** 2840 * @brief Sets the autofill type. 2841 * 2842 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2843 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2844 * \n 2845 * Format of the return value {@link ArkUI_AttributeItem}:\n 2846 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2847 * 2848 */ 2849 NODE_TEXT_INPUT_CONTENT_TYPE, 2850 /** 2851 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 2852 * transmitted to Password Vault for generating a new password. 2853 * 2854 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2855 * .string: rules for generating passwords. \n 2856 * \n 2857 * Format of the return value {@link ArkUI_AttributeItem}:\n 2858 * .string: rules for generating passwords. \n 2859 * 2860 */ 2861 NODE_TEXT_INPUT_PASSWORD_RULES, 2862 /** 2863 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 2864 * 2865 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2866 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 2867 * \n 2868 * Format of the return value {@link ArkUI_AttributeItem}:\n 2869 * .value[0].i32: whether to select all text in the initial state. \n 2870 * 2871 */ 2872 NODE_TEXT_INPUT_SELECT_ALL, 2873 /** 2874 * @brief Sets the regular expression for input filtering. 2875 * Only inputs that comply with the regular expression can be displayed. 2876 * Other inputs are filtered out. The specified regular expression can match single characters, 2877 * but not strings. 2878 * 2879 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2880 * .string: regular expression. \n 2881 * \n 2882 * Format of the return value {@link ArkUI_AttributeItem}:\n 2883 * .string: regular expression. \n 2884 * 2885 */ 2886 NODE_TEXT_INPUT_INPUT_FILTER, 2887 /** 2888 * @brief Sets the text box to the default style or inline input style. 2889 * 2890 * For the inline input style, only <b>InputType.Normal</b> is supported. 2891 * 2892 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2893 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2894 * \n 2895 * Format of the return value {@link ArkUI_AttributeItem}:\n 2896 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2897 * 2898 */ 2899 NODE_TEXT_INPUT_STYLE, 2900 /** 2901 * @brief Sets or obtains the caret position. 2902 * 2903 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2904 * In the case of setting the caret position: 2905 * .value[0].i32: character count from the beginning of a string to the caret position. \n 2906 * 2907 * Format of the return value {@link ArkUI_AttributeItem}:\n 2908 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 2909 * current frame, it will not take effect. 2910 * .value[0].i32: index of the caret position. \n 2911 * .value[1].f32: X coordinate of the caret relative to the text box. \n 2912 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 2913 */ 2914 NODE_TEXT_INPUT_CARET_OFFSET, 2915 /** 2916 * @brief Obtains the position of the edited text area relative to the component and its size. 2917 * 2918 * Format of the return value {@link ArkUI_AttributeItem}:\n 2919 * .value[0].f32: horizontal coordinate. \n 2920 * .value[1].f32: vertical coordinate. \n 2921 * .value[2].f32: content width. \n 2922 * .value[3].f32: content height. \n 2923 * 2924 */ 2925 NODE_TEXT_INPUT_CONTENT_RECT, 2926 /** 2927 * @brief Obtains the number of lines of the edited text. 2928 * 2929 * Format of the return value {@link ArkUI_AttributeItem}:\n 2930 * .value[0].i32: number of lines of the edited text. \n 2931 * 2932 */ 2933 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 2934 /** 2935 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or 2936 * right-clicked. This attribute can be set, reset, and obtained as required through APIs. 2937 * 2938 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2939 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 2940 * right-clicked. The default value is <b>false</b>. \n 2941 * \n 2942 * Format of the return value {@link ArkUI_AttributeItem}:\n 2943 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 2944 * right-clicked. \n 2945 * 2946 */ 2947 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 2948 /** 2949 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 2950 * 2951 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2952 * .value[0].i32: whether the text box loses focus. \n 2953 * \n 2954 * Format of the return value {@link ArkUI_AttributeItem}:\n 2955 * .value[0].i32: whether the text box loses focus. \n 2956 * 2957 */ 2958 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 2959 /** 2960 * @brief Set up a custom keyboard. 2961 * 2962 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2963 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 2964 * .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.\n 2965 * \n 2966 * Format of the return value {@link ArkUI_AttributeItem}:\n 2967 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}。\n 2968 * .value[0].i32:Set whether the custom keyboard supports the avoidance function.\n 2969 * 2970 */ 2971 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 2972 /** 2973 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 2974 * 2975 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2976 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2977 * \n 2978 * Format of the return value {@link ArkUI_AttributeItem}:\n 2979 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2980 * 2981 */ 2982 NODE_TEXT_INPUT_WORD_BREAK, 2983 2984 /** 2985 * @brief Sets whether the keyboard pops up when the input box gains focus. 2986 * It supports property setting, property reset and property acquisition interfaces. 2987 * 2988 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 2989 * .value[0].i32: Whether to pop up the keyboard. \n 2990 * \n 2991 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 2992 * .value[0].i32: Whether to pop up the keyboard. \n 2993 * 2994 */ 2995 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 2996 2997 /** 2998 * @brief When this property is set, the height of the textInput component is calculated using this property. 2999 * 3000 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3001 * .value[0].i32: set the value of numberOfLines.\n 3002 * \n 3003 * Format of the return value {@link ArkUI_AttributeItem}:\n 3004 * .value[0].i32: the value of numberOfLines.\n 3005 * 3006 */ 3007 NODE_TEXT_INPUT_NUMBER_OF_LINES, 3008 3009 /** 3010 * @brief Sets the letter spacing of the <b>TextInput</b> component. 3011 * This attribute can be set, reset, and obtained as required through APIs. 3012 * 3013 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3014 * .value[0].f32: letter spacing. The default unit is fp. \n 3015 * \n 3016 * Format of the return value {@link ArkUI_AttributeItem}:\n 3017 * .value[0].f32: letter spacing. The default unit is fp. \n 3018 * 3019 * @since 15 3020 */ 3021 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 3022 3023 /** 3024 * @brief Sets whether to enable preview text for the <b>TextInput</b> component. 3025 * This attribute can be set, reset, and obtained as required through APIs. 3026 * 3027 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3028 * .value[0].i32: whether to enable preview tex. \n 3029 * \n 3030 * Format of the return value {@link ArkUI_AttributeItem}:\n 3031 * .value[0].i32: whether to enable preview tex. \n 3032 * 3033 * @since 15 3034 */ 3035 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 3036 3037 /** 3038 * @brief Set the keyboard style of textInput 3039 * 3040 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3041 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3042 * \n 3043 * Format of the return value {@link ArkUI_AttributeItem}:\n 3044 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3045 * 3046 * @since 15 3047 */ 3048 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 3049 3050 /** 3051 * @brief Defines the default placeholder text for the multi-line text box. 3052 * This attribute can be set, reset, and obtained as required through APIs. 3053 * 3054 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3055 * .string: default placeholder text. \n 3056 * \n 3057 * Format of the return value {@link ArkUI_AttributeItem}:\n 3058 * .string: default placeholder text. \n 3059 * 3060 */ 3061 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 3062 /** 3063 * @brief Defines the default text content for the multi-line text box. 3064 * This attribute can be set, reset, and obtained as required through APIs. 3065 * 3066 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3067 * .string: default text content. \n 3068 * \n 3069 * Format of the return value {@link ArkUI_AttributeItem}:\n 3070 * .string: default text content. \n 3071 * 3072 */ 3073 NODE_TEXT_AREA_TEXT, 3074 /** 3075 * @brief Defines the maximum number of characters in the text input. 3076 * This attribute can be set, reset, and obtained as required through APIs. 3077 * 3078 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3079 * .value[0].i32: maximum number of characters in the text input. \n 3080 * \n 3081 * Format of the return value {@link ArkUI_AttributeItem}:\n 3082 * .value[0].i32: maximum number of characters in the text input. \n 3083 * 3084 */ 3085 NODE_TEXT_AREA_MAX_LENGTH, 3086 /** 3087 * @brief Defines the placeholder text color. 3088 * This attribute can be set, reset, and obtained as required through APIs. 3089 * 3090 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3091 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3092 * \n 3093 * Format of the return value {@link ArkUI_AttributeItem}:\n 3094 * .value[0].u32: color value, in 0xARGB format. \n 3095 * 3096 */ 3097 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 3098 /** 3099 * @brief Defines the placeholder text font. 3100 * This attribute can be set, reset, and obtained as required through APIs. 3101 * 3102 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3103 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3104 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 3105 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 3106 * ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2". \n 3107 * \n 3108 * Format of the return value {@link ArkUI_AttributeItem}:\n 3109 * .value[0].f32: font size, in fp.\n 3110 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3111 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3112 * .string: font family. Multiple font families are separated by commas (,). \n 3113 * 3114 */ 3115 NODE_TEXT_AREA_PLACEHOLDER_FONT, 3116 /** 3117 * @brief Defines the caret color attribute. 3118 * This attribute can be set, reset, and obtained as required through APIs. 3119 * 3120 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3121 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3122 * \n 3123 * Format of the return value {@link ArkUI_AttributeItem}:\n 3124 * .value[0].u32: background color, in 0xARGB format. \n 3125 * 3126 */ 3127 NODE_TEXT_AREA_CARET_COLOR, 3128 /** 3129 * @brief Defines the editable state for the multi-line text box. 3130 * This attribute can be set as required through APIs. 3131 * 3132 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3133 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 3134 * editable state, and <b>false</b> means to exit the editable state.\n \n 3135 * \n 3136 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3137 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3138 * state, and <b>false</b> means to exit the editable state.\n \n 3139 * 3140 */ 3141 NODE_TEXT_AREA_EDITING, 3142 /** 3143 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 3144 * 3145 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3146 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. 3147 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 3148 * \n 3149 * Format of the return value {@link ArkUI_AttributeItem}:\n 3150 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 3151 * 3152 */ 3153 NODE_TEXT_AREA_TYPE, 3154 /** 3155 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 3156 * 3157 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3158 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 3159 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 3160 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3161 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 3162 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 3163 * \n 3164 * Format of the return value {@link ArkUI_AttributeItem}:\n 3165 * .value[0].i32: whether to show a character counter. \n 3166 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 3167 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3168 * by the threshold percentage value. The value range is 1 to 100. \n 3169 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 3170 * The default value is <b>true</b>. \n 3171 * 3172 */ 3173 NODE_TEXT_AREA_SHOW_COUNTER, 3174 /** 3175 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, 3176 * or right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3177 * 3178 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3179 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3180 * or right-clicked. The default value is <b>false</b>. \n 3181 * \n 3182 * Format of the return value {@link ArkUI_AttributeItem}:\n 3183 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3184 * or right-clicked. \n 3185 * 3186 */ 3187 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 3188 /** 3189 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 3190 * 3191 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3192 * .value[0].i32: whether the text box loses focus. \n 3193 * \n 3194 * Format of the return value {@link ArkUI_AttributeItem}:\n 3195 * .value[0].i32: whether the text box loses focus. \n 3196 * 3197 */ 3198 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 3199 /** 3200 * @brief Sets the regular expression for input filtering. 3201 * Only inputs that comply with the regular expression can be displayed. 3202 * Other inputs are filtered out. The specified regular expression can match single characters, 3203 * but not strings. 3204 * 3205 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3206 * .string: regular expression. \n 3207 * \n 3208 * Format of the return value {@link ArkUI_AttributeItem}:\n 3209 * .string: regular expression. \n 3210 * 3211 */ 3212 NODE_TEXT_AREA_INPUT_FILTER, 3213 /** 3214 * @brief Defines the background color of the selected text. 3215 * This attribute can be set, reset, and obtained as required through APIs. 3216 * 3217 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3218 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3219 * \n 3220 * Format of the return value {@link ArkUI_AttributeItem}:\n 3221 * .value[0].u32: color value, in 0xARGB format. \n 3222 * 3223 */ 3224 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3225 /** 3226 * @brief Defines the type of the Enter key. 3227 * This attribute can be set, reset, and obtained as required through APIs. 3228 * 3229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3230 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3231 * \n 3232 * Format of the return value {@link ArkUI_AttributeItem}:\n 3233 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3234 * 3235 */ 3236 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3237 /** 3238 * @brief Defines whether to enable the input method when the component obtains focus. 3239 * This attribute can be set, reset, and obtained as required through APIs. 3240 * 3241 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3242 * .value[0].i32: whether to enable the input method when the component obtains focus. 3243 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3244 * \n 3245 * Format of the return value {@link ArkUI_AttributeItem}:\n 3246 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3247 * and <b>0</b> means the opposite. \n 3248 * 3249 */ 3250 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3251 /** 3252 * @brief Defines whether to enable the input method when the component obtains focus. 3253 * This attribute can be set, reset, and obtained as required through APIs. 3254 * 3255 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3256 * .value[0].i32: whether to enable the input method when the component obtains focus. 3257 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3258 * \n 3259 * Format of the return value {@link ArkUI_AttributeItem}:\n 3260 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3261 * and <b>0</b> means the opposite. \n 3262 * 3263 */ 3264 NODE_TEXT_AREA_CARET_OFFSET, 3265 /** 3266 * @brief Obtains the position of the edited text area relative to the component and its size. 3267 * 3268 * Format of the return value {@link ArkUI_AttributeItem}:\n 3269 * .value[0].f32: horizontal coordinate. \n 3270 * .value[1].f32: vertical coordinate. \n 3271 * .value[2].f32: content width. \n 3272 * .value[3].f32: content height. \n 3273 * 3274 */ 3275 NODE_TEXT_AREA_CONTENT_RECT, 3276 /** 3277 * @brief Obtains the number of lines of the edited text. 3278 * 3279 * Format of the return value {@link ArkUI_AttributeItem}:\n 3280 * .value[0].i32: number of lines of the edited text. \n 3281 * 3282 */ 3283 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3284 /** 3285 * @brief Sets the text selection area, which will be highlighted. 3286 * This attribute can be set, reset, and obtained as required through APIs. 3287 * 3288 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3289 * .value[0].i32: start position of the text selection. \n 3290 * .value[1].i32: end position of the text selection. \n 3291 * \n 3292 * Format of the return value {@link ArkUI_AttributeItem}:\n 3293 * .value[0].i32: start position of the text selection. \n 3294 * .value[1].i32: end position of the text selection. \n 3295 * 3296 */ 3297 NODE_TEXT_AREA_TEXT_SELECTION, 3298 /** 3299 * @brief Sets whether to enable autofill. 3300 * 3301 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3302 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3303 * \n 3304 * Format of the return value {@link ArkUI_AttributeItem}:\n 3305 * .value[0].i32: whether to enable autofill. \n 3306 * 3307 */ 3308 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3309 /** 3310 * @brief Sets the autofill type. 3311 * 3312 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3313 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3314 * \n 3315 * Format of the return value {@link ArkUI_AttributeItem}:\n 3316 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3317 * 3318 */ 3319 NODE_TEXT_AREA_CONTENT_TYPE, 3320 3321 /** 3322 * @brief Sets whether the keyboard pops up when the input box gains focus. 3323 * It supports property setting, property reset and property acquisition interfaces. 3324 * 3325 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3326 * .value[0].i32: Whether to pop up the keyboard. \n 3327 * \n 3328 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 3329 * .value[0].i32: Whether to pop up the keyboard. \n 3330 * 3331 */ 3332 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3333 3334 /** 3335 * @brief When this property is set, the height of the textArea component is calculated using this property. 3336 * 3337 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3338 * .value[0].i32: set the value of numberOfLines.\n 3339 * \n 3340 * Format of the return value {@link ArkUI_AttributeItem}:\n 3341 * .value[0].i32: Set the value of numberOfLines\n 3342 * 3343 */ 3344 NODE_TEXT_AREA_NUMBER_OF_LINES, 3345 3346 /** 3347 * @brief Sets the letter spacing of the <b>TextArea</b> component. 3348 * This attribute can be set, reset, and obtained as required through APIs. 3349 * 3350 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3351 * .value[0].f32: letter spacing. The default unit is fp. \n 3352 * \n 3353 * Format of the return value {@link ArkUI_AttributeItem}:\n 3354 * .value[0].f32: letter spacing. The default unit is fp. \n 3355 * 3356 * @since 15 3357 */ 3358 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3359 /** 3360 * @brief Sets whether to enable preview text for the <b>TextArea</b> component. 3361 * This attribute can be set, reset, and obtained as required through APIs. 3362 * 3363 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3364 * .value[0].i32: whether to enable preview tex. \n 3365 * \n 3366 * Format of the return value {@link ArkUI_AttributeItem}:\n 3367 * .value[0].i32: whether to enable preview tex. \n 3368 * 3369 * @since 15 3370 */ 3371 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3372 3373 /** 3374 * @brief Set the keyboard style of textArea 3375 * 3376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3377 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3378 * \n 3379 * Format of the return value {@link ArkUI_AttributeItem}:\n 3380 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearanceType}。\n 3381 * 3382 * @since 15 3383 */ 3384 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3385 3386 /** 3387 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3388 * 3389 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3390 * .string: default text content. \n 3391 * \n 3392 * Format of the return value {@link ArkUI_AttributeItem}:\n 3393 * .string: default text content. \n 3394 * 3395 */ 3396 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3397 3398 /** 3399 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3400 * 3401 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3402 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3403 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3404 * \n 3405 * Format of the return value {@link ArkUI_AttributeItem}:\n 3406 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3407 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3408 * 3409 */ 3410 NODE_BUTTON_TYPE, 3411 3412 /** 3413 * @brief Defines the current value of the progress indicator. 3414 * This attribute can be set, reset, and obtained as required through APIs. 3415 * 3416 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3417 * .value[0].f32: current value of the progress indicator. \n 3418 * \n 3419 * Format of the return value {@link ArkUI_AttributeItem}:\n 3420 * .value[0].f32: current value of the progress indicator. \n 3421 * 3422 */ 3423 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3424 /** 3425 * @brief Defines the total value of the progress indicator. 3426 * This attribute can be set, reset, and obtained as required through APIs. 3427 * 3428 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3429 * .value[0].f32: total value of the progress indicator. \n 3430 * \n 3431 * Format of the return value {@link ArkUI_AttributeItem}:\n 3432 * .value[0].f32: total value of the progress indicator. \n 3433 * 3434 */ 3435 NODE_PROGRESS_TOTAL, 3436 /** 3437 * @brief Defines the color for the progress value on the progress indicator. 3438 * This attribute can be set, reset, and obtained as required through APIs. 3439 * 3440 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3441 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3442 * \n 3443 * Format of the return value {@link ArkUI_AttributeItem}:\n 3444 * .value[0].u32: color value, in 0xARGB format. \n 3445 * 3446 */ 3447 NODE_PROGRESS_COLOR, 3448 /** 3449 * @brief Defines the type of the progress indicator. 3450 * This attribute can be set, reset, and obtained as required through APIs. 3451 * 3452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3453 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3454 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3455 * \n 3456 * Format of the return value {@link ArkUI_AttributeItem}:\n 3457 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3458 * 3459 */ 3460 NODE_PROGRESS_TYPE, 3461 /** 3462 * @brief Sets the style of the linear progress indicator. 3463 * This attribute can be set, reset, and obtained as required through APIs. 3464 * If the progress indicator type is not linear, it will not take effect. 3465 * 3466 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3467 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3468 * \n 3469 * Format of the return value {@link ArkUI_AttributeItem}:\n 3470 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3471 * 3472 * @since 15 3473 */ 3474 NODE_PROGRESS_LINEAR_STYLE, 3475 3476 /** 3477 * @brief Defines whether the check box is selected. 3478 * This attribute can be set, reset, and obtained as required through APIs. 3479 * 3480 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3481 * .value[0].i32: whether the check box is selected. 3482 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3483 * \n 3484 * Format of the return value {@link ArkUI_AttributeItem}:\n 3485 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3486 * 3487 */ 3488 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3489 3490 /** 3491 * @brief Defines the color of the check box when it is selected. 3492 * This attribute can be set, reset, and obtained as required through APIs. 3493 * 3494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3495 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3496 * \n 3497 * Format of the return value {@link ArkUI_AttributeItem}:\n 3498 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3499 * 3500 */ 3501 NODE_CHECKBOX_SELECT_COLOR, 3502 3503 /** 3504 * @brief Defines the border color of the check box when it is not selected. 3505 * This attribute can be set, reset, and obtained as required through APIs. 3506 * 3507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3508 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3509 * \n 3510 * Format of the return value {@link ArkUI_AttributeItem}:\n 3511 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3512 * 3513 */ 3514 NODE_CHECKBOX_UNSELECT_COLOR, 3515 3516 /** 3517 * @brief Defines the internal icon style of the check box. 3518 * This attribute can be set, reset, and obtained as required through APIs. 3519 * 3520 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3521 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3522 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 3523 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 3524 * \n 3525 * Format of the return value {@link ArkUI_AttributeItem}:\n 3526 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3527 * .value[1].f32: size of the internal mark, in vp. \n 3528 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 3529 * 3530 */ 3531 NODE_CHECKBOX_MARK, 3532 3533 /** 3534 * @brief Defines the shape of the check box. 3535 * This attribute can be set, reset, and obtained as required through APIs. 3536 * 3537 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3538 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 3539 * \n 3540 * Format of the return value {@link ArkUI_AttributeItem}:\n 3541 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 3542 * 3543 */ 3544 NODE_CHECKBOX_SHAPE, 3545 3546 /** 3547 * @brief Defines the name of the checkbox. 3548 * This attribute can be set, reset, and obtained as required through APIs. 3549 * 3550 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3551 * .string: component name. \n 3552 * \n 3553 * Format of the return value {@link ArkUI_AttributeItem}:\n 3554 * .string: component name. \n 3555 * 3556 * @since 15 3557 */ 3558 NODE_CHECKBOX_NAME, 3559 3560 /** 3561 * @brief Defines the name of the checkbox. 3562 * This attribute can be set, reset, and obtained as required through APIs. 3563 * 3564 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3565 * .string: component name. \n 3566 * \n 3567 * Format of the return value {@link ArkUI_AttributeItem}:\n 3568 * .string: component name. \n 3569 * 3570 * @since 15 3571 */ 3572 NODE_CHECKBOX_GROUP, 3573 3574 /** 3575 * @brief Defines the ID of the <b><XComponent></b> component. 3576 * This attribute can be set and obtained as required through APIs. 3577 * 3578 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3579 * .string: component ID. \n 3580 * \n 3581 * Format of the return value {@link ArkUI_AttributeItem}:\n 3582 * .string: component ID. \n 3583 * 3584 */ 3585 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 3586 /** 3587 * @brief Defines the type of the <b><XComponent></b> component. 3588 * This attribute can be set, reset, and obtained as required through APIs. 3589 * 3590 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3591 * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n 3592 * \n 3593 * Format of the return value {@link ArkUI_AttributeItem}:\n 3594 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 3595 * 3596 */ 3597 NODE_XCOMPONENT_TYPE, 3598 /** 3599 * @brief Defines the width and height of the <b><XComponent></b> component. 3600 * This attribute can be set and obtained as required through APIs. 3601 * 3602 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3603 * .value[0].u32: width, in px. \n 3604 * .value[1].u32: height, in px. \n 3605 * \n 3606 * Format of the return value {@link ArkUI_AttributeItem}:\n 3607 * .value[0].u32: width, in px. \n 3608 * .value[1].u32: height, in px. \n 3609 * 3610 */ 3611 NODE_XCOMPONENT_SURFACE_SIZE, 3612 3613 /** 3614 * @brief Defines whether to display the lunar calendar in the date picker. 3615 * This attribute can be set, reset, and obtained as required through APIs. 3616 * 3617 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3618 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 3619 * \n 3620 * Format of the return value {@link ArkUI_AttributeItem}:\n 3621 * .value[0].i32: whether to display the lunar calendar in the date picker. 3622 * 3623 */ 3624 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 3625 /** 3626 * @brief Defines the start date of the date picker. 3627 * This attribute can be set, reset, and obtained as required through APIs. 3628 * 3629 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3630 * .string: date. The default value is <b>"1970-1-1"</b>. \n 3631 * \n 3632 * Format of the return value {@link ArkUI_AttributeItem}:\n 3633 * .string: date. \n 3634 * 3635 */ 3636 NODE_DATE_PICKER_START, 3637 /** 3638 * @brief Defines the end date of the date picker. 3639 * This attribute can be set, reset, and obtained as required through APIs. 3640 * 3641 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3642 * .string: date. The default value is <b>"2100-12-31"</b>. \n 3643 * \n 3644 * Format of the return value {@link ArkUI_AttributeItem}:\n 3645 * .string: date. \n 3646 * 3647 */ 3648 NODE_DATE_PICKER_END, 3649 /** 3650 * @brief Defines the selected date of the date picker. 3651 * This attribute can be set, reset, and obtained as required through APIs. 3652 * 3653 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3654 * .string: date. The default value is <b>"2024-01-22"</b>. \n 3655 * \n 3656 * Format of the return value {@link ArkUI_AttributeItem}:\n 3657 * .string: date. 3658 * 3659 */ 3660 NODE_DATE_PICKER_SELECTED, 3661 /** 3662 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 3663 * This attribute can be set, reset, and obtained as required through APIs. 3664 * 3665 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3666 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3667 * Parameter 1: font color, in #ARGB format.\n 3668 * Parameter 2: font size, in fp. The value is a number.\n 3669 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3670 * Parameter 4: fonts, separated by commas (,).\n 3671 * Parameter 5: font style. Available options are ("normal", "italic").\n 3672 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3673 * \n 3674 * Format of the return value {@link ArkUI_AttributeItem}:\n 3675 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3676 * Parameter 1: font color, in #ARGB format.\n 3677 * Parameter 2: font size, in fp. The value is a number.\n 3678 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3679 * Parameter 4: fonts, separated by commas (,).\n 3680 * Parameter 5: font style. Available options are ("normal", "italic").\n 3681 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3682 * 3683 */ 3684 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 3685 /** 3686 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 3687 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 3688 * 3689 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3690 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3691 * Parameter 1: font color, in #ARGB format.\n 3692 * Parameter 2: font size, in fp. The value is a number.\n 3693 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3694 * Parameter 4: fonts, separated by commas (,).\n 3695 * Parameter 5: font style. Available options are ("normal", "italic").\n 3696 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3697 * \n 3698 * Format of the return value {@link ArkUI_AttributeItem}:\n 3699 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3700 * Parameter 1: font color, in #ARGB format.\n 3701 * Parameter 2: font size, in fp. The value is a number.\n 3702 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3703 * Parameter 4: fonts, separated by commas (,).\n 3704 * Parameter 5: font style. Available options are ("normal", "italic").\n 3705 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3706 * 3707 */ 3708 NODE_DATE_PICKER_TEXT_STYLE, 3709 /** 3710 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 3711 * This attribute can be set, reset, and obtained as required through APIs. 3712 * 3713 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3714 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3715 * Parameter 1: font color, in #ARGB format.\n 3716 * Parameter 2: font size, in fp. The value is a number.\n 3717 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3718 * Parameter 4: fonts, separated by commas (,).\n 3719 * Parameter 5: font style. Available options are ("normal", "italic").\n 3720 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3721 * \n 3722 * Format of the return value {@link ArkUI_AttributeItem}:\n 3723 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3724 * Parameter 1: font color, in #ARGB format.\n 3725 * Parameter 2: font size, in fp. The value is a number.\n 3726 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3727 * Parameter 4: fonts, separated by commas (,).\n 3728 * Parameter 5: font style. Available options are ("normal", "italic").\n 3729 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3730 * 3731 */ 3732 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 3733 /** 3734 * @brief Defines the time of the selected item. in the timer picker. 3735 * This attribute can be set, reset, and obtained as required through APIs. 3736 * 3737 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3738 * .string: time. The default value is the current system time. \n 3739 * \n 3740 * Format of the return value {@link ArkUI_AttributeItem}:\n 3741 * .string: time. 3742 * 3743 */ 3744 3745 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 3746 /** 3747 * @brief Defines whether the display time is in 24-hour format. 3748 * This attribute can be set, reset, and obtained as required through APIs. 3749 * 3750 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3751 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 3752 * \n 3753 * Format of the return value {@link ArkUI_AttributeItem}:\n 3754 * .value[0].i32: whether the display time is in 24-hour format. 3755 * 3756 */ 3757 NODE_TIME_PICKER_USE_MILITARY_TIME, 3758 /** 3759 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 3760 * This attribute can be set, reset, and obtained as required through APIs. 3761 * 3762 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3763 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3764 * Parameter 1: font color, in #ARGB format.\n 3765 * Parameter 2: font size, in fp. The value is a number.\n 3766 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3767 * Parameter 4: fonts, separated by commas (,).\n 3768 * Parameter 5: font style. Available options are ("normal", "italic").\n 3769 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3770 * \n 3771 * Format of the return value {@link ArkUI_AttributeItem}:\n 3772 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3773 * Parameter 1: font color, in #ARGB format.\n 3774 * Parameter 2: font size, in fp. The value is a number.\n 3775 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3776 * Parameter 4: fonts, separated by commas (,).\n 3777 * Parameter 5: font style. Available options are ("normal", "italic").\n 3778 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3779 * 3780 */ 3781 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 3782 /** 3783 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 3784 * in the time picker. This attribute can be set, reset, and obtained as required through APIs. 3785 * 3786 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3787 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3788 * Parameter 1: font color, in #ARGB format.\n 3789 * Parameter 2: font size, in fp. The value is a number.\n 3790 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3791 * Parameter 4: fonts, separated by commas (,).\n 3792 * Parameter 5: font style. Available options are ("normal", "italic").\n 3793 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3794 * \n 3795 * Format of the return value {@link ArkUI_AttributeItem}:\n 3796 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3797 * Parameter 1: font color, in #ARGB format.\n 3798 * Parameter 2: font size, in fp. The value is a number.\n 3799 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3800 * Parameter 4: fonts, separated by commas (,).\n 3801 * Parameter 5: font style. Available options are ("normal", "italic").\n 3802 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3803 * 3804 */ 3805 NODE_TIME_PICKER_TEXT_STYLE, 3806 /** 3807 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 3808 * This attribute can be set, reset, and obtained as required through APIs. 3809 * 3810 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3811 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3812 * Parameter 1: font color, in #ARGB format.\n 3813 * Parameter 2: font size, in fp. The value is a number.\n 3814 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3815 * Parameter 4: fonts, separated by commas (,).\n 3816 * Parameter 5: font style. Available options are ("normal", "italic").\n 3817 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3818 * \n 3819 * Format of the return value {@link ArkUI_AttributeItem}:\n 3820 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3821 * Parameter 1: font color, in #ARGB format.\n 3822 * Parameter 2: font size, in fp. The value is a number.\n 3823 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3824 * Parameter 4: fonts, separated by commas (,).\n 3825 * Parameter 5: font style. Available options are ("normal", "italic").\n 3826 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3827 * 3828 */ 3829 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 3830 3831 /** 3832 * @brief Defines the data selection range of the text picker. 3833 * This attribute can be set, reset, and obtained as required through APIs. 3834 * 3835 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3836 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 3837 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 3838 * ?.string: string input, whose format varies by picker type.\n 3839 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 3840 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 3841 * semicolons (;), and strings within each pair are separated by commas (,). \n 3842 * ?.object: Object input, whose format varies by picker type.\n 3843 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 3844 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 3845 * \n 3846 * Format of the return value {@link ArkUI_AttributeItem}:\n 3847 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 3848 * ?.string: string output, whose format varies by picker type.\n 3849 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 3850 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 3851 * semicolons (;), and strings within each pair are separated by commas (,). \n 3852 * ?.string: Object output, whose format varies by picker type.\n 3853 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 3854 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 3855 * 3856 */ 3857 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 3858 /** 3859 * @brief Defines the index of the default selected item in the data selection range of the text 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].u32: index. If there are multiple index values, add them one by one. \n 3864 * \n 3865 * Format of the return value {@link ArkUI_AttributeItem}:\n 3866 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 3867 * 3868 */ 3869 NODE_TEXT_PICKER_OPTION_SELECTED, 3870 /** 3871 * @brief Defines the value of the default selected item in the text picker. 3872 * This attribute can be set, reset, and obtained as required through APIs. 3873 * 3874 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3875 * .string: value of the selected item. If there are multiple values, add them one by one and 3876 * separate them with semicolons (;). \n 3877 * \n 3878 * Format of the return value {@link ArkUI_AttributeItem}:\n 3879 * .string: value of the selected item. If there are multiple values, add them one by one and 3880 * separate them with semicolons (;).\n 3881 * 3882 */ 3883 NODE_TEXT_PICKER_OPTION_VALUE, 3884 /** 3885 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker. 3886 * This attribute can be set, reset, and obtained as required through APIs. 3887 * 3888 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3889 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3890 * Parameter 1: font color, in #ARGB format.\n 3891 * Parameter 2: font size, in fp. The value is a number.\n 3892 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3893 * Parameter 4: fonts, separated by commas (,).\n 3894 * Parameter 5: font style. Available options are ("normal", "italic").\n 3895 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3896 * \n 3897 * Format of the return value {@link ArkUI_AttributeItem}:\n 3898 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3899 * Parameter 1: font color, in #ARGB format.\n 3900 * Parameter 2: font size, in fp. The value is a number.\n 3901 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3902 * Parameter 4: fonts, separated by commas (,).\n 3903 * Parameter 5: font style. Available options are ("normal", "italic").\n 3904 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3905 * 3906 */ 3907 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 3908 /** 3909 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 3910 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 3911 * 3912 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3913 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3914 * Parameter 1: font color, in #ARGB format.\n 3915 * Parameter 2: font size, in fp. The value is a number.\n 3916 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3917 * Parameter 4: fonts, separated by commas (,).\n 3918 * Parameter 5: font style. Available options are ("normal", "italic").\n 3919 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3920 * \n 3921 * Format of the return value {@link ArkUI_AttributeItem}:\n 3922 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3923 * Parameter 1: font color, in #ARGB format.\n 3924 * Parameter 2: font size, in fp. The value is a number.\n 3925 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3926 * Parameter 4: fonts, separated by commas (,).\n 3927 * Parameter 5: font style. Available options are ("normal", "italic").\n 3928 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3929 * 3930 */ 3931 NODE_TEXT_PICKER_TEXT_STYLE, 3932 /** 3933 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 3934 * This attribute can be set, reset, and obtained as required through APIs. 3935 * 3936 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3937 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3938 * Parameter 1: font color, in #ARGB format.\n 3939 * Parameter 2: font size, in fp. The value is a number.\n 3940 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3941 * Parameter 4: fonts, separated by commas (,).\n 3942 * Parameter 5: font style. Available options are ("normal", "italic").\n 3943 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3944 * \n 3945 * Format of the return value {@link ArkUI_AttributeItem}:\n 3946 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3947 * Parameter 1: font color, in #ARGB format.\n 3948 * Parameter 2: font size, in fp. The value is a number.\n 3949 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3950 * Parameter 4: fonts, separated by commas (,).\n 3951 * Parameter 5: font style. Available options are ("normal", "italic").\n 3952 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3953 * 3954 */ 3955 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 3956 /** 3957 * @brief Defines the index of the default selected item in the data selection range of the text picker. 3958 * This attribute can be set, reset, and obtained as required through APIs. 3959 * 3960 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3961 * .value[0...].i32: index of the default item in the data selection range. 3962 * 3963 */ 3964 NODE_TEXT_PICKER_SELECTED_INDEX, 3965 /** 3966 * @brief Defines whether to support scroll looping for the text picker. 3967 * This attribute can be set, reset, and obtained as required through APIs. 3968 * 3969 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3970 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 3971 * <b>false</b> means the opposite.\n \n 3972 * \n 3973 * Format of the return value {@link ArkUI_AttributeItem}:\n 3974 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 3975 * 3976 */ 3977 NODE_TEXT_PICKER_CAN_LOOP, 3978 /** 3979 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 3980 * through APIs. 3981 * 3982 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3983 * .value[0].f32: item height, in vp. \n 3984 * \n 3985 * Format of the return value {@link ArkUI_AttributeItem}:\n 3986 * value[0].f32: item height, in vp. \n 3987 * 3988 */ 3989 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 3990 /** 3991 * @brief Defines the style of the background in the selected state of the calendar picker. 3992 * This attribute can be set, reset, and obtained as required through APIs. 3993 * 3994 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3995 * .value[0].f32: style of the background in the selected state of the calendar picker. 3996 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 3997 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 3998 * or greater than 16, the background is a circle. \n 3999 * \n 4000 * Format of the return value {@link ArkUI_AttributeItem}:\n 4001 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 4002 * If the value is <b>0</b>, the background is a rectangle with square corners. 4003 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 4004 * greater than 16, the background is a circle. \n 4005 * 4006 */ 4007 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 4008 /** 4009 * @brief Defines the date of the selected item in the calendar picker. 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].u32: year of the selected date. \n 4014 * .value[1].u32: month of the selected date. \n 4015 * .value[2].u32: day of the selected date. \n 4016 * \n 4017 * Format of the return value {@link ArkUI_AttributeItem}:\n 4018 * .value[0].u32: year of the selected date. \n 4019 * .value[1].u32: month of the selected date. \n 4020 * .value[2].u32: day of the selected date. \n 4021 * 4022 */ 4023 NODE_CALENDAR_PICKER_SELECTED_DATE, 4024 /** 4025 * @brief Defines how the calendar picker is aligned with the entry component. 4026 * This attribute can be set, reset, and obtained as required through APIs. 4027 * 4028 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4029 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4030 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4031 * the specified alignment mode. \n 4032 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4033 * the specified alignment mode. \n 4034 * \n 4035 * Format of the return value {@link ArkUI_AttributeItem}:\n 4036 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4037 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4038 * the specified alignment mode. \n 4039 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4040 * the specified alignment mode. \n 4041 * 4042 */ 4043 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 4044 /** 4045 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 4046 * 4047 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4048 * .value[0]?.u32: font color of the entry area. \n 4049 * .value[1]?.f32: font size of the entry area, in fp. \n 4050 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4051 * \n 4052 * Format of the return value {@link ArkUI_AttributeItem}:\n 4053 * .value[0].u32: font color of the entry area. \n 4054 * .value[1].f32: font size of the entry area, in fp. \n 4055 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4056 * 4057 */ 4058 NODE_CALENDAR_PICKER_TEXT_STYLE, 4059 /** 4060 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 4061 * 4062 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4063 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4064 * \n 4065 * Format of the return value {@link ArkUI_AttributeItem}:\n 4066 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4067 * 4068 */ 4069 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 4070 4071 /** 4072 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 4073 * through APIs. 4074 * 4075 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4076 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4077 * \n 4078 * Format of the return value {@link ArkUI_AttributeItem}:\n 4079 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4080 * 4081 */ 4082 NODE_SLIDER_TRACK_COLOR, 4083 4084 /** 4085 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 4086 * as required through APIs. 4087 * 4088 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4089 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4090 * \n 4091 * Format of the return value {@link ArkUI_AttributeItem}:\n 4092 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4093 * 4094 */ 4095 NODE_SLIDER_SELECTED_COLOR, 4096 4097 /** 4098 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 4099 * through APIs. 4100 * 4101 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4102 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4103 * and <b>0</b> (default value) means the opposite. \n 4104 * \n 4105 * Format of the return value {@link ArkUI_AttributeItem}:\n 4106 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4107 * and <b>0</b> (default value) means the opposite. \n 4108 * 4109 */ 4110 NODE_SLIDER_SHOW_STEPS, 4111 4112 /** 4113 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 4114 * 4115 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4116 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4117 * .string?: depending on the shape. Optional. \n 4118 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4119 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4120 * There are five types:\n 4121 * 1. Rectangle:\n 4122 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4123 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4124 * .value[2].f32: width of the rectangle.\n 4125 * .value[3].f32: height of the rectangle.\n 4126 * .value[4].f32: width of the rounded corner of the rectangle.\n 4127 * .value[5].f32: height of the rounded corner of the rectangle.\n 4128 * 2. Circle:\n 4129 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4130 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4131 * .value[2].f32: width of the circle.\n 4132 * .value[3].f32: height of the circle.\n 4133 * 3.Ellipse:\n 4134 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4135 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4136 * .value[2].f32: width of the ellipse.\n 4137 * .value[3].f32: height of the ellipse;\n 4138 * 4. Path:\n 4139 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4140 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4141 * .value[2].f32: width of the path.\n 4142 * .value[3].f32: height of the path.\n 4143 * .string: command for drawing the path.\n 4144 * \n 4145 * Format of the return value {@link ArkUI_AttributeItem}:\n 4146 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4147 * .string?: depending on the shape. Optional. \n 4148 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4149 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4150 * There are five types:\n 4151 * 1. Rectangle:\n 4152 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4153 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4154 * .value[2].f32: width of the rectangle.\n 4155 * .value[3].f32: height of the rectangle.\n 4156 * .value[4].f32: width of the rounded corner of the rectangle.\n 4157 * .value[5].f32: height of the rounded corner of the rectangle.\n 4158 * 2. Circle:\n 4159 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4160 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4161 * .value[2].f32: width of the circle.\n 4162 * .value[3].f32: height of the circle.\n 4163 * 3.Ellipse:\n 4164 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4165 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4166 * .value[2].f32: width of the ellipse.\n 4167 * .value[3].f32: height of the ellipse;\n 4168 * 4. Path:\n 4169 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4170 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4171 * .value[2].f32: width of the path.\n 4172 * .value[3].f32: height of the path.\n 4173 * .string: command for drawing the path.\n 4174 * 4175 */ 4176 NODE_SLIDER_BLOCK_STYLE, 4177 4178 /** 4179 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 4180 * through APIs. 4181 * 4182 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4183 * .value[0].f32: current value. \n 4184 * \n 4185 * Format of the return value {@link ArkUI_AttributeItem}:\n 4186 * .value[0].f32: current value. 4187 * 4188 */ 4189 NODE_SLIDER_VALUE, 4190 4191 /** 4192 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 4193 * through APIs. 4194 * 4195 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4196 * .value[0].f32: minimum value. \n 4197 * \n 4198 * Format of the return value {@link ArkUI_AttributeItem}:\n 4199 * .value[0].f32: minimum value. 4200 * 4201 */ 4202 NODE_SLIDER_MIN_VALUE, 4203 4204 /** 4205 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 4206 * through APIs. 4207 * 4208 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4209 * .value[0].f32: maximum value. \n 4210 * \n 4211 * Format of the return value {@link ArkUI_AttributeItem}:\n 4212 * .value[0].f32: maximum value. 4213 * 4214 */ 4215 NODE_SLIDER_MAX_VALUE, 4216 4217 /** 4218 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4219 * 4220 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4221 * .value[0].f32: step. The value range is [0.01, 100]. \n 4222 * \n 4223 * Format of the return value {@link ArkUI_AttributeItem}:\n 4224 * .value[0].f32: step. The value range is [0.01, 100]. 4225 * 4226 */ 4227 NODE_SLIDER_STEP, 4228 4229 /** 4230 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4231 * obtained as required through APIs. 4232 * 4233 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4234 * .value[0].i32: whether the slider moves horizontally or vertically. 4235 * The parameter type is {@link ArkUI_SliderDirection}. \n 4236 * \n 4237 * Format of the return value {@link ArkUI_AttributeItem}:\n 4238 * .value[0].i32: whether the slider moves horizontally or vertically. 4239 * 4240 */ 4241 NODE_SLIDER_DIRECTION, 4242 4243 /** 4244 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4245 * through APIs. 4246 * 4247 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4248 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4249 * reversed, and <b>0</b> means the opposite. \n 4250 * \n 4251 * Format of the return value {@link ArkUI_AttributeItem}:\n 4252 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4253 * reversed, and <b>0</b> means the opposite. 4254 * 4255 */ 4256 NODE_SLIDER_REVERSE, 4257 4258 /** 4259 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4260 * as required through APIs. 4261 * 4262 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4263 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4264 * \n 4265 * Format of the return value {@link ArkUI_AttributeItem}:\n 4266 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4267 * 4268 */ 4269 NODE_SLIDER_STYLE, 4270 4271 /** 4272 * @brief Sets the track thickness of the slider. 4273 * This attribute can be set, reset, and obtained as required through APIs. 4274 * 4275 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4276 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4277 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4278 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4279 * \n 4280 * Format of the return value {@link ArkUI_AttributeItem}:\n 4281 * .value[0].f32: track thickness of the slider, in vp. \n 4282 * 4283 */ 4284 NODE_SLIDER_TRACK_THICKNESS, 4285 4286 /** 4287 * @brief Set the selection status of an option button. Attribute setting, 4288 * attribute resetting, and attribute obtaining are supported. 4289 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4290 * .value[0].i32: check status of an option button. The default value is false. 4291 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4292 * .value[0].i32: selection status of an option button. 4293 */ 4294 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4295 /** 4296 * @brief Set the styles of the selected and deselected states of the option button. 4297 * The attribute setting, attribute resetting, and attribute obtaining are supported. 4298 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4299 * .value[0]?. u32: color of the mother board in enabled state. \n 4300 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4301 * .value[1]?. u32: stroke color in the close state. The type is 0xARGB, \n 4302 * and the default value is 0xFF182431. \n 4303 * .value[2]?. u32: color of the internal round pie in the enabled state. \n 4304 * The type is 0xARGB, and the default value is 0xFFFFFFFF. \n 4305 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4306 * .value[0]. u32: color of the mother board in enabled state. \n 4307 * The type is 0xARGB, and the default value is 0xFF007DFF. \n 4308 * .value[1]. u32: stroke color in the close state. The type is 0xARGB, \n 4309 * and the default value is 0xFF182431. \n 4310 * .value[2]. u32: color of the internal round pie in the enabled state. \n 4311 * The type is 0xARGB, and the default value is 0xFFFFFFF. \n 4312 */ 4313 NODE_RADIO_STYLE, 4314 /** 4315 * @brief Sets the value of the current radio. 4316 * This attribute can be set, reset, and obtained as required through APIs. 4317 * 4318 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4319 * .string: radio value.\n 4320 * \n 4321 * Format of the return value {@link ArkUI_AttributeItem}:\n 4322 * .string: radio value.\n 4323 * 4324 */ 4325 NODE_RADIO_VALUE, 4326 /** 4327 * @brief Set the group name of the current Radio group, only one radio of the same group can be selected. 4328 * This attribute can be set, reset, and obtained as required through APIs. 4329 * 4330 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4331 * .string: name of the group to which the current option box belongs.\n 4332 * \n 4333 * Format of the return value {@link ArkUI_AttributeItem}:\n 4334 * .string: name of the group to which the current option box belongs.\n 4335 * 4336 */ 4337 NODE_RADIO_GROUP, 4338 4339 /** 4340 * @brief Set the image frames for the image animator. Dynamic updates is not supported. 4341 * This attribute can be set, reset, and obtained as required through APIs. 4342 * 4343 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4344 * .size: number of the images.\n 4345 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4346 * \n 4347 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4348 * .size: number of the images.\n 4349 * .object: array of the images, the type is {@ArkUI_ImageAnimatorFrameInfo} array.\n 4350 * 4351 */ 4352 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 4353 /** 4354 * @brief Set the playback status of the animation for the image animator. 4355 * This attribute can be set, reset, and obtained as required through APIs. 4356 * 4357 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4358 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}, 4359 * and the default value is ARKUI_ANIMATION_STATUS_INITIAL. 4360 * 4361 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4362 * .value[0].i32: the playback status of the animation, the type is {@link ArkUI_AnimationStatus}.\n 4363 * 4364 */ 4365 NODE_IMAGE_ANIMATOR_STATE = 19001, 4366 /** 4367 * @brief Set the playback duration for the image animator. When the duration is 0, no image is played. 4368 * The value change takes effect only at the beginning of the next cycle. 4369 * When a separate duration is set in images, the setting of this attribute is invalid. 4370 * This attribute can be set, reset, and obtained as required through APIs. 4371 * 4372 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4373 * .value[0].i32: the playback duration, the unit is ms and the default value is 1000.\n 4374 * 4375 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4376 * .value[0].i32: the playback duration, the unit is ms.\n 4377 * 4378 */ 4379 NODE_IMAGE_ANIMATOR_DURATION = 19002, 4380 /** 4381 * @brief Set the playback direction for the image animator. 4382 * This attribute can be set, reset, and obtained as required through APIs. 4383 * 4384 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4385 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 4386 * and 1 indicates that images are played from the last one to the first one.\n 4387 * 4388 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4389 * .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one, 4390 * and 1 indicates that images are played from the last one to the first one.\n 4391 * 4392 */ 4393 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 4394 /** 4395 * @brief Set whether the image size is the same as the component size. 4396 * This attribute can be set, reset, and obtained as required through APIs. 4397 * 4398 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4399 * .value[0].i32: whether the image size is the same as the component size. 4400 * 1 indicates the image size is the same as the component size. 4401 * In this case, the width, height, top, and left attributes of the image are invalid. 4402 * 0 indicates the image size is customized. 4403 * The width, height, top, and left attributes of each image must be set separately. 4404 * 4405 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4406 * .value[0].i32: whether the image size is the same as the component size. 4407 * 1 indicates the image size is the same as the component size. 4408 * 0 indicates the image size is customized. 4409 * 4410 */ 4411 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 4412 /** 4413 * @brief Set the status before and after execution of the animation in the current playback direction. 4414 * This attribute can be set, reset, and obtained as required through APIs. 4415 * 4416 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4417 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 4418 * the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.\n 4419 * 4420 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 4421 * .value[0].i32: the status before and after execution of the animation in the current playback direction, 4422 * the type is {ArkUI_AnimationFillMode}. 4423 * 4424 */ 4425 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 4426 /** 4427 * @brief Set the number of times that the animation is played. 4428 * This attribute can be set, reset, and obtained as required through APIs. 4429 * 4430 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4431 * .value[0].i32: the number of times that the animation is played.\n 4432 * 4433 * Attribute setting method {@Link ArkUI_AttributeItem} Parameter format:\n 4434 * .value[0].i32: the number of times that the animation is played.\n 4435 * 4436 */ 4437 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 4438 4439 /** 4440 * @brief Defines the name of the checkboxgroup. 4441 * This attribute can be set, reset, and obtained as required through APIs. 4442 * 4443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4444 * .string: component name. \n 4445 * \n 4446 * Format of the return value {@link ArkUI_AttributeItem}:\n 4447 * .string: component name. \n 4448 * 4449 * @since 15 4450 */ 4451 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 4452 4453 /** 4454 * @brief Defines whether the checkboxgroup is selected. 4455 * This attribute can be set, reset, and obtained as required through APIs. 4456 * 4457 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4458 * .value[0].i32: whether the checkboxgroup is selected. 4459 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4460 * \n 4461 * Format of the return value {@link ArkUI_AttributeItem}:\n 4462 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4463 * 4464 * @since 15 4465 */ 4466 NODE_CHECKBOX_GROUP_SELECT_ALL, 4467 4468 /** 4469 * @brief Defines the color of the checkboxgroup when it is selected. 4470 * This attribute can be set, reset, and obtained as required through APIs. 4471 * 4472 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4473 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4474 * for example, <b>0xFF1122FF</b>. \n 4475 * \n 4476 * Format of the return value {@link ArkUI_AttributeItem}:\n 4477 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4478 * 4479 * @since 15 4480 */ 4481 NODE_CHECKBOX_GROUP_SELECTED_COLOR, 4482 /** 4483 * @brief Defines the border color of the checkboxgroup when it is not selected. 4484 * This attribute can be set, reset, and obtained as required through APIs. 4485 * 4486 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4487 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4488 * \n 4489 * Format of the return value {@link ArkUI_AttributeItem}:\n 4490 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4491 * 4492 * @since 15 4493 */ 4494 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR, 4495 4496 /** 4497 * @brief Defines the internal icon style of the checkboxgroup. 4498 * This attribute can be set, reset, and obtained as required through APIs. 4499 * 4500 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4501 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4502 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 4503 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 4504 * \n 4505 * Format of the return value {@link ArkUI_AttributeItem}:\n 4506 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4507 * .value[1].f32: size of the internal mark, in vp. \n 4508 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 4509 * 4510 * @since 15 4511 */ 4512 NODE_CHECKBOX_GROUP_MARK, 4513 4514 /** 4515 * @brief Defines the shape of the checkboxgroup. 4516 * This attribute can be set, reset, and obtained as required through APIs. 4517 * 4518 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4519 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 4520 * \n 4521 * Format of the return value {@link ArkUI_AttributeItem}:\n 4522 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 4523 * 4524 * @since 15 4525 */ 4526 NODE_CHECKBOX_GROUP_SHAPE, 4527 4528 /** 4529 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 4530 * and obtained as required through APIs. 4531 * 4532 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4533 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 4534 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 4535 * \n 4536 * Format of the return value {@link ArkUI_AttributeItem}:\n 4537 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 4538 * 4539 */ 4540 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 4541 4542 /** 4543 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 4544 * 4545 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4546 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 4547 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 4548 * \n 4549 * Format of the return value {@link ArkUI_AttributeItem}:\n 4550 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 4551 * 4552 */ 4553 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 4554 /** 4555 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 4556 * through APIs. 4557 * 4558 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4559 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 4560 * \n 4561 * Format of the return value {@link ArkUI_AttributeItem}:\n 4562 * .value[0].f32: width of the scrollbar, in vp. \n 4563 * 4564 */ 4565 NODE_SCROLL_BAR_WIDTH, 4566 /** 4567 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 4568 * through APIs. 4569 * 4570 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4571 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4572 * \n 4573 * Format of the return value {@link ArkUI_AttributeItem}:\n 4574 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4575 * 4576 */ 4577 NODE_SCROLL_BAR_COLOR, 4578 /** 4579 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 4580 * 4581 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4582 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 4583 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 4584 * \n 4585 * Format of the return value {@link ArkUI_AttributeItem}:\n 4586 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 4587 * 4588 */ 4589 NODE_SCROLL_SCROLL_DIRECTION, 4590 /** 4591 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 4592 * reached. This attribute can be set, reset, and obtained as required through APIs. 4593 * 4594 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4595 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4596 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 4597 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 4598 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 4599 * opposite. The default value is <b>1</b>. \n 4600 * \n 4601 * Format of the return value {@link ArkUI_AttributeItem}:\n 4602 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4603 * The parameter type is {@link ArkUI_EdgeEffect}. \n 4604 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 4605 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 4606 * 4607 */ 4608 NODE_SCROLL_EDGE_EFFECT, 4609 /** 4610 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 4611 * finger or mouse is not supported, but the scroll controller API is not affected. 4612 * 4613 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4614 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 4615 * \n 4616 * Format of the return value {@link ArkUI_AttributeItem}:\n 4617 * .value[0].i32: whether to support scroll gestures. \n 4618 * 4619 */ 4620 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 4621 /** 4622 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 4623 * indirectly the scroll chaining during the inertial scrolling process. 4624 * 4625 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4626 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 4627 * for wearable devices. \n 4628 * \n 4629 * Format of the return value {@link ArkUI_AttributeItem}:\n 4630 * .value[0].f32: friction coefficient. 4631 * 4632 */ 4633 NODE_SCROLL_FRICTION, 4634 /** 4635 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 4636 * 4637 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4638 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 4639 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 4640 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4641 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4642 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 4643 * snap points.\n 4644 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4645 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4646 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 4647 * snap points.\n 4648 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 4649 * edge to which the <b><Scroll></b> component can scroll. \n 4650 * \n 4651 * Format of the return value {@link ArkUI_AttributeItem}:\n 4652 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 4653 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4654 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4655 * start edge and the first snap point.\n 4656 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4657 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4658 * end edge and the last snap point.\n 4659 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 4660 * to which the <b><Scroll></b> component can scroll. \n 4661 * 4662 */ 4663 NODE_SCROLL_SNAP, 4664 4665 /** 4666 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 4667 * through APIs. 4668 * 4669 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4670 * .value[0].i32: nested scrolling option when the component scrolls forward. 4671 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4672 * .value[1].i32: nested scrolling option when the component scrolls backward. 4673 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4674 * \n 4675 * Format of the return value {@link ArkUI_AttributeItem}:\n 4676 * .value[0].i32: nested scrolling option when the component scrolls forward. 4677 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4678 * .value[1].i32: nested scrolling option when the component scrolls backward. 4679 * The parameter type is {@link ArkUI_ScrollNestedMode}. 4680 * 4681 */ 4682 NODE_SCROLL_NESTED_SCROLL, 4683 /** 4684 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 4685 * through APIs. 4686 * 4687 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4688 * .value[0].f32: horizontal scrolling offset, in vp. \n 4689 * .value[1].f32: vertical scrolling offset, in vp. \n 4690 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 4691 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 4692 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 4693 * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not 4694 * to enable the default spring animation. \n 4695 * .value[5]?.i32: Optional value, sets whether scrolling can cross the boundary. \n 4696 * \n 4697 * Format of the return value {@link ArkUI_AttributeItem}:\n 4698 * .value[0].f32: horizontal scrolling offset, in vp. \n 4699 * .value[1].f32: vertical scrolling offset, in vp. \n 4700 * 4701 */ 4702 NODE_SCROLL_OFFSET, 4703 4704 /** 4705 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 4706 * 4707 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4708 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 4709 * \n 4710 * Format of the return value {@link ArkUI_AttributeItem}:\n 4711 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 4712 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 4713 * 4714 */ 4715 NODE_SCROLL_EDGE, 4716 4717 /** 4718 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 4719 * as required through APIs. 4720 * 4721 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 4722 * <b>enablePaging</b> does not. \n 4723 * \n 4724 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4725 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 4726 * \n 4727 * Format of the return value {@link ArkUI_AttributeItem}:\n 4728 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 4729 * 4730 */ 4731 NODE_SCROLL_ENABLE_PAGING, 4732 4733 /** 4734 * @brief Scroll to the next or previous page. 4735 * 4736 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4737 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 4738 * indicates scroll to previous page. \n 4739 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 4740 * 4741 */ 4742 NODE_SCROLL_PAGE, 4743 4744 /** 4745 * @brief Scroll a specified distance. 4746 * 4747 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4748 * .value[0].f32:Horizontal scrolling distance in vp; \n 4749 * .value[1].f32: Vertical scrolling distance in vp; \n 4750 * 4751 */ 4752 NODE_SCROLL_BY, 4753 4754 /** 4755 * @brief Performs inertial scrolling based on the initial velocity passed in. 4756 * 4757 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4758 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 4759 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 4760 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 4761 * 4762 * @since 13 4763 */ 4764 NODE_SCROLL_FLING, 4765 4766 /** 4767 * @brief Sets the fading effect for the edges of scrollable components. 4768 * 4769 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 4770 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, 4771 * and 1 means to enable it. 4772 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 4773 * 4774 * Format of the return value {@link ArkUI_AttributeItem}: 4775 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is 4776 * disabled, and 1 means that it is enabled. 4777 * .value[1].f32: length of the fading effect on edges, in vp. 4778 * 4779 * @since 14 4780 */ 4781 NODE_SCROLL_FADING_EDGE, 4782 4783 /** 4784 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 4785 * 4786 * Format of the return value {@link ArkUI_AttributeItem}:\n 4787 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 4788 * The default unit is vp. \n 4789 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 4790 * The default unit is vp. \n 4791 * When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the 4792 * nearest pixel when being converted from vp to px. 4793 * The returned values are calculated based on these rounded pixel values. \n 4794 * 4795 * @since 14 4796 */ 4797 NODE_SCROLL_SIZE, 4798 4799 /** 4800 * @brief Sets the offset from the start of the scrollable components content. 4801 * 4802 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4803 * .value[0].f32: offset from the start of the content, in vp. \n 4804 * \n 4805 * Format of the return value {@link ArkUI_AttributeItem}:\n 4806 * .value[0].f32: offset from the start of the content, in vp. \n 4807 * 4808 * @since 15 4809 */ 4810 NODE_SCROLL_CONTENT_START_OFFSET, 4811 4812 /** 4813 * @brief Sets the offset from the end of the scrollable components content. 4814 * 4815 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4816 * .value[0].f32: offset from the end of the content, in vp. \n 4817 * \n 4818 * Format of the return value {@link ArkUI_AttributeItem}:\n 4819 * .value[0].f32: offset from the end of the content, in vp. \n 4820 * 4821 * @since 15 4822 */ 4823 NODE_SCROLL_CONTENT_END_OFFSET, 4824 4825 /** 4826 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 4827 * 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: whether the scrollable scrolls back to top when status bar is clicked. 4831 * 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 4832 * \n 4833 * Format of the return value {@link ArkUI_AttributeItem}: \n 4834 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 4835 * 4836 * @since 15 4837 */ 4838 NODE_SCROLL_BACK_TO_TOP = 1002021, 4839 4840 /** 4841 * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and 4842 * obtained as required through APIs. 4843 * 4844 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4845 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 4846 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 4847 * \n 4848 * Format of the return value {@link ArkUI_AttributeItem}:\n 4849 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 4850 * 4851 */ 4852 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 4853 /** 4854 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4855 * component. This attribute can be set, reset, and obtained as required through APIs. 4856 * 4857 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4858 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4859 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 4860 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 4861 * \n 4862 * Format of the return value {@link ArkUI_AttributeItem}:\n 4863 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4864 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 4865 * {@link ArkUI_StickyStyle}. 4866 * 4867 */ 4868 NODE_LIST_STICKY, 4869 /** 4870 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 4871 * through APIs. 4872 * 4873 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4874 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 4875 * \n 4876 * Format of the return value {@link ArkUI_AttributeItem}:\n 4877 * .value[0].f32: spacing between list items along the main axis. \n 4878 * 4879 */ 4880 NODE_LIST_SPACE, 4881 /** 4882 * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs. 4883 * 4884 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4885 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 4886 */ 4887 NODE_LIST_NODE_ADAPTER, 4888 4889 /** 4890 * @brief Sets the number of cached items in the list adapter. 4891 * This attribute can be set, reset, and obtained as required through APIs. 4892 * 4893 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4894 * .value[0].i32: number of cached items in the list adapter. \n 4895 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 4896 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 4897 * \n 4898 * Format of the return value {@link ArkUI_AttributeItem}:\n 4899 * .value[0].i32: number of cached items in the list adapter. \n 4900 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 4901 * to show cached items. This parameter is supported since API version 15. \n 4902 * 4903 */ 4904 NODE_LIST_CACHED_COUNT, 4905 4906 /** 4907 * @brief Scroll to the specified index. 4908 * 4909 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 4910 * lead to performance issues when loading a large number of items.\n 4911 * \n 4912 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4913 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 4914 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 4915 * 1 indicates an action and 0 indicates no action. Default value: 0。\n 4916 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 4917 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 4918 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 4919 * This parameter is supported since API version 15. \n 4920 * 4921 */ 4922 NODE_LIST_SCROLL_TO_INDEX, 4923 /** 4924 * @brief Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is 4925 * greater than the cross-axis width of list items multiplied by the value of lanes. 4926 * This attribute can be set, reset, and obtained as required through APIs. 4927 * 4928 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4929 * .value[0].i32: alignment mode of list items along the cross axis. 4930 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 4931 * \n 4932 * Format of the return value {@link ArkUI_AttributeItem}:\n 4933 * .value[0].i32: alignment mode of list items along the cross axis. 4934 * The parameter type is {@link ArkUI_ListItemAlignment}. \n 4935 */ 4936 NODE_LIST_ALIGN_LIST_ITEM, 4937 4938 /** 4939 * @brief Set the default spindle size for the List subcomponent. 4940 * 4941 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4942 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 4943 * \n 4944 * Format of the return value {@link ArkUI_AttributeItem}:\n 4945 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 4946 */ 4947 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 4948 4949 /** 4950 * @brief Set the index value of the item displayed at the start of the viewport 4951 * when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs. 4952 * 4953 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4954 * .value[0].i32: index value of the item displayed at 4955 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 4956 * \n 4957 * Format of the return value {@link ArkUI_AttributeItem}:\n 4958 * .value[0].i32: index value of the item displayed at 4959 * the start of the viewport when the current List is loaded for the first time. Default value: 0.\n 4960 */ 4961 NODE_LIST_INITIAL_INDEX = 1003008, 4962 /** 4963 * @brief sets the ListItem splitter style. By default, there is no splitter. 4964 * This attribute can be set, reset, and obtained as required through APIs. 4965 * 4966 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format: \n 4967 *.value[0].u32: divider color, type 0xargb; \n 4968 *.value[1].f32: dividing line width; \n 4969 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 4970 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 4971 * \n 4972 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 4973 *.value[0].u32: divider color, type 0xargb; \n 4974 *.value[1].f32: dividing line width; \n 4975 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 4976 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 4977 * 4978 */ 4979 NODE_LIST_DIVIDER = 1003009, 4980 4981 /** 4982 * @brief Scrolls to the item with the specified index in the specified list item group. 4983 * 4984 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 4985 * This may result in performance issues if a large number of items are involved. \n 4986 * \n 4987 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4988 * .value[0].i32: index of the target list item group in the current list. \n 4989 *.value[1].i32: index of the target list item in the list item group. \n 4990 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 4991 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 4992 * The default value is <b>0</b>. \n 4993 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 4994 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 4995 * 4996 * @since 15 4997 */ 4998 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 4999 5000 /** 5001 * @brief Sets the number of lanes in the list. 5002 * This attribute can be set, reset, and obtained as required through APIs. 5003 * 5004 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5005 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 5006 * of lanes will not take effect. \n 5007 * .value[1]?.f32: minimum lane width, in vp. \n 5008 * .value[2]?.f32: maximum column width, in vp. \n 5009 * .value[3]?.f32: lane spacing, in vp. \n 5010 * \n 5011 * Format of the return value {@link ArkUI_AttributeItem}:\n 5012 * .value[0].u32: number of lanes in the list. \n 5013 * .value[1].f32: minimum lane width, in vp. \n 5014 * .value[2].f32: maximum column width, in vp. \n 5015 * .value[3].f32: lane spacing, in vp. \n \n 5016 * 5017 * @since 15 5018 */ 5019 NODE_LIST_LANES = 1003011, 5020 5021 /** 5022 * @brief Sets the list snap alignment mode. 5023 * 5024 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5025 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5026 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5027 * \n 5028 * Format of the return value {@link ArkUI_AttributeItem}:\n 5029 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5030 * 5031 * @since 15 5032 */ 5033 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 5034 5035 /** 5036 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 5037 * display area of the <b>List</b> component. 5038 * 5039 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5040 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5041 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5042 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5043 * \n 5044 * Format of the return value {@link ArkUI_AttributeItem}:\n 5045 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5046 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5047 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5048 * 5049 * @since 15 5050 */ 5051 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 5052 5053 /** 5054 * @brief Defines whether to enable loop playback for the swiper. 5055 * This attribute can be set, reset, and obtained as required through APIs. 5056 * 5057 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5058 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5059 * means the opposite. The default value is <b>1/b>. \n 5060 * \n 5061 * Format of the return value {@link ArkUI_AttributeItem}:\n 5062 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5063 * means the opposite. The default value is <b>1</b>. \n 5064 * 5065 */ 5066 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 5067 /** 5068 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 5069 * This attribute can be set, reset, and obtained as required through APIs. 5070 * 5071 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5072 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 5073 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5074 * \n 5075 * Format of the return value {@link ArkUI_AttributeItem}:\n 5076 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 5077 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5078 * 5079 */ 5080 NODE_SWIPER_AUTO_PLAY, 5081 /** 5082 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 5083 * reset, and obtained as required through APIs. 5084 * 5085 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5086 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5087 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5088 * \n 5089 * Format of the return value {@link ArkUI_AttributeItem}:\n 5090 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5091 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5092 * 5093 */ 5094 NODE_SWIPER_SHOW_INDICATOR, 5095 /** 5096 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 5097 * through APIs. 5098 * 5099 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5100 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5101 * \n 5102 * Format of the return value {@link ArkUI_AttributeItem}:\n 5103 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5104 * 5105 */ 5106 NODE_SWIPER_INTERVAL, 5107 /** 5108 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 5109 * as required through APIs. 5110 * 5111 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5112 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5113 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5114 * \n 5115 * Format of the return value {@link ArkUI_AttributeItem}:\n 5116 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5117 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5118 * 5119 */ 5120 NODE_SWIPER_VERTICAL, 5121 5122 /** 5123 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 5124 * and obtained as required through APIs. 5125 * 5126 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5127 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5128 * <b>400</b>. \n 5129 * \n 5130 * Format of the return value {@link ArkUI_AttributeItem}:\n 5131 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5132 * <b>400</b>. \n 5133 * 5134 */ 5135 NODE_SWIPER_DURATION, 5136 5137 /** 5138 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 5139 * through APIs. 5140 * 5141 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5142 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5143 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5144 * \n 5145 * Format of the return value {@link ArkUI_AttributeItem}:\n 5146 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5147 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5148 * 5149 */ 5150 NODE_SWIPER_CURVE, 5151 5152 /** 5153 * @brief Defines the spacing between child components in the swiper. 5154 * This attribute can be set, reset, and obtained as required through APIs. 5155 * 5156 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5157 * .value[0].f32: spacing between child components. \n 5158 * \n 5159 * Format of the return value {@link ArkUI_AttributeItem}:\n 5160 * .value[0].f32: spacing between child components. \n 5161 * 5162 */ 5163 NODE_SWIPER_ITEM_SPACE, 5164 5165 /** 5166 * @brief Defines the index of the child component currently displayed in the swiper. 5167 * This attribute can be set, reset, and obtained as required through APIs. 5168 * 5169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5170 * .value[0].i32: index value of the child component. \n 5171 * .value[1]?.i32: animation mode, the parameter type is {@link ArkUI_SwiperAnimationMode}. \n 5172 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call. \n 5173 * This parameter is supported since API version 15. \n 5174 * \n 5175 * Format of the return value {@link ArkUI_AttributeItem}:\n 5176 * .value[0].i32: index value of the child component. \n 5177 * 5178 */ 5179 NODE_SWIPER_INDEX, 5180 5181 /** 5182 * @brief Defines the number of elements to display per page. 5183 * This attribute can be set, reset, and obtained as required through APIs. 5184 * 5185 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5186 * .value[0].i32: index value of the child component. \n 5187 * \n 5188 * Format of the return value {@link ArkUI_AttributeItem}:\n 5189 * .value[0].i32: index value of the child component. \n 5190 * 5191 */ 5192 NODE_SWIPER_DISPLAY_COUNT, 5193 5194 /** 5195 * @brief Defines whether to disable the swipe feature. 5196 * This attribute can be set, reset, and obtained as required through APIs. 5197 * 5198 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5199 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 5200 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5201 * \n 5202 * Format of the return value {@link ArkUI_AttributeItem}:\n 5203 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 5204 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5205 * 5206 */ 5207 NODE_SWIPER_DISABLE_SWIPE, 5208 5209 /** 5210 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5211 * This attribute can be set, reset, and obtained as required through APIs. 5212 * 5213 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5214 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5215 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5216 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5217 * \n 5218 * Format of the return value {@link ArkUI_AttributeItem}:\n 5219 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5220 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5221 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5222 * 5223 */ 5224 NODE_SWIPER_SHOW_DISPLAY_ARROW, 5225 5226 /** 5227 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5228 * This attribute can be set, reset, and obtained as required through APIs. 5229 * 5230 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5231 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5232 * The parameter type is {@link ArkUI_EdgeEffect}.\n 5233 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 5234 * \n 5235 * Format of the return value {@link ArkUI_AttributeItem}:\n 5236 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5237 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5238 * 5239 */ 5240 NODE_SWIPER_EDGE_EFFECT_MODE, 5241 5242 /** 5243 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 5244 * 5245 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5246 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5247 */ 5248 NODE_SWIPER_NODE_ADAPTER, 5249 5250 /** 5251 * @brief Sets the number of cached items in the swiper adapter. 5252 * This attribute can be set, reset, and obtained as required through APIs. 5253 * 5254 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5255 * .value[0].i32: number of cached items in the swiper adapter. \n 5256 */ 5257 NODE_SWIPER_CACHED_COUNT, 5258 5259 /** 5260 * @brief Defines the front margin of the wiper. 5261 * The attribute can be set, reset, and obtained as required through APIs. 5262 * 5263 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5264 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 5265 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5266 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5267 * Format of the return value {@link ArkUI_AttributeItem}:\n 5268 * .value[0].f32: the front margin, the unit is vp. \n 5269 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5270 * the opposite. \n 5271 */ 5272 NODE_SWIPER_PREV_MARGIN, 5273 5274 /** 5275 * @brief Defines the back margin of the wiper. 5276 * The attribute can be set, reset, and obtained as required through APIs. 5277 * 5278 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5279 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 5280 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5281 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5282 * Format of the return value {@link ArkUI_AttributeItem}:\n 5283 * .value[0].f32: the back margin, the unit is vp. \n 5284 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5285 * the opposite. \n 5286 */ 5287 NODE_SWIPER_NEXT_MARGIN, 5288 5289 /** 5290 * @brief Defines the navigation indicator type of the swiper. 5291 * The attribute can be set, reset, and obtained as required through APIs. 5292 * 5293 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5294 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5295 * .object: The parameter type is {@link ArkUI_SwiperIndicator}.\n 5296 * Format of the return value {@link ArkUI_AttributeItem}:\n 5297 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5298 * .object: The parameter type is {@link ArkUI_SwiperIndicator}.\n 5299 * 5300 */ 5301 NODE_SWIPER_INDICATOR, 5302 /** 5303 * @brief Set the nested scrolling mode for the Swiper component and parent component. 5304 * 5305 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5306 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5307 * {@link ArkUI_SwiperNestedScrollMode} \n 5308 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 5309 * \n 5310 * Format of the return value {@link ArkUI_AttributeItem}:\n 5311 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5312 * {@link ArkUI_SwiperNestedScrollMode} \n 5313 */ 5314 NODE_SWIPER_NESTED_SCROLL, 5315 5316 /** 5317 * @brief Set the switcher component to flip to the specified page. 5318 * 5319 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5320 * .value[0].i32:Specify the index value of the page in Swiper.\n 5321 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 5322 * effect, 0 indicates no active effect, default value is 0。\n 5323 */ 5324 NODE_SWIPER_SWIPE_TO_INDEX, 5325 5326 /** 5327 * @brief Set to disable component navigation point interaction function。 5328 * 5329 * Property setting method parameter {@link ArkUI-AttributeItem} format: \n 5330 * .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it 5331 * indicates that the navigation points are interactive. The default value is true. \n 5332 * The return value of the attribute acquisition method is in the format of {@ link ArkUI-AttributeItem}: \n 5333 * .value[0].i32:Set to disable component navigation point interaction. \n 5334 */ 5335 NODE_SWIPER_INDICATOR_INTERACTIVE, 5336 5337 /** 5338 * @brief Sets the page flipping mode using the mouse wheel. 5339 * 5340 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5341 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 5342 * \n 5343 * Format of the return value {@link ArkUI_PageFlipMode}:\n 5344 * .value[0].i32: page flipping mode using the mouse wheel. \n 5345 * 5346 * @since 15 5347 */ 5348 NODE_SWIPER_PAGE_FLIP_MODE, 5349 5350 /** 5351 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 5352 * property acquisition interfaces. 5353 * 5354 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 5355 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5356 * \n 5357 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n 5358 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5359 * 5360 */ 5361 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 5362 5363 /** 5364 * @brief Defines the header of the list item group. 5365 * This attribute can be set, reset, and obtained as required through APIs. 5366 * 5367 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5368 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5369 * \n 5370 * Format of the return value {@link ArkUI_AttributeItem}:\n 5371 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5372 * 5373 */ 5374 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 5375 /** 5376 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 5377 * required through APIs. 5378 * 5379 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5380 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5381 * \n 5382 * Format of the return value {@link ArkUI_AttributeItem}:\n 5383 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5384 * 5385 */ 5386 NODE_LIST_ITEM_GROUP_SET_FOOTER, 5387 /** 5388 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 5389 * as required through APIs. 5390 * 5391 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5392 * .value[0].u32: color of the divider, in 0xARGB format.\n 5393 * .value[1].f32: stroke width of the divider, in vp.\n 5394 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5395 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5396 * \n 5397 * Format of the return value {@link ArkUI_AttributeItem}:\n 5398 * .value[0].u32: color of the divider, in 0xARGB format.\n 5399 * .value[1].f32: stroke width of the divider, in vp.\n 5400 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5401 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5402 * 5403 */ 5404 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 5405 5406 /** 5407 * @brief Set the default spindle size for the ListItem Group subcomponent. 5408 * 5409 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5410 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5411 * \n 5412 * Format of the return value {@link ArkUI_AttributeItem}:\n 5413 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5414 */ 5415 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 5416 5417 /** 5418 * @brief Defines the list item group adapter. 5419 * This attribute can be set, reset, and obtained as required through APIs. 5420 * 5421 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5422 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5423 * \n 5424 * Format of the return value {@link ArkUI_AttributeItem}:\n 5425 * .object: {@link ArkUI_NodeAdapter} object. \n 5426 * 5427 * @since 15 5428 */ 5429 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 5430 5431 /** 5432 * @brief Defines the horizontal alignment mode of child components in the column. 5433 * This attribute can be set, reset, and obtained as required through APIs. 5434 * 5435 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5436 * .value[0].i32: horizontal alignment mode of child components. 5437 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 5438 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 5439 * \n 5440 * Format of the return value {@link ArkUI_AttributeItem}:\n 5441 * .value[0].i32: horizontal alignment mode of child components. 5442 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 5443 * 5444 */ 5445 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 5446 /** 5447 * @brief Defines the vertical alignment mode of child components in the column. 5448 * This attribute can be set, reset, and obtained as required through APIs. 5449 * 5450 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5451 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 5452 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5453 * \n 5454 * Format of the return value {@link ArkUI_AttributeItem}:\n 5455 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 5456 * 5457 */ 5458 NODE_COLUMN_JUSTIFY_CONTENT, 5459 5460 /** 5461 * @brief Defines the vertical alignment mode of child components in the row. 5462 * This attribute can be set, reset, and obtained as required through APIs. 5463 * 5464 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5465 * .value[0].i32: vertical alignment mode of child components. 5466 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 5467 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 5468 * \n 5469 * Format of the return value {@link ArkUI_AttributeItem}:\n 5470 * .value[0].i32: vertical alignment mode of child components. 5471 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 5472 * 5473 */ 5474 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 5475 /** 5476 * @brief Defines the horizontal alignment mode of child components in the row. 5477 * This attribute can be set, reset, and obtained as required through APIs. 5478 * 5479 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5480 * .value[0].i32: horizontal alignment mode of child components. 5481 * The parameter type is {@link ArkUI_FlexAlignment}.\n 5482 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5483 * \n 5484 * Format of the return value {@link ArkUI_AttributeItem}:\n 5485 * .value[0].i32: horizontal alignment mode of child components. 5486 * The parameter type is {@link ArkUI_FlexAlignment}. \n 5487 * 5488 */ 5489 NODE_ROW_JUSTIFY_CONTENT, 5490 5491 /** 5492 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 5493 * 5494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5495 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 5496 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 5497 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 5498 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 5499 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 5500 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5501 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 5502 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 5503 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 5504 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5505 * \n 5506 * Format of the return value {@link ArkUI_AttributeItem}:\n 5507 * .value[0].i32: direction in which flex items are arranged. \n 5508 * .value[1].i32: how the flex items are wrapped. \n 5509 * .value[2].i32: alignment mode along the main axis. \n 5510 * .value[3].i32: alignment mode along the cross axis. \n 5511 * .value[4].i32: alignment mode along the cross axis for multi-line content.\n 5512 * 5513 */ 5514 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 5515 5516 /** 5517 * @brief Sets whether the component is being refreshed. 5518 * This attribute can be set and obtained as required through APIs. 5519 * 5520 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5521 * .value[0].i32: The parameter type is 1 or 0. 5522 * \n 5523 * Format of the return value {@link ArkUI_AttributeItem}:\n 5524 * .value[0].i32: The parameter type is 1 or 0. 5525 * 5526 */ 5527 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 5528 /** 5529 * @brief Sets the custom content in the pull-down area. 5530 * This 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: The parameter type is {@Link ArkUI_NodeHandle}. 5534 * 5535 */ 5536 NODE_REFRESH_CONTENT, 5537 /** 5538 * @brief Set the pull-down hand coefficient. 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].f32:Pull-down hand coefficient, valid value between 0 and 1. 5543 * \n 5544 * Format of the return value {@link ArkUI_AttributeItem}:\n 5545 * .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1. 5546 * 5547 */ 5548 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 5549 /** 5550 * @brief Sets the pull-down offset that initiates a refresh. 5551 * This attribute can be set, reset, and obtained as required through APIs. 5552 * 5553 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5554 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5555 * \n 5556 * Format of the return value {@link ArkUI_AttributeItem}:\n 5557 * .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5558 * 5559 */ 5560 NODE_REFRESH_OFFSET = 1009003, 5561 /** 5562 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 5563 * This 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].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 5567 * <b>false</b> means the opposite. 5568 * \n 5569 * Format of the return value {@link ArkUI_AttributeItem}:\n 5570 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 5571 * <b>0</b> means the opposite. 5572 * 5573 */ 5574 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 5575 5576 /** 5577 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 5578 * This 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: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 5582 * \n 5583 * Format of the return value {@link ArkUI_AttributeItem}:\n 5584 * .value[0].i32: main axis direction. The parameter type is {@Link ArkUI_FlexDirection}. 5585 * 5586 */ 5587 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 5588 5589 /** 5590 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 5591 * by default. This attribute can be set, reset, and obtained as required through APIs. 5592 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5593 * component's full width, the second column 1/4, and the third column 2/4. 5594 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5595 * columns based on the specified column width <b>track-size</b>. 5596 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5597 * or a valid number. 5598 * 5599 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5600 * .string: number of columns in the layout.\n 5601 * \n 5602 * Format of the return value {@link ArkUI_AttributeItem}:\n 5603 * .string: number of columns in the layout.\n 5604 * 5605 */ 5606 NODE_WATER_FLOW_COLUMN_TEMPLATE, 5607 5608 /** 5609 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 5610 * by default. This attribute can be set, reset, and obtained as required through APIs. 5611 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5612 * component's full height, the second row 1/4, and the third row 2/4. 5613 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5614 * based on the specified row height <b>track-size</b>. 5615 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5616 * or a valid number. 5617 * 5618 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5619 * .string: number of rows in the layout. \n 5620 * \n 5621 * Format of the return value {@link ArkUI_AttributeItem}:\n 5622 * .string: number of rows in the layout. \n 5623 * 5624 */ 5625 NODE_WATER_FLOW_ROW_TEMPLATE, 5626 5627 /** 5628 * @brief Sets the gap between columns. 5629 * This attribute can be set, reset, and obtained as required through APIs. 5630 * 5631 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5632 * .value[0].f32: gap between columns, in vp.\n 5633 * \n 5634 * Format of the return value {@link ArkUI_AttributeItem}:\n 5635 * .value[0].f32: gap between columns, in vp.\n 5636 * 5637 */ 5638 NODE_WATER_FLOW_COLUMN_GAP, 5639 5640 /** 5641 * @brief Sets the gap between rows. 5642 * This attribute can be set, reset, and obtained as required through APIs. 5643 * 5644 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5645 * .value[0].f32: gap between lines, in vp.\n 5646 * \n 5647 * Format of the return value {@link ArkUI_AttributeItem}:\n 5648 * .value[0].f32: gap between lines, in vp.\n 5649 * 5650 */ 5651 NODE_WATER_FLOW_ROW_GAP, 5652 5653 /** 5654 * @brief Defines the water flow section configuration. 5655 * This attribute can be set, reset, and obtained as required through APIs. 5656 * 5657 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5658 * .value[0].i32: An index calculated from 0 is converted to an integer, 5659 * indicating that you want to start changing the position of the group. 5660 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5661 * \n 5662 * Format of the return value {@link ArkUI_AttributeItem}:\n 5663 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5664 * 5665 */ 5666 NODE_WATER_FLOW_SECTION_OPTION, 5667 5668 /** 5669 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 5670 * 5671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5672 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5673 */ 5674 NODE_WATER_FLOW_NODE_ADAPTER, 5675 5676 /** 5677 * @brief Sets the number of cached items in the water flow adapter. 5678 * This attribute can be set, reset, and obtained as required through APIs. 5679 * 5680 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5681 * .value[0].i32: number of cached items in the water flowadapter. \n 5682 */ 5683 NODE_WATER_FLOW_CACHED_COUNT, 5684 5685 /** 5686 * @brief Set the custom display component at the end of the waterfall flow component. 5687 * 5688 * Attribute setting method {@link ArkUI_AttributeItem} parameter format: \n 5689 * .object: Parameter type {@link ArkUI_NodeHandle}. 5690 * 5691 */ 5692 NODE_WATER_FLOW_FOOTER, 5693 5694 /** 5695 * @brief Scroll to the specified index. 5696 * 5697 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5698 * lead to performance issues when loading a large number of items.\n 5699 * \n 5700 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5701 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5702 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5703 * 1 indicates an action and 0 indicates no action. Default value is 0。\n 5704 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5705 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。\n 5706 * 5707 */ 5708 NODE_WATER_FLOW_SCROLL_TO_INDEX, 5709 5710 /** 5711 * @brief Defines the size constraints to apply to water flow items. 5712 * This attribute can be set, reset, and obtained as required through APIs. 5713 * 5714 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5715 * .value[0].f32: minimum width, in vp.\n 5716 * .value[1].f32: maximum width, in vp.\n 5717 * .value[2].f32: minimum height, in vp.\n 5718 * .value[3].f32: maximum height, in vp.\n 5719 * \n 5720 * Format of the return value {@link ArkUI_AttributeItem}:\n 5721 * .value[0].f32: minimum width, in vp.\n 5722 * .value[1].f32: maximum width, in vp.\n 5723 * .value[2].f32: minimum height, in vp.\n 5724 * .value[3].f32: maximum height, in vp.\n 5725 * 5726 */ 5727 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 5728 5729 /** 5730 * @brief Set the auxiliary line in the RelativeContaine container, supporting property setting, 5731 * property reset and property acquisition interfaces. 5732 * 5733 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 5734 * .object: Auxiliary lines within the RelativeContaine container: \n 5735 *\n 5736 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 5737 * .object: Auxiliary lines within the RelativeContaine container: \n 5738 * 5739 */ 5740 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 5741 5742 /** 5743 * @brief Sets the barrier within the RelativeContaine container and supports property setting, 5744 * property reset and property acquisition interfaces. 5745 * 5746 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 5747 * .object: Auxiliary lines within the RelativeContaine container: \n 5748 *\n 5749 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 5750 * .object: Barrier within the RelativeContaine container: \n 5751 * 5752 */ 5753 NODE_RELATIVE_CONTAINER_BARRIER, 5754 5755 /** 5756 * @brief Sets the number of columns in the grid layout. If this parameter is not set, one column is used 5757 * by default. This attribute can be set, reset, and obtained as required through APIs. 5758 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5759 * component's full width, the second column 1/4, and the third column 2/4. 5760 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5761 * columns based on the specified column width <b>track-size</b>. 5762 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5763 * or a valid number. 5764 * 5765 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5766 * .string: number of columns in the layout.\n 5767 * \n 5768 * Format of the return value {@link ArkUI_AttributeItem}:\n 5769 * .string: number of columns in the layout.\n 5770 * 5771 */ 5772 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 5773 5774 /** 5775 * @brief Sets the number of rows in the grid layout. If this parameter is not set, one row is used 5776 * by default. This attribute can be set, reset, and obtained as required through APIs. 5777 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5778 * component's full height, the second row 1/4, and the third row 2/4. 5779 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5780 * based on the specified row height <b>track-size</b>. 5781 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5782 * or a valid number. 5783 * 5784 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5785 * .string: number of rows in the layout. \n 5786 * \n 5787 * Format of the return value {@link ArkUI_AttributeItem}:\n 5788 * .string: number of rows in the layout. \n 5789 * 5790 */ 5791 NODE_GRID_ROW_TEMPLATE, 5792 5793 /** 5794 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 5795 * 5796 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5797 * .value[0].f32: gap between columns, in vp.\n 5798 * \n 5799 * Format of the return value {@link ArkUI_AttributeItem}:\n 5800 * .value[0].f32: gap between columns, in vp.\n 5801 * 5802 */ 5803 NODE_GRID_COLUMN_GAP, 5804 5805 /** 5806 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 5807 * 5808 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5809 * .value[0].f32: gap between lines, in vp.\n 5810 * \n 5811 * Format of the return value {@link ArkUI_AttributeItem}:\n 5812 * .value[0].f32: gap between lines, in vp.\n 5813 * 5814 */ 5815 NODE_GRID_ROW_GAP, 5816 5817 /** 5818 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 5819 * 5820 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5821 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5822 */ 5823 NODE_GRID_NODE_ADAPTER, 5824 5825 /** 5826 * @brief Sets the number of cached items in the grid adapter. 5827 * This attribute can be set, reset, and obtained as required through APIs. 5828 * 5829 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5830 * .value[0].i32: number of cached items in the grid adapter. \n 5831 */ 5832 NODE_GRID_CACHED_COUNT, 5833 } ArkUI_NodeAttributeType; 5834 5835 #define MAX_COMPONENT_EVENT_ARG_NUM 12 5836 /** 5837 * @brief Defines the parameter type of the component callback event. 5838 * 5839 * @since 12 5840 */ 5841 typedef struct { 5842 /** Data array object. */ 5843 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 5844 } ArkUI_NodeComponentEvent; 5845 5846 /** 5847 * @brief Defines the string type parameter used by the component callback event. 5848 * 5849 * @since 12 5850 */ 5851 typedef struct { 5852 /** String. */ 5853 const char* pStr; 5854 } ArkUI_StringAsyncEvent; 5855 5856 /** 5857 * @brief Defines a hybrid data structure for component events. 5858 * 5859 * @since 15 5860 */ 5861 typedef struct { 5862 /** String data */ 5863 const char* pStr; 5864 /** Extended string data */ 5865 const char* pExtendStr; 5866 /** Numeric data */ 5867 int32_t number; 5868 } ArkUI_TextChangeEvent; 5869 5870 /** 5871 * @brief Enumerates the event types supported by the NativeNode component. 5872 * 5873 * @since 12 5874 */ 5875 typedef enum { 5876 /** 5877 * @brief Defines the gesture event type. 5878 * 5879 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5880 * {@link ArkUI_UIInputEvent}. 5881 */ 5882 NODE_TOUCH_EVENT = 0, 5883 5884 /** 5885 * @brief Defines the mount event. 5886 * 5887 * This event is triggered when the component is mounted and displayed. \n 5888 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5889 * {@link ArkUI_NodeComponentEvent}. \n 5890 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5891 */ 5892 NODE_EVENT_ON_APPEAR, 5893 /** 5894 * @brief Defines the unmount event. 5895 * 5896 * This event is triggered when the component is unmounted and hidden. \n 5897 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5898 * {@link ArkUI_NodeComponentEvent}. \n 5899 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5900 */ 5901 NODE_EVENT_ON_DISAPPEAR, 5902 5903 /** 5904 * @brief Defines the area change event. 5905 * 5906 * This event is triggered when the component's size, position, or any other attribute that may 5907 * affect its display area changes. \n 5908 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5909 * {@link ArkUI_NodeComponentEvent}. \n 5910 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 5911 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 5912 * The value type is number. \n 5913 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 5914 * The value type is number. \n 5915 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 5916 * relative to the parent element's, in vp. The value type is number. \n 5917 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 5918 * relative to the parent element's, in vp. The value type is number. \n 5919 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 5920 * relative to the page's, in vp. The value type is number. \n 5921 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 5922 * relative to the page's, in vp. The value type is number. \n 5923 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 5924 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 5925 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 5926 * to the parent element's, in vp. The value type is number. \n 5927 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 5928 * to the parent element's, in vp. The value type is number. \n 5929 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 5930 * to the page's, in vp. The value type is number. \n 5931 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 5932 * to the page's, in vp. The value type is number. \n 5933 */ 5934 NODE_EVENT_ON_AREA_CHANGE, 5935 /** 5936 * @brief Defines the focus event. 5937 * 5938 * This event is triggered when the component obtains the focus. \n 5939 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5940 * {@link ArkUI_NodeComponentEvent}. \n 5941 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5942 */ 5943 NODE_ON_FOCUS, 5944 /** 5945 * @brief Defines the blur event. 5946 * 5947 * This event is triggered when the component loses the focus. \n 5948 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5949 * {@link ArkUI_NodeComponentEvent}. \n 5950 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5951 */ 5952 NODE_ON_BLUR, 5953 /** 5954 * @brief Defines the click event. 5955 * 5956 * This event is triggered when the component is clicked. \n 5957 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5958 * {@link ArkUI_NodeComponentEvent}. \n 5959 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 5960 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 5961 * clicked component's original area, in vp. \n 5962 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 5963 * clicked component's original area, in vp. \n 5964 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 5965 * is triggered and the time when the system starts, in microseconds. \n 5966 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 5967 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 5968 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 5969 * application window, in vp. \n 5970 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 5971 * application window, in vp. \n 5972 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 5973 * application screen, in vp. \n 5974 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 5975 * application screen, in vp. \n 5976 */ 5977 NODE_ON_CLICK, 5978 /** 5979 * @brief Defines event interception. 5980 * 5981 * This event is triggered when the component is touched. \n 5982 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5983 * {@link ArkUI_UIInputEvent}. \n 5984 */ 5985 NODE_ON_TOUCH_INTERCEPT, 5986 /** 5987 * @brief Defines the visible area change event. 5988 * 5989 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 5990 * than the threshold. 5991 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 5992 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5993 * {@link ArkUI_NodeComponentEvent}. \n 5994 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 5995 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 5996 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 5997 * decrease. \n 5998 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 5999 * callback is invoked. \n 6000 */ 6001 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 6002 /** 6003 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 6004 * 6005 \n 6006 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6007 * {@link ArkUI_NodeComponentEvent}. \n 6008 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6009 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 6010 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 6011 * the mouse pointer is moved away from the component. \n 6012 */ 6013 NODE_ON_HOVER, 6014 /** 6015 * @brief Defines the click event. 6016 * 6017 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 6018 * within the component. \n 6019 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6020 * {@link ArkUI_UIInputEvent}. \n 6021 */ 6022 NODE_ON_MOUSE, 6023 /** 6024 * @brief Defines the attach event. 6025 * 6026 * This event is triggered when the component is attached. \n 6027 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6028 * {@link ArkUI_NodeComponentEvent}. \n 6029 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6030 */ 6031 NODE_EVENT_ON_ATTACH, 6032 /** 6033 * @brief Defines the detach event. 6034 * 6035 * This event is triggered when the component is detached. \n 6036 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6037 * {@link ArkUI_NodeComponentEvent}. \n 6038 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6039 */ 6040 NODE_EVENT_ON_DETACH, 6041 6042 /** 6043 * @brief Defines the accessibility action event. 6044 * 6045 * This event is triggered when The accessibility operation type has been set and 6046 * corresponding operations have been carried out. \n 6047 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6048 * {@link ArkUI_NodeComponentEvent}. \n 6049 * {@link ArkUI_NodeComponentEvent} contains one parameters:\n 6050 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is 6051 * {@link ArkUI_AccessibilityActionType} \n 6052 * 6053 */ 6054 NODE_ON_ACCESSIBILITY_ACTIONS = 13, 6055 6056 /** 6057 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 6058 * 6059 * This event is triggered when a drag operation is about to start on a draggable item. \n 6060 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6061 * {@link ArkUI_NodeComponentEvent}. \n 6062 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6063 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 6064 */ 6065 NODE_ON_PRE_DRAG = 14, 6066 /** 6067 * @brief Called when the user starts to drag an ite 6068 * 6069 * A drag operation is recognized only when the dragged item is moved far enough. \n 6070 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6071 * {@link ArkUI_NodeEvent} object. \n 6072 */ 6073 NODE_ON_DRAG_START = 15, 6074 /** 6075 * @brief Called when a dragged item enters the boundaries of the current component. 6076 * 6077 * The current component refers to the component that listens for this event. \n 6078 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6079 * {@link ArkUI_NodeEvent} object. \n 6080 */ 6081 NODE_ON_DRAG_ENTER = 16, 6082 /** 6083 * @brief Called when a dragged item moves in the current component. 6084 * 6085 * The current component refers to the component that listens for this event. \n 6086 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6087 * {@link ArkUI_NodeEvent} object. \n 6088 */ 6089 NODE_ON_DRAG_MOVE = 17, 6090 /** 6091 * @brief Called when a dragged item leaves the boundaries of the current component. 6092 * 6093 * The current component refers to the component that listens for this event. \n 6094 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6095 * {@link ArkUI_NodeEvent} object. \n 6096 */ 6097 NODE_ON_DRAG_LEAVE = 18, 6098 /** 6099 * @brief Called when a dragged item is dropped on the current component. 6100 * The component can obtain the drag data for processing through the callback. 6101 * 6102 * The current component refers to the component that listens for this event. \n 6103 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6104 * {@link ArkUI_NodeEvent} object. \n 6105 */ 6106 NODE_ON_DROP = 19, 6107 /** 6108 * @brief Called when a drag operation ends. 6109 * The drag source can obtain the drag result by registering this callback. 6110 * 6111 * A drag operation ends when the dragged item is released. 6112 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6113 * {@link ArkUI_NodeEvent} object. \n 6114 */ 6115 NODE_ON_DRAG_END = 20, 6116 /** 6117 * @brief Defines the event triggered when a key event occurs. 6118 * 6119 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6120 * device. \n 6121 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6122 * {@link ArkUI_NodeComponentEvent}. \n 6123 * 6124 * @since 14 6125 */ 6126 NODE_ON_KEY_EVENT = 21, 6127 /** 6128 * @brief Defines the event triggered before the input method responds to the key action. 6129 * 6130 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 6131 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 6132 * and no longer triggered. 6133 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6134 * device. \n 6135 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6136 * {@link ArkUI_NodeComponentEvent}. \n 6137 * 6138 * @since 14 6139 */ 6140 NODE_ON_KEY_PRE_IME = 22, 6141 /** 6142 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 6143 * 6144 * The event callback is triggered by interactions with a joystick and a focused component. \n 6145 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6146 * {@link ArkUI_UIInputEvent}. \n 6147 * 6148 * @since 15 6149 */ 6150 NODE_ON_FOCUS_AXIS = 23, 6151 6152 /** 6153 * @brief Dispatch key event on the component node. 6154 * 6155 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 6156 * children. \n 6157 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6158 * {@link ArkUI_NodeComponentEvent}. \n 6159 * 6160 * @since 15 6161 */ 6162 NODE_DISPATCH_KEY_EVENT = 24, 6163 6164 /** 6165 * @brief Defines the hover event. 6166 * 6167 * The event is triggered when the pointer is hovered by a pen device. 6168 * within the component. \n 6169 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 6170 * {@link ArkUI_UIInputEvent} object. \n 6171 * @since 15 6172 */ 6173 NODE_ON_HOVER_MOVE = 29, 6174 6175 /** 6176 * @brief Triggers onDetectResultUpdate callback 6177 * when the text is set to TextDataDetectorConfig and recognized successfully. 6178 * 6179 * Trigger this event when TextDataDetectorConfig is set and recognized successfully.\n 6180 * When the event callback occurs, the event parameter{@link ArkUI_NodeEvent}The union type in the object is 6181 * {@link ArkUI_StringAsyncEvent}.\n 6182 * {@link ArkUI_StringAsyncEvent}contains 1 parameter\n 6183 * <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.\n 6184 * 6185 */ 6186 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 6187 /** 6188 * @brief Defines the image loading success event. 6189 * 6190 * This event is triggered when an image is successfully loaded or decoded. \n 6191 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6192 * {@link ArkUI_NodeComponentEvent}. \n 6193 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 6194 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 6195 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 6196 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 6197 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 6198 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 6199 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 6200 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 6201 * x-axis, in px. \n 6202 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 6203 * y-axis, in px. \n 6204 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 6205 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 6206 */ 6207 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 6208 /** 6209 * @brief Defines the image loading failure event. 6210 * 6211 * This event is triggered when an error occurs during image loading. \n 6212 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6213 * {@link ArkUI_NodeComponentEvent}. \n 6214 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6215 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 6216 * 401: The image could not be obtained because the image path is invalid. \n 6217 * 103101: The image format is not supported. \n 6218 */ 6219 NODE_IMAGE_ON_ERROR, 6220 /** 6221 * @brief Defines the SVG animation playback completion event. 6222 * 6223 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 6224 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6225 * {@link ArkUI_NodeComponentEvent}. \n 6226 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6227 */ 6228 NODE_IMAGE_ON_SVG_PLAY_FINISH, 6229 /** 6230 * @brief Defines image download process event. 6231 * 6232 * This event is triggered when downloading webpage images from page components.\n 6233 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6234 * {@link ArkUI_NodeComponentEvent}. \n 6235 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 6236 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 6237 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 6238 */ 6239 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 6240 /** 6241 * @brief Defines the event triggered when the toggle status changes. 6242 * 6243 \n 6244 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6245 * {@link ArkUI_NodeComponentEvent}. \n 6246 * {@link ArkUI_NodeComponentEvent} contains one parameter: \n 6247 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 6248 * 6249 */ 6250 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 6251 /** 6252 * @brief Defines the event triggered when the text input content changes. 6253 * 6254 \n 6255 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6256 * {@link ArkUI_StringAsyncEvent}. \n 6257 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6258 * <b>ArkUI_StringAsyncEvent.pStr</b>: text input. 6259 * 6260 */ 6261 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 6262 /** 6263 * @brief Defines the event triggered when the Enter key of the text input method is pressed. 6264 * 6265 \n 6266 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6267 * {@link ArkUI_NodeComponentEvent}. \n 6268 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6269 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 6270 * 6271 */ 6272 NODE_TEXT_INPUT_ON_SUBMIT, 6273 /** 6274 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 6275 * is long pressed, is clicked. 6276 * 6277 \n 6278 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6279 * {@link ArkUI_StringAsyncEvent}. \n 6280 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6281 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 6282 * 6283 */ 6284 NODE_TEXT_INPUT_ON_CUT, 6285 /** 6286 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 6287 * is long pressed, is clicked. 6288 * 6289 \n 6290 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6291 * {@link ArkUI_StringAsyncEvent}. \n 6292 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6293 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6294 * 6295 */ 6296 NODE_TEXT_INPUT_ON_PASTE, 6297 /** 6298 * @brief Defines the event triggered when the text selection position changes. 6299 * 6300 \n 6301 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6302 * {@link ArkUI_NodeComponentEvent}. \n 6303 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6304 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6305 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6306 * 6307 */ 6308 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 6309 6310 /** 6311 * @brief Defines the event triggered when the input status changes. 6312 * 6313 \n 6314 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6315 * {@link ArkUI_NodeComponentEvent}. \n 6316 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6317 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 6318 * 6319 */ 6320 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 6321 6322 /** 6323 * @brief textInput This event is triggered when the input content changes. 6324 * 6325 * Conditions for triggering this event: When the input content changes. \n 6326 * When the event callback occurs, the union type in the event parameter 6327 * {@link ArkUI_NodeEvent} object is {@link ArkUI_NodeComponentEvent}. \n 6328 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6329 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6330 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6331 * 6332 */ 6333 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 6334 6335 /** 6336 * @brief Defines the event triggered when matching with the regular expression specified by 6337 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 6338 * 6339 \n 6340 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6341 * {@link ArkUI_StringAsyncEvent}. \n 6342 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6343 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6344 * 6345 */ 6346 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 6347 6348 /** 6349 * @brief This callback is triggered when the text content is scrolled. 6350 * 6351 \n 6352 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6353 * {@link ArkUI_NodeComponentEvent}. \n 6354 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6355 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6356 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6357 * the text in the content area. \n 6358 * 6359 */ 6360 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 6361 6362 /** 6363 * @brief Defines the event triggered when text is about to be entered. 6364 * 6365 * The event parameter is {@link ArkUI_NodeEvent}. \n 6366 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6367 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6368 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6369 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6370 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 6371 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6372 */ 6373 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 6374 6375 /** 6376 * @brief Defines the event triggered when text is entered. 6377 * 6378 * The event parameter is {@link ArkUI_NodeEvent}. \n 6379 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6380 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6381 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6382 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6383 */ 6384 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 6385 6386 /** 6387 * @brief Defines the event triggered when text is about to be deleted. 6388 * 6389 * The event parameter is {@link ArkUI_NodeEvent}. \n 6390 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 6391 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6392 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6393 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6394 * forward-delete. \n 6395 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6396 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6397 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 6398 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6399 */ 6400 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 6401 6402 /** 6403 * @brief Defines the event triggered when text is deleted. 6404 * 6405 * The event parameter is {@link ArkUI_NodeEvent}. \n 6406 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 6407 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6408 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6409 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6410 * forward-delete. \n 6411 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6412 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6413 */ 6414 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 6415 6416 /** 6417 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextInput</b> 6418 * component. 6419 * 6420 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 6421 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 6422 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 6423 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 6424 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 6425 * 6426 * @since 15 6427 */ 6428 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 6429 6430 /** 6431 * @brief Defines the event triggered when the input in the text box changes. 6432 * 6433 \n 6434 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6435 * {@link ArkUI_StringAsyncEvent}. \n 6436 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6437 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 6438 * 6439 */ 6440 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 6441 /** 6442 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 6443 * long pressed, is clicked. 6444 * 6445 \n 6446 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6447 * {@link ArkUI_StringAsyncEvent}. \n 6448 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6449 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6450 * 6451 */ 6452 NODE_TEXT_AREA_ON_PASTE, 6453 /** 6454 * @brief Defines the event triggered when the text selection position changes. 6455 * 6456 \n 6457 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6458 * {@link ArkUI_NodeComponentEvent}. \n 6459 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6460 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6461 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6462 * 6463 */ 6464 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 6465 /** 6466 * @brief Defines the event triggered when matching with the regular expression specified by 6467 * <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails. 6468 * 6469 \n 6470 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6471 * {@link ArkUI_StringAsyncEvent}. \n 6472 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6473 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6474 * 6475 */ 6476 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 6477 /** 6478 * @brief This callback is triggered when the text content is scrolled. 6479 * 6480 \n 6481 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6482 * {@link ArkUI_NodeComponentEvent}. \n 6483 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6484 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6485 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6486 * the text in the content area. \n 6487 * 6488 */ 6489 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 6490 6491 /** 6492 * @brief Defines the event triggered when the input status changes. 6493 * 6494 \n 6495 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6496 * {@link ArkUI_NodeComponentEvent}. \n 6497 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6498 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress. \n 6499 * 6500 */ 6501 NODE_TEXT_AREA_ON_EDIT_CHANGE, 6502 6503 /** 6504 * @brief Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box. 6505 * 6506 * This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>. \n 6507 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6508 * {@link ArkUI_NodeComponentEvent}. \n 6509 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6510 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key. 6511 * 6512 */ 6513 NODE_TEXT_AREA_ON_SUBMIT, 6514 6515 /** 6516 * @brief textArea This event is triggered when the input content changes. 6517 * 6518 * Conditions for triggering this event: When the input content changes. \n 6519 * When the event callback occurs, the union type in the event parameter {@link ArkUI_NodeEvent} object is \n 6520 * {@link ArkUI_NodeComponentEvent}.\n 6521 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6522 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6523 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6524 * 6525 */ 6526 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 6527 6528 /** 6529 * @brief Defines the event triggered when text is about to be entered. 6530 * 6531 * The event parameter is {@link ArkUI_NodeEvent}. \n 6532 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6533 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6534 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6535 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6536 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 6537 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6538 */ 6539 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 6540 6541 /** 6542 * @brief Defines the event triggered when text is entered. 6543 * 6544 * The event parameter is {@link ArkUI_NodeEvent}. \n 6545 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6546 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6547 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6548 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6549 */ 6550 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 6551 6552 /** 6553 * @brief Defines the event triggered when text is about to be deleted. 6554 * 6555 * The event parameter is {@link ArkUI_NodeEvent}. \n 6556 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 6557 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6558 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6559 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6560 * forward-delete. \n 6561 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6562 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6563 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 6564 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6565 */ 6566 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 6567 6568 /** 6569 * @brief Defines the event triggered when text is deleted. 6570 * 6571 * The event parameter is {@link ArkUI_NodeEvent}. \n 6572 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 6573 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6574 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6575 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6576 * forward-delete. \n 6577 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6578 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6579 */ 6580 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 6581 6582 /** 6583 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextArea</b> 6584 * component. 6585 * 6586 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 6587 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 6588 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 6589 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 6590 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 6591 * 6592 * @since 15 6593 */ 6594 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 6595 6596 /** 6597 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 6598 * 6599 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6600 * {@link ArkUI_NodeComponentEvent}. \n 6601 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 6602 */ 6603 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 6604 6605 /** 6606 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 6607 * 6608 \n 6609 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6610 * {@link ArkUI_NodeComponentEvent}. \n 6611 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 6612 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 6613 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 6614 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 6615 */ 6616 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 6617 6618 /** 6619 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 6620 * 6621 \n 6622 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6623 * {@link ArkUI_NodeComponentEvent}. \n 6624 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6625 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 6626 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 6627 */ 6628 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 6629 6630 /** 6631 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 6632 * 6633 \n 6634 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6635 * {@link ArkUI_NodeComponentEvent}. \n 6636 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6637 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 6638 */ 6639 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 6640 6641 /** 6642 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 6643 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 6644 * 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...11].i32</b>: value of the selected item. \n 6649 * 6650 * @since 14 6651 */ 6652 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 6653 6654 /** 6655 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 6656 * 6657 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6658 * {@link ArkUI_NodeComponentEvent}. \n 6659 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 6660 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 6661 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 6662 */ 6663 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 6664 6665 /** 6666 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 6667 * 6668 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6669 * {@link ArkUI_NodeComponentEvent}. \n 6670 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6671 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 6672 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 6673 */ 6674 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 6675 6676 /** 6677 * @brief Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO. 6678 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6679 * {@Link ArkUI_NodeComponentEvent}. \n 6680 * {@Link ArkUI_NodeComponentEvent} contains one parameter:\n 6681 * ArkUI_NodeComponentEvent.data[0].i32: option button status. \n 6682 */ 6683 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 6684 6685 /** 6686 * @brief Defines the event callback function triggered when the animation starts to play. 6687 * 6688 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6689 * {@Link ArkUI_NodeComponentEvent}. \n 6690 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 6691 * 6692 */ 6693 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 6694 /** 6695 * @brief Defines the event callback function triggered when the animation playback is paused. 6696 * 6697 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6698 * {@Link ArkUI_NodeComponentEvent}. \n 6699 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 6700 * 6701 */ 6702 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 6703 /** 6704 * @brief Defines the event callback function triggered when the animation playback is repeated. 6705 * 6706 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6707 * {@Link ArkUI_NodeComponentEvent}. \n 6708 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 6709 * 6710 */ 6711 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 6712 /** 6713 * @brief Defines the event callback function when the animation playback returns to the initial state. 6714 * 6715 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6716 * {@Link ArkUI_NodeComponentEvent}. \n 6717 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 6718 * 6719 */ 6720 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 6721 /** 6722 * @brief Defines the event callback function triggered when the animation playback is complete or stopped. 6723 * 6724 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6725 * {@Link ArkUI_NodeComponentEvent}. \n 6726 * {@Link ArkUI_NodeComponentEvent} contains no parameter:\n 6727 * 6728 */ 6729 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 6730 6731 /** 6732 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 6733 * or checkbox changes. 6734 * 6735 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6736 * {@link ArkUI_StringAsyncEvent}. \n 6737 * <b>ArkUI_StringAsyncEvent.pStr</b> 6738 * Name: The names of the selected checkboxes; 6739 * Status: 6740 * 0: All checkboxes are selected. 6741 * 1: Some checkboxes are selected. 6742 * 2: No checkboxes are selected. \n 6743 * 6744 * @since 15 6745 */ 6746 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 6747 6748 /** 6749 * @brief Defines the event triggered when the index of the currently displayed element of this 6750 * <b>ARKUI_NODE_SWIPER</b> instance changes. 6751 * 6752 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6753 * {@link ArkUI_NodeComponentEvent}. \n 6754 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6755 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6756 */ 6757 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 6758 6759 /** 6760 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 6761 * 6762 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6763 * {@link ArkUI_NodeComponentEvent}. \n 6764 * {@link ArkUI_NodeComponentEvent} contains five parameters: \n 6765 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6766 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 6767 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 6768 * start position of the swiper along the main axis. \n 6769 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 6770 * of the swiper along the main axis. \n 6771 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 6772 */ 6773 NODE_SWIPER_EVENT_ON_ANIMATION_START, 6774 6775 /** 6776 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 6777 * 6778 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6779 * {@link ArkUI_NodeComponentEvent}. \n 6780 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6781 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6782 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 6783 * start position of the swiper along the main axis. \n 6784 */ 6785 NODE_SWIPER_EVENT_ON_ANIMATION_END, 6786 6787 /** 6788 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 6789 * <b>ARKUI_NODE_SWIPER</b> instance. 6790 * 6791 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6792 * {@link ArkUI_NodeComponentEvent}. \n 6793 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6794 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6795 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 6796 * start position of the swiper along the main axis. \n 6797 */ 6798 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 6799 6800 /** 6801 * @brief Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events. 6802 * Instruction: \n 6803 * 1. If the {@link ArkUI_SwiperDisplayModeType} attribute is set to \n 6804 * ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect. \n 6805 * 2, circular scenario, set prevMargin and nextMargin attributes, \n 6806 * so that Swiper front and back end display the same page, the interface does not take effect. \n 6807 * 3. During page sliding, the ContentDidScrollCallback callback is \n 6808 * triggered frame-by-frame for all pages in the window. \n 6809 * For example, when there are two pages in the window with subscripts 0 and 1, \n 6810 * callbacks with index values 0 and 1 are triggered twice per frame. \n 6811 * 4, set the swipeByGroup parameter of the displayCount property to \n 6812 * true if at least one page in the same group is in the window, \n 6813 * A callback is triggered for all pages in the group. \n 6814 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6815 * {@link ArkUI_NodeComponentEvent}. \n 6816 * {@link ArkUI_NodeComponentEvent} contains four parameters:\n 6817 * <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component, \n 6818 * which is consistent with the index change in the onChange event. \n 6819 * <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window. \n 6820 * <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to \n 6821 * the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page). \n 6822 * <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction. \n 6823 */ 6824 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 6825 6826 /** 6827 * @brief Defines the event triggered when content in the swiper component will scroll. 6828 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 6829 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6830 * {@link ArkUI_NodeComponentEvent}. \n 6831 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 6832 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 6833 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 6834 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 6835 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 6836 * slide forward(e.g. from index=0 to index=1). \n 6837 * 6838 * @since 15 6839 */ 6840 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 6841 6842 /** 6843 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 6844 * 6845 * Notes for triggering the event:\n 6846 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6847 * settings, such as keyboard and mouse operations. \n 6848 * 2. Scrolling can be initiated by calling the controller API. \n 6849 * 3. The out-of-bounds bounce effect is supported. \n 6850 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6851 * {@link ArkUI_NodeComponentEvent}. \n 6852 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6853 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 6854 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 6855 */ 6856 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 6857 /** 6858 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 6859 * 6860 * Notes for triggering the event:\n 6861 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6862 * settings, such as keyboard and mouse operations. \n 6863 * 2. This event is not triggered when the controller API is called. \n 6864 * 3. This event does not support the out-of-bounds bounce effect. \n 6865 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6866 * {@link ArkUI_NodeComponentEvent}. \n 6867 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6868 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 6869 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 6870 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 6871 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 6872 * needs to scroll based on the real-world situation and return the result in this parameter. \n 6873 */ 6874 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 6875 6876 /** 6877 * @brief Define the enumeration value of the pre sliding trigger event for the scrolling container component. 6878 * 6879 * The conditions that trigger this event: \n 6880 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 6881 * operations that trigger scrolling.\n 6882 * 2. Called through the rolling controller API interface.\n 6883 * 3. Cross boundary rebound.\n 6884 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 6885 * {@link ArkUI_NodeComponentEvent}. \n 6886 * {@link ArkUI_NodeComponentEvent} contains four parameters: \n 6887 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 6888 * the left and negative when scrolling to the right, measured in vp. \n 6889 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 6890 * scrolling up and a negative offset when scrolling down, measured in vp. \n 6891 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 6892 * parameter type is {@link ArkUI_ScrollState}. \n 6893 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source, \n 6894 * parameter type is {@link ArkUI_ScrollSource}. \n 6895 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. 6896 */ 6897 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 6898 /** 6899 * @brief Define the event enumeration value triggered when sliding a scrolling container component. 6900 * 6901 * The conditions that trigger this event: \n 6902 * 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse 6903 * operations that trigger scrolling.\n 6904 * 2. Called through the rolling controller API interface.\n 6905 * 3. Cross boundary rebound.\n 6906 * When an event callback occurs, the union type in the event parameter {@ link ArkUI_NodeEvent} object is 6907 * {@link ArkUI_NodeComponentEvent}. \n 6908 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 6909 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to 6910 * the left and negative when scrolling to the right, measured in vp. \n 6911 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when 6912 * scrolling up and a negative offset when scrolling down, measured in vp. \n 6913 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state, \n 6914 parameter type is {@link ArkUI_ScrollState}. \n 6915 */ 6916 NODE_SCROLL_EVENT_ON_DID_SCROLL, 6917 6918 /** 6919 * @brief Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 6920 * 6921 * Notes for triggering the event:\n 6922 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 6923 * and mouse operations. \n 6924 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 6925 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6926 * {@link ArkUI_NodeComponentEvent}. \n 6927 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 6928 */ 6929 NODE_SCROLL_EVENT_ON_SCROLL_START, 6930 /** 6931 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 6932 * 6933 * Notes for triggering the event:\n 6934 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 6935 * settings, such as keyboard and mouse operations. \n 6936 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 6937 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6938 * {@link ArkUI_NodeComponentEvent}. \n 6939 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 6940 */ 6941 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 6942 /** 6943 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 6944 * one of the edges. 6945 * 6946 * Notes for triggering the event:\n 6947 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 6948 * component or other input settings, such as keyboard and mouse operations. \n 6949 * 2. Scrolling can be initiated by calling the controller API. \n 6950 * 3. The out-of-bounds bounce effect is supported. \n 6951 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6952 * {@link ArkUI_NodeComponentEvent}. \n 6953 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 6954 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 6955 */ 6956 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 6957 /** 6958 * @brief Define that a callback is triggered when the scrolling container component reaches the start position. 6959 * Condition for triggering the event: \n 6960 * Triggered when the component reaches the start position. \n 6961 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 6962 * {@Link ArkUI_NodeComponentEvent}. \n 6963 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 6964 */ 6965 NODE_SCROLL_EVENT_ON_REACH_START, 6966 /** 6967 * @brief Define that a callback is triggered when the scrolling container component ends. \n 6968 * Condition for triggering the event: \n 6969 * Triggered when the component reaches the end. \n 6970 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 6971 * {@Link ArkUI_NodeComponentEvent}. \n 6972 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 6973 */ 6974 NODE_SCROLL_EVENT_ON_REACH_END, 6975 /** 6976 * @brief Defines the enumerated values of the event triggered, \n 6977 * when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area. \n 6978 * Condition for triggering the event: \n 6979 * This method is triggered once during list initialization. \n 6980 * It is triggered when the index value of the first or last subcomponent in the list display area changes. \n 6981 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 6982 * {@Link ArkUI_NodeComponentEvent}. \n 6983 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 6984 * ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of \n 6985 * the first child component in the region. \n 6986 * ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of \n 6987 * the last child component in the region. \n 6988 * ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of \n 6989 * the subcomponent in the middle of the area. \n 6990 */ 6991 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 6992 /** 6993 * @brief Defines the enumerated values of the event triggered 6994 * before the sliding of the ARKUI_NODE_LIST component. \n 6995 * Condition for triggering the event: \n 6996 * This event is triggered when the scrolling component triggers scrolling. \n 6997 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 6998 * Called through the scroll controller API. \n 6999 * Out-of-bounds rebound. \n 7000 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7001 * {@Link ArkUI_NodeComponentEvent}. \n 7002 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7003 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7004 * The offset is positive when the list content is scrolled up and \n 7005 * is negative when the list content is scrolled down. \n 7006 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7007 * parameter type is {@link ArkUI_ScrollState}. \n 7008 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 7009 * parameter type is {@link ArkUI_ScrollSource}. \n 7010 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 7011 */ 7012 NODE_LIST_ON_WILL_SCROLL, 7013 /** 7014 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked. 7015 * Condition for triggering the event: \n 7016 * This event is triggered when the scrolling component triggers scrolling. \n 7017 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 7018 * Called through the scroll controller API. \n 7019 * Out-of-bounds rebound. \n 7020 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7021 * {@Link ArkUI_NodeComponentEvent}. \n 7022 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 7023 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7024 * The offset is positive when the list content is scrolled up and \n 7025 * is negative when the list content is scrolled down. \n 7026 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7027 */ 7028 NODE_LIST_ON_DID_SCROLL, 7029 7030 /** 7031 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 7032 * 7033 * Notes for triggering the event:\n 7034 * This event is triggered once when the list is initialized and when the index of the first child component or the 7035 * next child component in the list display area changes. 7036 * During index calculation, the list item, header of the list item group, and footer of the list item group each 7037 * are counted as a child component. \n 7038 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7039 * {@link ArkUI_NodeComponentEvent}. \n 7040 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 7041 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 7042 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 7043 * The type is {@link ArkUI_ListItemGroupArea}. \n 7044 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 7045 * in the list item group. 7046 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 7047 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area. \n 7048 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends. 7049 * The type is {@link ArkUI_ListItemGroupArea}. \n 7050 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the 7051 * list item group. 7052 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 7053 * 7054 * @since 15 7055 */ 7056 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 7057 7058 /** 7059 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 7060 * 7061 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7062 * {@link ArkUI_NodeComponentEvent}. \n 7063 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7064 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 7065 */ 7066 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 7067 /** 7068 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 7069 * 7070 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7071 * {@link ArkUI_NodeComponentEvent}. \n 7072 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 7073 */ 7074 NODE_REFRESH_ON_REFRESH, 7075 7076 /** 7077 * @brief Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes. 7078 * 7079 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7080 * {@link ArkUI_NodeComponentEvent}. \n 7081 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7082 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance. \n 7083 */ 7084 NODE_REFRESH_ON_OFFSET_CHANGE, 7085 7086 /** 7087 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 7088 * 7089 * Notes for triggering the event:\n 7090 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 7091 * input settings, such as keyboard and mouse operations. \n 7092 * 2. Scrolling can be initiated by calling the controller API. \n 7093 * 3. The out-of-bounds bounce effect is supported. \n 7094 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7095 * {@link ArkUI_NodeComponentEvent}. \n 7096 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7097 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7098 * The offset is positive when the list content is scrolled up and \n 7099 * is negative when the list content is scrolled down. \n 7100 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7101 * parameter type is {@link ArkUI_ScrollState}. \n 7102 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source, \n 7103 * parameter type is {@link ArkUI_ScrollSource}. \n 7104 * @return Does not return or returns a number that sets the actual scroll distance of the scroll component. \n 7105 */ 7106 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 7107 /** 7108 * @brief Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides. 7109 * Condition for triggering the event: \n 7110 * This event is triggered when the scrolling component triggers scrolling. 7111 * Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set. \n 7112 * Called through the scroll controller API. \n 7113 * Out-of-bounds rebound. \n 7114 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7115 * {@Link ArkUI_NodeComponentEvent}. \n 7116 * {@Link ArkUI_NodeComponentEvent} contains two parameters:\n 7117 * ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling. \n 7118 * The offset is positive when the content is scrolled up and is negative when the content is scrolled down. \n 7119 * ArkUI_NodeComponentEvent.data[1].i32: Current sliding state. \n 7120 */ 7121 NODE_WATER_FLOW_ON_DID_SCROLL, 7122 /** 7123 * @brief Defines the enumerated values of the event triggered, 7124 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 7125 * Condition for triggering the event: \n 7126 * This event is triggered when the index value of the \n 7127 * first or last subcomponent in the waterfall display area changes. \n 7128 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7129 * {@Link ArkUI_NodeComponentEvent}. \n 7130 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 7131 * ArkUI_NodeComponentEvent.data[0].i32: The index value of the \n 7132 * start position of the currently displayed WaterFlow. \n 7133 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 7134 * the end position of the currently displayed waterfall. \n 7135 */ 7136 NODE_WATER_FLOW_ON_SCROLL_INDEX, 7137 } ArkUI_NodeEventType; 7138 7139 /** 7140 * @brief Defines the common structure type of a component event. 7141 * 7142 * @since 12 7143 */ 7144 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 7145 7146 /** 7147 * @brief Obtains the type of a component event. 7148 * 7149 * @param event Indicates the pointer to the component event. 7150 * @return Returns the type of the component event. 7151 * @since 12 7152 */ 7153 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 7154 7155 /** 7156 * @brief Obtains the custom ID of a component event. 7157 * 7158 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 7159 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 7160 * 7161 * @param event Indicates the pointer to the component event. 7162 * @return Returns the custom ID of the component event. 7163 * @since 12 7164 */ 7165 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 7166 7167 /** 7168 * @brief Obtains the component object that triggers a component event. 7169 * 7170 * @param event Indicates the pointer to the component event. 7171 * @return Returns the component object that triggers the component event. 7172 * @since 12 7173 */ 7174 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 7175 7176 /** 7177 * @brief Obtains input event (for example, touch event) data for a component event. 7178 * 7179 * @param event Indicates the pointer to the component event. 7180 * @return Returns the pointer to the input event data. 7181 * @since 12 7182 */ 7183 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 7184 7185 /** 7186 * @brief Obtains the numerical data in a component event. 7187 * 7188 * @param event Indicates the pointer to the component event. 7189 * @return Returns the pointer to the numerical data. 7190 * @since 12 7191 */ 7192 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 7193 7194 /** 7195 * @brief Obtains the string data in a component event. 7196 * 7197 * @param event Indicates the pointer to the component event. 7198 * @return Returns the pointer to the string data. 7199 * @since 12 7200 */ 7201 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 7202 7203 /** 7204 * @brief Obtains the ArkUI_TextChangeEvent data from a component event. 7205 * 7206 * @param event Pointer to a component event. It cannot be null. 7207 * @return Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object. 7208 * @since 15 7209 */ 7210 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 7211 7212 /** 7213 * @brief Obtains the custom data in a component event. 7214 * 7215 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 7216 * is triggered. 7217 * 7218 * @param event Indicates the pointer to the component event. 7219 * @return Returns the pointer to the custom data. 7220 * @since 12 7221 */ 7222 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 7223 7224 /** 7225 * @brief Obtains the numeric-type parameter of a component event. 7226 * 7227 * @param event Indicates the pointer to the component event. 7228 * @param index Indicates the index of the return value. 7229 * @param value Indicates the return value. 7230 * @return Returns the error code. 7231 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7232 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 7233 * the limit. 7234 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 7235 * @since 12 7236 */ 7237 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 7238 7239 /** 7240 * @brief Obtains the string-type parameter of a component event. The string data is valid only during an event 7241 * callback. To use it outside an event callback, you are advised to copy the string data. 7242 * 7243 * @param event Indicates the pointer to the component event. 7244 * @param index Indicates the index of the return value. 7245 * @param string Indicates the pointer to the string array. 7246 * @param stringSize Indicates the length of the string array. 7247 * @return Returns the error code. 7248 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7249 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} if the parameter length exceeds 7250 * the limit. 7251 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if the data does not exist in the component event. 7252 * @since 12 7253 */ 7254 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 7255 7256 /** 7257 * @brief Sets the return value for a component event. 7258 * 7259 * @param event Indicates the pointer to the component event. 7260 * @param value Indicates the numeric-type array. 7261 * @param size Indicates the array length. 7262 * @return Returns the error code. 7263 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7264 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} if the component event does not support return values. 7265 * Returns {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} if data does not exist in the component event. 7266 * @since 12 7267 */ 7268 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 7269 7270 /** 7271 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 7272 * 7273 * @since 12 7274 */ 7275 typedef enum { 7276 /** 7277 * @brief Remeasure. 7278 * 7279 * When this type of flag is specified, re-layout is triggered by default. 7280 */ 7281 NODE_NEED_MEASURE = 1, 7282 7283 /** Re-layout. */ 7284 NODE_NEED_LAYOUT, 7285 /** Re-rendering. */ 7286 NODE_NEED_RENDER, 7287 } ArkUI_NodeDirtyFlag; 7288 7289 /** 7290 * @brief Defines the custom component event type. 7291 * 7292 * @since 12 7293 */ 7294 typedef enum { 7295 /** Measure type. */ 7296 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 7297 /** Layout type. */ 7298 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 7299 /** Draw type. */ 7300 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 7301 /** Foreground type. */ 7302 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 7303 /** Overlay type. */ 7304 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 7305 } ArkUI_NodeCustomEventType; 7306 7307 /** 7308 * @brief Defines the general structure of a custom component event. 7309 * 7310 * @since 12 7311 */ 7312 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 7313 7314 /** 7315 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 7316 * 7317 * @since 12 7318 */ 7319 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 7320 7321 /** 7322 * @brief Defines the component adapter event. 7323 * 7324 * @since 12 7325 */ 7326 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 7327 7328 /** 7329 * @brief Enumerates component adapter events. 7330 * 7331 * @since 12 7332 */ 7333 typedef enum { 7334 /** This event occurs when the component is attached to the adapter. */ 7335 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 7336 /** This event occurs when the component is detached from the adapter. */ 7337 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 7338 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 7339 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 7340 /** This event occurs when the adapter obtains the content of the new element to add. */ 7341 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 7342 /** This event occurs when the adapter removes an element. */ 7343 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 7344 } ArkUI_NodeAdapterEventType; 7345 7346 /** 7347 * @brief Creates a component adapter. 7348 * 7349 * @since 12 7350 */ 7351 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(); 7352 7353 /** 7354 * @brief Destroys a component adapter. 7355 * 7356 * @param handle Indicates the target component adapter. 7357 * @since 12 7358 */ 7359 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 7360 7361 /** 7362 * @brief Sets the total number of elements in the specified adapter. 7363 * 7364 * @param handle Indicates the target component adapter. 7365 * @param size Indicates the number of elements. 7366 * @return Returns the error code. 7367 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7368 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7369 * @since 12 7370 */ 7371 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 7372 7373 /** 7374 * @brief Obtains the total number of elements in the specified adapter. 7375 * 7376 * @param handle Indicates the target component adapter. 7377 * @return Returns the total number of elements in the adapter. 7378 * @since 12 7379 */ 7380 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 7381 7382 /** 7383 * @brief Registers an event callback for the adapter. 7384 * 7385 * @param handle Indicates the target component adapter. 7386 * @param userData Indicates custom data. 7387 * @param receiver Indicates the event receiver callback. 7388 * @return Returns the error code. 7389 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7390 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7391 * @since 12 7392 */ 7393 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 7394 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 7395 7396 /** 7397 * @brief Deregisters an event callback for the adapter. 7398 * 7399 * @param handle Indicates the target component adapter. 7400 * @since 12 7401 */ 7402 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 7403 7404 /** 7405 * @brief Instructs the specified adapter to reload all elements. 7406 * 7407 * @param handle Indicates the target component adapter. 7408 * @return Returns the error code. 7409 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7410 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7411 * @since 12 7412 */ 7413 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 7414 7415 /** 7416 * @brief Instructs the specified adapter to reload certain elements. 7417 * 7418 * @param handle Indicates the target component adapter. 7419 * @param startPosition Indicates the start position of the elements to reload. 7420 * @param itemCount Indicates the number of the elements to reload. 7421 * @return Returns the error code. 7422 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7423 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7424 * @since 12 7425 */ 7426 int32_t OH_ArkUI_NodeAdapter_ReloadItem( 7427 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7428 7429 /** 7430 * @brief Instructs the specified adapter to remove certain elements. 7431 * 7432 * @param handle Indicates the target component adapter. 7433 * @param startPosition Indicates the start position of the elements to remove. 7434 * @param itemCount Indicates the number of the elements to remove. 7435 * @return Returns the error code. 7436 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7437 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7438 * @since 12 7439 */ 7440 int32_t OH_ArkUI_NodeAdapter_RemoveItem( 7441 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7442 7443 /** 7444 * @brief Instructs the specified adapter to insert certain elements. 7445 * 7446 * @param handle Indicates the target component adapter. 7447 * @param startPosition Indicates the start position of the elements to insert. 7448 * @param itemCount Indicates the number of the elements to insert. 7449 * @return Returns the error code. 7450 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7451 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7452 * @since 12 7453 */ 7454 int32_t OH_ArkUI_NodeAdapter_InsertItem( 7455 ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7456 7457 /** 7458 * @brief Instructs the specified adapter to move certain elements. 7459 * 7460 * @param handle Indicates the target component adapter. 7461 * @param from Indicates the start position of the elements to move. 7462 * @param to Indicates the end position of the elements to move. 7463 * @return Returns the error code. 7464 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7465 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7466 * @since 12 7467 */ 7468 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 7469 7470 /** 7471 * @brief Obtains all elements stored in the specified adapter. 7472 * 7473 * This API returns the pointer to the array of the elements. You need to manually release the memory data 7474 * to which the pointer points. 7475 * 7476 * @param handle Indicates the target component adapter. 7477 * @param items Indicates the pointer to the array of the elements in the adapter. 7478 * @param size Indicates the number of elements. 7479 * @return Returns the error code. 7480 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7481 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7482 * @since 12 7483 */ 7484 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 7485 7486 /** 7487 * @brief Obtains the custom data passed in during registration of the specified event. 7488 * 7489 * @param event Indicates the target adapter event. 7490 * @since 12 7491 */ 7492 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 7493 7494 /** 7495 * @brief Obtains the event type. 7496 * 7497 * @param event Indicates the target adapter event. 7498 * @return Returns the event type. 7499 * @since 12 7500 */ 7501 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 7502 7503 /** 7504 * @brief Obtains the element to be removed for the event to be destroyed. 7505 * 7506 * @param event Indicates the target adapter event. 7507 * @return Returns the element to be removed. 7508 * @since 12 7509 */ 7510 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 7511 7512 /** 7513 * @brief Obtains the index of the element to be operated for the specified adapter event. 7514 * 7515 * @param event Indicates the target adapter event. 7516 * @return Returns the index of the element. 7517 * @since 12 7518 */ 7519 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 7520 7521 /** 7522 * @brief Obtains the scrollable container node that uses the specified adapter. 7523 * 7524 * @param event Indicates the target adapter event. 7525 * @return Returns the scrollable container node that uses the specified adapter. 7526 * @since 12 7527 */ 7528 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 7529 7530 /** 7531 * @brief Sets the component to be added to the specified adapter. 7532 * 7533 * @param event Indicates the target adapter event. 7534 * @param node Indicates the component to be added. 7535 * @return Returns the error code. 7536 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7537 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7538 * @since 12 7539 */ 7540 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 7541 7542 /** 7543 * @brief Sets the component ID to be generated. 7544 * 7545 * @param event Indicates the target adapter event. 7546 * @param id Indicates the component ID to set. 7547 * @return Returns the error code. 7548 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7549 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7550 * @since 12 7551 */ 7552 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 7553 7554 /** 7555 * @brief Declares a collection of native node APIs provided by ArkUI. 7556 * 7557 * The APIs related to the native node must be called in the main thread. 7558 * 7559 * @version 1 7560 * @since 12 7561 */ 7562 typedef struct { 7563 /** Struct version. */ 7564 int32_t version; 7565 7566 /** 7567 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 7568 * 7569 * @param type Indicates the type of component to create. 7570 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 7571 */ 7572 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 7573 7574 /** 7575 * @brief Destroys the component to which the specified pointer points. 7576 * 7577 * @param node Indicates the pointer. 7578 */ 7579 void (*disposeNode)(ArkUI_NodeHandle node); 7580 7581 /** 7582 * @brief Adds a component to a parent node. 7583 * 7584 * @param parent Indicates the pointer to the parent node. 7585 * @param child Indicates the pointer to the child node. 7586 * @return Returns the error code. 7587 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7588 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7589 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7590 * on BuilderNode generated nodes: 7591 * setting or resetting attributes, setting events, or adding or editing subnodes. 7592 */ 7593 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 7594 7595 /** 7596 * @brief Removes a component from its parent node. 7597 * 7598 * @param parent Indicates the pointer to the parent node. 7599 * @param child Indicates the pointer to the child node. 7600 * @return Returns the error code. 7601 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7602 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7603 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7604 * on BuilderNode generated nodes: 7605 * setting or resetting attributes, setting events, or adding or editing subnodes. 7606 */ 7607 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 7608 7609 /** 7610 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 7611 * 7612 * @param parent Indicates the pointer to the parent node. 7613 * @param child Indicates the pointer to the child node. 7614 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 7615 * If the value is null, the node is inserted at the start of the parent node. 7616 * @return Returns the error code. 7617 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7618 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7619 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7620 * on BuilderNode generated nodes: 7621 * setting or resetting attributes, setting events, or adding or editing subnodes. 7622 */ 7623 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 7624 7625 /** 7626 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 7627 * 7628 * @param parent Indicates the pointer to the parent node. 7629 * @param child Indicates the pointer to the child node. 7630 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 7631 * If the value is null, the node is inserted at the end of the parent node. 7632 * @return Returns the error code. 7633 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7634 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7635 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7636 * on BuilderNode generated nodes: 7637 * setting or resetting attributes, setting events, or adding or editing subnodes. 7638 */ 7639 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 7640 7641 /** 7642 * @brief Inserts a component to the specified position in a parent node. 7643 * 7644 * @param parent Indicates the pointer to the parent node. 7645 * @param child Indicates the pointer to the child node. 7646 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 7647 * negative number or invalid, the node is inserted at the end of the parent node. 7648 * @return Returns the error code. 7649 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7650 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7651 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7652 * on BuilderNode generated nodes: 7653 * setting or resetting attributes, setting events, or adding or editing subnodes. 7654 */ 7655 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 7656 7657 /** 7658 * @brief Sets the attribute of a node. 7659 * 7660 * @param node Indicates the node whose attribute needs to be set. 7661 * @param attribute Indicates the type of attribute to set. 7662 * @param value Indicates the attribute value. 7663 * @return Returns the error code. 7664 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7665 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7666 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7667 * of the native API was not found. 7668 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7669 * on BuilderNode generated nodes: 7670 * setting or resetting attributes, setting events, or adding or editing subnodes. 7671 */ 7672 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 7673 7674 /** 7675 * @brief Obtains an attribute. 7676 * 7677 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 7678 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 7679 * time. Otherwise, the pointer may be overwritten by other values. 7680 * @param node Indicates the node whose attribute needs to be obtained. 7681 * @param attribute Indicates the type of attribute to obtain. 7682 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 7683 */ 7684 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 7685 7686 /** 7687 * @brief Resets an attribute. 7688 * 7689 * @param node Indicates the node whose attribute needs to be reset. 7690 * @param attribute Indicates the type of attribute to reset. 7691 * @return Returns the error code. 7692 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7693 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7694 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7695 * of the native API was not found. 7696 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7697 * on BuilderNode generated nodes: 7698 * setting or resetting attributes, setting events, or adding or editing subnodes. 7699 */ 7700 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 7701 7702 /** 7703 * @brief Registers an event for the specified node. 7704 * 7705 * When the component is being displayed, this API must be called in the main thread. 7706 * 7707 * @param node Indicates the target node. 7708 * @param eventType Indicates the type of event to register. 7709 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 7710 * when the event is triggered. 7711 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 7712 * @return Returns the error code. 7713 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7714 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7715 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7716 * of the native API was not found. 7717 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7718 * on BuilderNode generated nodes: 7719 * setting or resetting attributes, setting events, or adding or editing subnodes. 7720 */ 7721 int32_t (*registerNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, 7722 int32_t targetId, void* userData); 7723 7724 /** 7725 * @brief Unregisters an event for the specified node. 7726 * 7727 * When the component is being displayed, this API must be called in the main thread. 7728 * 7729 * @param node Indicates the target node. 7730 * @param eventType Indicates the type of event to unregister. 7731 */ 7732 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 7733 7734 /** 7735 * @brief Registers an event receiver. 7736 * 7737 * The ArkUI framework collects component events generated during the process and calls back the events through 7738 * the registered event receiver. \n 7739 * A new call to this API will overwrite the previously registered event receiver. \n 7740 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the 7741 * callback is complete. \n 7742 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 7743 * 7744 * @param eventReceiver Indicates the event receiver to register. 7745 */ 7746 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 7747 7748 /** 7749 * @brief Unregisters the event receiver. 7750 * 7751 */ 7752 void (*unregisterNodeEventReceiver)(); 7753 7754 /** 7755 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 7756 * 7757 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 7758 * measuring, layout, or rendering again. In this case, you do not need to call this API. 7759 * @param node Indicates the node for which you want to mark as dirty area. 7760 * @param dirtyFlag Indicates type of dirty area. 7761 */ 7762 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 7763 7764 /** 7765 * @brief Obtains the number of subnodes. 7766 * 7767 * @param node Indicates the target node. 7768 * @return the number of subnodes. If not, returns 0. 7769 */ 7770 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 7771 7772 /** 7773 * @brief Obtains a subnode. 7774 * 7775 * @param node Indicates the target node. 7776 * @param position Indicates the position of the subnode. 7777 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7778 */ 7779 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 7780 7781 /** 7782 * @brief Obtains the first subnode. 7783 * 7784 * @param node Indicates the target node. 7785 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7786 */ 7787 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 7788 7789 /** 7790 * @brief Obtains the last subnode. 7791 * 7792 * @param node Indicates the target node. 7793 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7794 */ 7795 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 7796 7797 /** 7798 * @brief Obtains the previous sibling node. 7799 * 7800 * @param node Indicates the target node. 7801 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7802 */ 7803 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 7804 7805 /** 7806 * @brief Obtains the next sibling node. 7807 * 7808 * @param node Indicates the target node. 7809 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7810 */ 7811 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 7812 7813 /** 7814 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 7815 * point function registered by <b>registerNodeCustomEventReceiver</b>. 7816 * 7817 * @param node Indicates the target node. 7818 * @param eventType Indicates the type of event to register. 7819 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 7820 * when the event is triggered. 7821 * @param userData Indicates the custom event parameter, which is passed in the callback of 7822 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 7823 * @return Returns the error code. 7824 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7825 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7826 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7827 * of the native API was not found. 7828 */ 7829 int32_t (*registerNodeCustomEvent)( 7830 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 7831 7832 /** 7833 * @brief Unregisters a custom event for a node. 7834 * 7835 * @param node Indicates the target node. 7836 * @param eventType Indicates the type of event to unregister. 7837 */ 7838 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 7839 7840 /** 7841 * @brief Registers a unified entry point function for custom node event callbacks. 7842 * 7843 * The ArkUI framework collects custom component events generated during the process and calls back the events 7844 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 7845 * A new call to this API will overwrite the previously registered event receiver. 7846 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 7847 * The data will be destroyed after the callback is complete. \n 7848 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 7849 * 7850 * @param eventReceiver Indicates the event receiver to register. 7851 */ 7852 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7853 7854 /** 7855 * @brief Unregisters the unified entry point function for custom node event callbacks. 7856 * 7857 */ 7858 void (*unregisterNodeCustomEventReceiver)(); 7859 7860 /** 7861 * @brief Sets the width and height for a component after the measurement. 7862 * 7863 * @param node Indicates the target node. 7864 * @param width Indicates the width. 7865 * @param height Indicates the height. 7866 * @return Returns the error code. 7867 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7868 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7869 */ 7870 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 7871 7872 /** 7873 * @brief Sets the position for a component. 7874 * 7875 * @param node Indicates the target node. 7876 * @param positionX Indicates the X coordinate. 7877 * @param positionY Indicates the Y coordinate. 7878 * @return Returns the error code. 7879 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7880 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7881 */ 7882 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 7883 7884 /** 7885 * @brief Obtains the width and height of a component after measurement. 7886 * 7887 * @param node Indicates the target node. 7888 * @return Returns the width and height of the component. 7889 */ 7890 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 7891 7892 /** 7893 * @brief Obtains the position of a component after the layout is complete. 7894 * 7895 * @param node Indicates the target node. 7896 * @return Returns the position of the component. 7897 */ 7898 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 7899 7900 /** 7901 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 7902 * 7903 * @param node Indicates the target node. 7904 * @param Constraint Indicates the size constraint. 7905 * @return Returns the error code. 7906 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7907 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7908 */ 7909 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 7910 7911 /** 7912 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 7913 * 7914 * When the component is being displayed, this API must be called in the main thread. 7915 * 7916 * @param node Indicates the target node. 7917 * @param positionX Indicates the X coordinate. 7918 * @param positionY Indicates the Y coordinate. 7919 * @return Returns the error code. 7920 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7921 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7922 */ 7923 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 7924 7925 /** 7926 * @brief Adds a component event callback function to a component to receive component events generated 7927 * by the component. 7928 * 7929 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 7930 * receivers to be added to the same component. \n 7931 * The callback added by this API is triggered before the global callback registered by 7932 * <b>registerNodeEventReceiver</b>. \n 7933 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 7934 * The data will be destroyed after the callback is complete. \n 7935 * 7936 * @param node Indicates the component for which you want to add the event callback function. 7937 * @param eventReceiver Indicates the component event callback function to add. 7938 * @return Returns the error code. 7939 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7940 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7941 */ 7942 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 7943 7944 /** 7945 * @brief Removes the registered component event callback function from a component. 7946 * 7947 * @param node Indicates the component from which you want to remove the event callback function. 7948 * @param eventReceiver Indicates the component event callback function to remove. 7949 * @return Returns the error code. 7950 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7951 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7952 */ 7953 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 7954 7955 /** 7956 * @brief Adds a custom event callback function to a component to receive custom events 7957 * (such as layout and drawing events) generated by the component. 7958 * 7959 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 7960 * multiple event receivers to be added to the same component. \n 7961 * The callback added by this API is triggered before the global callback registered by 7962 * <b>registerNodeCustomEventReceiver</b>. \n 7963 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 7964 * The data will be destroyed after the callback is complete. \n 7965 * 7966 * @param node Indicates the component for which you want to add the custom event callback function. 7967 * @param eventReceiver Indicates the custom event callback function to add. 7968 * @return Returns the error code. 7969 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7970 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7971 */ 7972 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7973 7974 /** 7975 * @brief Removes a registered custom event callback function from a component. 7976 * 7977 * @param node Indicates the component from which you want to remove the custom event callback function. 7978 * @param eventReceiver Indicates the custom event callback function to remove. 7979 * @return Returns the error code. 7980 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7981 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7982 */ 7983 int32_t (*removeNodeCustomEventReceiver)(ArkUI_NodeHandle node, 7984 void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7985 7986 /** 7987 * @brief Saves custom data on the specified component. 7988 * 7989 * @param node Indicates the component on which the custom data will be saved. 7990 * @param userData Indicates the custom data to be saved. 7991 * @return Returns the error code. 7992 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7993 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs.. 7994 */ 7995 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 7996 7997 /** 7998 * @brief Obtains the custom data saved on the specified component. 7999 * 8000 * @param node Indicates the target component. 8001 * @return Returns the custom data. 8002 */ 8003 void* (*getUserData)(ArkUI_NodeHandle node); 8004 8005 /** 8006 * @brief Sets the unit for a component. 8007 * 8008 * @param node Indicates the component for which you want to set the unit. 8009 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 8010 * The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>. 8011 * @return Returns the error code. 8012 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8013 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8014 */ 8015 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 8016 8017 /** 8018 * @brief Get the parent node. 8019 * 8020 * @param node target node object. 8021 * @return Returns the pointer of the component, if not return NULL 8022 */ 8023 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 8024 8025 /** 8026 * @brief Uninstall all child nodes from the parent component. 8027 * 8028 * @param parent target node object. 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 * @since 12 8033 */ 8034 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 8035 } ArkUI_NativeNodeAPI_1; 8036 8037 /** 8038 * @brief Obtains the size constraint for measurement through a custom component event. 8039 * 8040 * @param event Indicates the pointer to the custom component event. 8041 * @return Returns the pointer to the size constraint. 8042 * @since 12 8043 */ 8044 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 8045 8046 /** 8047 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 8048 * custom component event. 8049 * 8050 * @param event Indicates the pointer to the custom component event. 8051 * @return Returns the expected position relative to the parent component. 8052 * @since 12 8053 */ 8054 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 8055 8056 /** 8057 * @brief Obtains the drawing context through a custom component event. 8058 * 8059 * @param event Indicates the pointer to the custom component event. 8060 * @return Returns the drawing context. 8061 * @since 12 8062 */ 8063 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 8064 8065 /** 8066 * @brief Obtains the ID of a custom component event. 8067 * 8068 * @param event Indicates the pointer to the custom component event. 8069 * @return Returns the ID of the custom component event. 8070 * @since 12 8071 */ 8072 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 8073 8074 /** 8075 * @brief Obtains custom event parameters through a custom component event. 8076 * 8077 * @param event Indicates the pointer to the custom component event. 8078 * @return Returns the custom event parameters. 8079 * @since 12 8080 */ 8081 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 8082 8083 /** 8084 * @brief Obtains a component object through a custom component event. 8085 * 8086 * @param event Indicates the pointer to the custom component event. 8087 * @return Returns the component object. 8088 * @since 12 8089 */ 8090 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 8091 8092 /** 8093 * @brief Obtains the event type through a custom component event. 8094 * 8095 * @param event Indicates the pointer to the custom component event. 8096 * @return Returns the type of the custom component event. 8097 * @since 12 8098 */ 8099 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 8100 8101 /** 8102 * @brief Obtains the measurement information of a custom span through a custom component event. 8103 * 8104 * @param event Indicates the pointer to the custom component event. 8105 * @param info Indicates the measurement information to be obtained. 8106 * @return Returns the result code. 8107 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8108 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8109 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8110 * @since 12 8111 */ 8112 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 8113 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 8114 8115 /** 8116 * @brief Sets the measurement metrics of a custom span through a custom component event. 8117 * 8118 * @param event Indicates the pointer to the custom component event. 8119 * @param metrics Indicates the measurement metrics to set. 8120 * @return Returns the result code. 8121 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8122 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8123 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8124 * @since 12 8125 */ 8126 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 8127 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 8128 8129 /** 8130 * @brief Obtains the drawing information of a custom span through a custom component event. 8131 * 8132 * @param event Indicates the pointer to the custom component event. 8133 * @param info Indicates the drawing information to obtain. 8134 * @return Returns the result code. 8135 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8136 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8137 * <br> Possible causes: Parameter verification failed, the parameter should not be nullptr. 8138 * @since 12 8139 */ 8140 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 8141 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 8142 8143 /** 8144 * @brief Defines the node content event type. 8145 * 8146 * @since 12 8147 */ 8148 typedef enum { 8149 /** Defines the attach event. */ 8150 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 8151 /** Defines the detach event. */ 8152 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 8153 } ArkUI_NodeContentEventType; 8154 8155 /** 8156 * @brief Enumerates the inspector error codes. 8157 * @since 15 8158 */ 8159 typedef enum { 8160 /** 8161 * @error Success. 8162 */ 8163 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 8164 /** 8165 * @error Invalid parameter. 8166 */ 8167 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 8168 } ArkUI_InspectorErrorCode; 8169 8170 /** 8171 * @brief Defines the general structure of a node content event. 8172 * @since 12 8173 */ 8174 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 8175 8176 /** 8177 * @brief Defines the callback function of a node content event. 8178 * @since 12 8179 */ 8180 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 8181 8182 /** 8183 * @brief register a callback function to a node content. 8184 * 8185 * @param content Indicates the pointer to the node content instance. 8186 * @param callback Indicates the callback function. 8187 * @return Returns the error code. 8188 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8189 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8190 * @since 12 8191 */ 8192 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 8193 8194 /** 8195 * @brief Obtains the type of a node content event. 8196 * 8197 * @param event Indicates the pointer to the node content event. 8198 * @return Returns the type of the node content event. 8199 * @since 12 8200 */ 8201 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 8202 8203 /** 8204 * @brief Obtains the node content object that triggers a node content event. 8205 * 8206 * @param event Indicates the pointer to the node content event. 8207 * @return Returns the node content object that triggers the node content event. 8208 * @since 12 8209 */ 8210 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 8211 8212 /** 8213 * @brief Saves custom data on the specified node content. 8214 * 8215 * @param content Indicates the node content on which the custom data will be saved. 8216 * @param userData Indicates the custom data to be saved. 8217 * @return Returns the error code. 8218 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8219 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8220 * @since 12 8221 */ 8222 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 8223 8224 /** 8225 * @brief Obtains the custom data saved on the specified node content. 8226 * 8227 * @param content Indicates the target node content. 8228 * @return Returns the custom data. 8229 * @since 12 8230 */ 8231 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 8232 8233 /** 8234 * @brief Add a node to a node content. 8235 * 8236 * @param content Indicates the pointer to the node content instance. 8237 * @param node Indicates the pointer to the node 8238 * @return Returns the error code. 8239 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8240 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8241 * @since 12 8242 */ 8243 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8244 8245 /** 8246 * @brief remove a node from a node content. 8247 * 8248 * @param content Indicates the pointer to the node content instance. 8249 * @param node Indicates the pointer to the node 8250 * @return Returns the error code. 8251 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8252 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8253 * @since 12 8254 */ 8255 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8256 8257 /** 8258 * @brief insert a node into a node content at a given position. 8259 * 8260 * @param content Indicates the pointer to the node content instance. 8261 * @param node Indicates the pointer to the node 8262 * @param position Indicates the position for inserting the node 8263 * @return Returns the error code. 8264 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8265 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8266 * @since 12 8267 */ 8268 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 8269 8270 /** 8271 * @brief Get the size of the component layout area. 8272 * The layout area size does not include graphic variation attributes such as scaling. 8273 * 8274 * @param node ArkUI_NodeHandle pointer. 8275 * @param size The drawing area size of the component handle, in px. 8276 * @return Returns the error code. 8277 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8278 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8279 * @since 12 8280 */ 8281 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 8282 8283 /** 8284 * @brief Obtain the position of the component layout area relative to the parent component. 8285 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8286 * 8287 * @param node ArkUI_NodeHandle pointer. 8288 * @param localOffset The offset value of the component handle relative to the parent component, in px. 8289 * @return Returns the error code. 8290 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8291 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8292 * @since 12 8293 */ 8294 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 8295 8296 /** 8297 * @brief Obtain the position of the component layout area relative to the window. 8298 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8299 * 8300 * @param node ArkUI_NodeHandle pointer. 8301 * @param globalOffset The offset value of the component handle relative to the window, in px. 8302 * @return Returns the error code. 8303 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8304 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8305 * @since 12 8306 */ 8307 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 8308 8309 /** 8310 * @brief Obtain the position of the component layout area relative to the screen. 8311 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8312 * 8313 * @param node ArkUI_NodeHandle pointer. 8314 * @param screenOffset The offset value of the component handle relative to the screen, in px. 8315 * @return Returns the error code. 8316 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8317 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8318 * @since 12 8319 */ 8320 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 8321 8322 /** 8323 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 8324 * 8325 * @param node ArkUI_NodeHandle pointer. 8326 * @param translateOffset The cumulative offset value of the component handle itself, 8327 * parent components, and ancestor nodes, in px. 8328 * @return Returns the error code. 8329 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8330 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8331 * @since 12 8332 */ 8333 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8334 8335 /** 8336 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 8337 * 8338 * @param node ArkUI_NodeHandle pointer. 8339 * @param translateOffset The cumulative offset value of the component handle itself, 8340 * parent components, and ancestor nodes, in px. 8341 * @return Returns the error code. 8342 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8343 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8344 * @since 12 8345 */ 8346 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8347 8348 /** 8349 * @brief Add the custom property of the component. This interface only works on the main thread. 8350 * 8351 * @param node ArkUI_NodeHandle pointer. 8352 * @param name The name of the custom property. Passing null pointers is not allowed. 8353 * @param value The value of the custom property. Passing null pointers is not allowed. 8354 * @since 13 8355 */ 8356 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 8357 8358 /** 8359 * @brief Remove the custom property of the component. 8360 * 8361 * @param node ArkUI_NodeHandle pointer. 8362 * @param name The name of the custom property. 8363 * @since 13 8364 */ 8365 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 8366 8367 /** 8368 * @brief Get the value of the custom property of the component. 8369 * 8370 * @param node ArkUI-NodeHandle pointer. 8371 * @param name The name of the custom attribute. 8372 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 8373 * @return Error code. 8374 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8375 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8376 * @since 14 8377 */ 8378 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 8379 8380 /** 8381 * @brief Get the parent node to obtain the component nodes created by ArkTs. 8382 * 8383 * @param node Target node object. 8384 * @return Return the pointer of the component. 8385 * @since 14 8386 */ 8387 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 8388 8389 /** 8390 * @brief Retrieve all active child nodes of a node. Span will not be counted in the children. 8391 * 8392 * @param head Pass in the node that needs to be obtained. 8393 * @param handle The structure corresponding to the sub node information of the head node. 8394 * @return Error code. 8395 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8396 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8397 * @since 14 8398 */ 8399 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 8400 8401 /** 8402 * @brief Retrieve the root node of the current page. 8403 * 8404 * @param node Target node object. 8405 * @return Return the pointer of the component. 8406 * @since 14 8407 */ 8408 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 8409 8410 /** 8411 * @brief Retrieve whether the component is labeled by C-API. 8412 * 8413 * @param node Target node object. 8414 * @return Return whether the node is a Tag created by C-API, 8415 * true represents created by C-API, false represents not created by C-API. 8416 * @since 14 8417 */ 8418 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 8419 8420 /** 8421 * @brief Get the type of node. 8422 * 8423 * @param node Target node object. 8424 * @return Return the type of the node. 8425 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 8426 * @since 14 8427 */ 8428 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 8429 8430 /** 8431 * @brief Get info of the window to which the node belongs. 8432 * 8433 * @param node Target node object. 8434 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 8435 * @return Error code. 8436 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8437 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8438 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 8439 * @since 15 8440 */ 8441 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 8442 8443 /** 8444 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 8445 * 8446 * @param node Indicates the target node. 8447 * @param index The index of the subnode. 8448 * @return Error code. 8449 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8450 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8451 * @since 15 8452 */ 8453 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8454 8455 /** 8456 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 8457 * 8458 * @param node Indicates the target node. 8459 * @param index the index of the subnode. 8460 * @return Error code. 8461 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8462 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8463 * @since 15 8464 */ 8465 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8466 8467 /** 8468 * @brief Obtains a subnode by position with the expand mode. 8469 * 8470 * @param node Indicates the target node. 8471 * @param position Indicates the position of the subnode. 8472 * @param subnode The pointer to the subnode. 8473 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 8474 * @return Error code. 8475 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8476 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8477 * @since 15 8478 */ 8479 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 8480 ArkUI_NodeHandle* subnode, uint32_t expandMode); 8481 8482 /** 8483 * @brief Collapse the ListItem in its expanded state. 8484 * 8485 * @param node Node objects that need to be registered for events. 8486 * @param userData Custom event parameters are carried back in the callback parameter when the event is triggered. 8487 * @param onFinish The callback triggered after the completion of the folding animation. 8488 * @return Error code. 8489 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8490 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8491 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8492 * @since 12 8493 */ 8494 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 8495 8496 /** 8497 * @brief Obtain the UIContext pointer to the page where the node is located. 8498 * 8499 * @param node The node. 8500 * @return The UIContext pointer. 8501 * If a null pointer is returned, it may be because the node is empty. 8502 * @since 12 8503 */ 8504 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 8505 8506 /** 8507 * @brief The event called when the system color mode changes. 8508 * Only one system color change callback can be registered for the same component. 8509 * 8510 * @param node Indicates the target node. 8511 * @param userData Indicates the custom data to be saved. 8512 * @param onColorModeChange Callback Events. 8513 * @return Error code. 8514 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8515 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8516 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8517 * @since 12 8518 */ 8519 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node, 8520 void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 8521 8522 /** 8523 * @brief Unregister the event callback when the system color mode changes. 8524 * 8525 * @param node Indicates the target node. 8526 * @since 12 8527 */ 8528 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 8529 8530 /** 8531 * @brief The event called when the system font style changes. 8532 * Only one system font change callback can be registered for the same component. 8533 * 8534 * @param node Indicates the target node. 8535 * @param userData Indicates the custom data to be saved. 8536 * @param onFontStyleChange Callback Events. 8537 * @return Error code. 8538 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8539 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8540 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8541 * @since 12 8542 */ 8543 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, 8544 void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 8545 8546 /** 8547 * @brief Unregister the event callback when the system font style changes. 8548 * 8549 * @param node Indicates the target node. 8550 * @since 12 8551 */ 8552 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 8553 8554 /** 8555 * @brief Retrieve the font size value for system font change events. 8556 * 8557 * @param event Indicates a pointer to the current system font change event. 8558 * @return Updated system font size scaling factor. Default value: 1.0. 8559 * @since 12 8560 */ 8561 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 8562 8563 /** 8564 * @brief Retrieve the font thickness values for system font change events. 8565 * 8566 * @param event Indicates a pointer to the current system font change event. 8567 * @return The updated system font thickness scaling factor. Default value: 1.0. 8568 * @since 12 8569 */ 8570 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 8571 8572 /** 8573 * @brief Registers a callback for node when layout is completed. 8574 * 8575 * @param node Indicates the target node. 8576 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 8577 * @param onLayoutCompleted Indicates the function when layout completed is callback. 8578 * @return error code 8579 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8580 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8581 * @since 15 8582 */ 8583 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 8584 void* userData, void (*onLayoutCompleted)(void* userData)); 8585 8586 /** 8587 * @brief Registers a callback for node when draw is completed. 8588 * 8589 * @param node Indicates the target node. 8590 * @param userData Indicates the custom data used in onDrawCompleted callback function. 8591 * @param onDrawCompleted Indicates the function when draw completed is callback. 8592 * @return error code 8593 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8594 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8595 * @since 15 8596 */ 8597 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 8598 void* userData, void (*onDrawCompleted)(void* userData)); 8599 8600 /** 8601 * @brief Unregisters the layout completed callback for node. 8602 * 8603 * @param node Indicates the target node. 8604 * @return error code 8605 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8606 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8607 * @since 15 8608 */ 8609 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 8610 8611 /** 8612 * @brief Unregisters the draw completed callback for node. 8613 * 8614 * @param node Indicates the target node. 8615 * @return error code 8616 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8617 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8618 * @since 15 8619 */ 8620 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 8621 8622 /** 8623 * @brief Get the node handle by id. 8624 * 8625 * @param id The id of the target node handle. 8626 * @param node The handle of target node handle. 8627 * @return Error code. 8628 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8629 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8630 * @since 15 8631 */ 8632 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 8633 8634 /** 8635 * @brief Set the cross-language option of the target node handle. 8636 * 8637 * @param node The target node handle. 8638 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 8639 * @return Error code. 8640 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8641 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8642 * @since 15 8643 */ 8644 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 8645 8646 /** 8647 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 8648 * tree or is not rendered yet. 8649 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 8650 * 8651 * @param node Indicates the target node. 8652 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 8653 * @param pixelmap Pixelmap pointer created by system, it's the out result. 8654 * @return Returns the result code. 8655 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8656 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8657 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 8658 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 8659 * @since 15 8660 */ 8661 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 8662 OH_PixelmapNative** pixelmap); 8663 8664 /** 8665 * @brief Get the cross-language option of the target node handle. 8666 * 8667 * @param node The target node handle. 8668 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 8669 * @return Error code. 8670 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8671 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8672 * @since 15 8673 */ 8674 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 8675 8676 /** 8677 * @brief Obtains the offset of a specific node relative to its parent node. 8678 * 8679 * @param node Target node. 8680 * @param globalOffset Offset of the target node relative to its parent node, in px. 8681 * @return Returns the result code. 8682 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8683 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8684 * @since 15 8685 */ 8686 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 8687 8688 #ifdef __cplusplus 8689 }; 8690 #endif 8691 8692 #endif // ARKUI_NATIVE_NODE_H 8693 /** @} */ 8694