1 /* 2 * Copyright (c) 2024-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 /** 17 * @addtogroup ArkUI_NativeModule 18 * @{ 19 * 20 * @brief Provides UI capabilities of ArkUI on the native side, such as UI component creation and destruction, 21 * tree node operations, attribute setting, and event listening. 22 * 23 * @since 12 24 */ 25 26 /** 27 * @file native_node.h 28 * 29 * @brief Provides type definitions for <b>NativeNode</b> APIs. 30 * 31 * @library libace_ndk.z.so 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @since 12 34 */ 35 36 #ifndef ARKUI_NATIVE_NODE_H 37 #define ARKUI_NATIVE_NODE_H 38 39 #include "native_type.h" 40 #include "ui_input_event.h" 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 #define MAX_NODE_SCOPE_NUM 1000 47 48 /** 49 * @brief Enumerates ArkUI component types that can be created on the native side. 50 * 51 * @since 12 52 */ 53 typedef enum { 54 /** Custom node. */ 55 ARKUI_NODE_CUSTOM = 0, 56 /** Text. */ 57 ARKUI_NODE_TEXT = 1, 58 /** Text span. */ 59 ARKUI_NODE_SPAN = 2, 60 /** Image span. */ 61 ARKUI_NODE_IMAGE_SPAN = 3, 62 /** Image. */ 63 ARKUI_NODE_IMAGE = 4, 64 /** Toggle. */ 65 ARKUI_NODE_TOGGLE = 5, 66 /** Loading icon. */ 67 ARKUI_NODE_LOADING_PROGRESS = 6, 68 /** Single-line text input. */ 69 ARKUI_NODE_TEXT_INPUT = 7, 70 /** Multi-line text input. */ 71 ARKUI_NODE_TEXT_AREA = 8, 72 /** Button. */ 73 ARKUI_NODE_BUTTON = 9, 74 /** Progress indicator. */ 75 ARKUI_NODE_PROGRESS = 10, 76 /** Check box. */ 77 ARKUI_NODE_CHECKBOX = 11, 78 /** XComponent. */ 79 ARKUI_NODE_XCOMPONENT = 12, 80 /** Date picker. */ 81 ARKUI_NODE_DATE_PICKER = 13, 82 /** Time picker. */ 83 ARKUI_NODE_TIME_PICKER = 14, 84 /** Text picker. */ 85 ARKUI_NODE_TEXT_PICKER = 15, 86 /** Calendar picker. */ 87 ARKUI_NODE_CALENDAR_PICKER = 16, 88 /** Slider. */ 89 ARKUI_NODE_SLIDER = 17, 90 /** Radio button. */ 91 ARKUI_NODE_RADIO = 18, 92 /** Frame-by-frame animation component. */ 93 ARKUI_NODE_IMAGE_ANIMATOR = 19, 94 /** XComponent of type TEXTURE. 95 * @since 16 96 */ 97 ARKUI_NODE_XCOMPONENT_TEXTURE, 98 /** Check box group. 99 * @since 15 100 */ 101 ARKUI_NODE_CHECKBOX_GROUP = 21, 102 /** Stack container. */ 103 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 104 /** Swiper. */ 105 ARKUI_NODE_SWIPER, 106 /** Scrolling container. */ 107 ARKUI_NODE_SCROLL, 108 /** List. */ 109 ARKUI_NODE_LIST, 110 /** List item. */ 111 ARKUI_NODE_LIST_ITEM, 112 /** List item group. */ 113 ARKUI_NODE_LIST_ITEM_GROUP, 114 /** Column container. */ 115 ARKUI_NODE_COLUMN, 116 /** Row container. */ 117 ARKUI_NODE_ROW, 118 /** Flex container. */ 119 ARKUI_NODE_FLEX, 120 /** Refresh component. */ 121 ARKUI_NODE_REFRESH, 122 /** Water flow container. */ 123 ARKUI_NODE_WATER_FLOW, 124 /** Water flow item. */ 125 ARKUI_NODE_FLOW_ITEM, 126 /** Relative layout component. */ 127 ARKUI_NODE_RELATIVE_CONTAINER, 128 /** Grid. */ 129 ARKUI_NODE_GRID, 130 /** Grid item. */ 131 ARKUI_NODE_GRID_ITEM, 132 /** Custom_Span. */ 133 ARKUI_NODE_CUSTOM_SPAN, 134 /** 135 * EmbeddedComponent. 136 * @since 20 137 */ 138 ARKUI_NODE_EMBEDDED_COMPONENT, 139 /** 140 * Undefined. 141 * @since 20 142 */ 143 ARKUI_NODE_UNDEFINED, 144 } ArkUI_NodeType; 145 146 /** 147 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 148 * 149 * @since 12 150 */ 151 typedef struct { 152 /** Numeric array. */ 153 const ArkUI_NumberValue* value; 154 /** Size of the numeric array. */ 155 int32_t size; 156 /** String type. */ 157 const char* string; 158 /** Object type. */ 159 void* object; 160 } ArkUI_AttributeItem; 161 162 /** 163 * @brief Defines the ArkUI style attributes that can be set on the native side. 164 * 165 * @since 12 166 */ 167 typedef enum { 168 /** 169 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 170 * 171 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 172 * .value[0].f32: width, in vp.\n 173 * \n 174 * Format of the return value {@link ArkUI_AttributeItem}:\n 175 * .value[0].f32: width, in vp.\n 176 * 177 */ 178 NODE_WIDTH = 0, 179 /** 180 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 181 * 182 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 183 * .value[0].f32: height, in vp.\n 184 * \n 185 * Format of the return value {@link ArkUI_AttributeItem}:\n 186 * .value[0].f32: height, in vp.\n 187 * 188 */ 189 NODE_HEIGHT, 190 /** 191 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 192 * 193 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 194 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 195 * \n 196 * Format of the return value {@link ArkUI_AttributeItem}:\n 197 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 198 * 199 */ 200 NODE_BACKGROUND_COLOR, 201 /** 202 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 203 * 204 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 205 * .string: image address;\n 206 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 207 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 208 * \n 209 * Format of the return value {@link ArkUI_AttributeItem}:\n 210 * .string: image address;\n 211 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 212 * 213 */ 214 NODE_BACKGROUND_IMAGE, 215 /** 216 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 217 * 218 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 219 * 1: Specify the same padding for the four directions. \n 220 * .value[0].f32: padding, in vp.\n 221 * 2: Specify different paddings for different directions. \n 222 * .value[0].f32: top padding, in vp.\n 223 * .value[1].f32: right padding, in vp.\n 224 * .value[2].f32: bottom padding, in vp.\n 225 * .value[3].f32: left padding, in vp.\n 226 * \n 227 * Format of the return value {@link ArkUI_AttributeItem}:\n 228 * .value[0].f32: top padding, in vp.\n 229 * .value[1].f32: right padding, in vp.\n 230 * .value[2].f32: bottom padding, in vp.\n 231 * .value[3].f32: left padding, in vp.\n 232 * 233 */ 234 NODE_PADDING, 235 /** 236 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 237 * 238 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 239 * .string: component ID.\n 240 * \n 241 * Format of the return value {@link ArkUI_AttributeItem}:\n 242 * .string: component ID.\n 243 * 244 */ 245 NODE_ID, 246 /** 247 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 248 * 249 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 250 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means 251 * the opposite.\n 252 * \n 253 * Format of the return value {@link ArkUI_AttributeItem}:\n 254 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means 255 * the opposite. \n 256 * 257 */ 258 NODE_ENABLED, 259 /** 260 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 261 * 262 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 263 * 1: Specify the same margin for the four directions. \n 264 * .value[0].f32: margin, in vp.\n 265 * 2: Specify different margins for different directions. \n 266 * .value[0].f32: top margin, in vp.\n 267 * .value[1].f32: right margin, in vp.\n 268 * .value[2].f32: bottom margin, in vp.\n 269 * .value[3].f32: left margin, in vp.\n 270 * \n 271 * Format of the return value {@link ArkUI_AttributeItem}:\n 272 * .value[0].f32: top margin, in vp.\n 273 * .value[1].f32: right margin, in vp.\n 274 * .value[2].f32: bottom margin, in vp.\n 275 * .value[3].f32: left margin, in vp.\n 276 * 277 */ 278 NODE_MARGIN, 279 /** 280 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 281 * 282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 283 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 284 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 285 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 286 * \n 287 * Format of the return value {@link ArkUI_AttributeItem}:\n 288 * .value[0].f32: distance to translate along the x-axis, in vp.\n 289 * .value[1].f32: distance to translate along the y-axis, in vp.\n 290 * .value[2].f32: distance to translate along the z-axis, in vp. \n 291 * 292 */ 293 NODE_TRANSLATE, 294 /** 295 * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs. 296 * 297 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 298 * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n 299 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 300 * \n 301 * Format of the return value {@link ArkUI_AttributeItem}:\n 302 * .value[0].f32: scale factor along the x-axis.\n 303 * .value[1].f32: scale factor along the y-axis. \n 304 * 305 */ 306 NODE_SCALE, 307 /** 308 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 309 * 310 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 311 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 312 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 313 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 314 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 315 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 316 * The default value is <b>0</b>. \n 317 * \n 318 * Format of the return value {@link ArkUI_AttributeItem}:\n 319 * .value[0].f32: X coordinate of the rotation axis vector.\n 320 * .value[1].f32: Y coordinate of the rotation axis vector.\n 321 * .value[2].f32: Z coordinate of the rotation axis vector.\n 322 * .value[3].f32: rotation angle.\n 323 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 324 * 325 */ 326 NODE_ROTATE, 327 /** 328 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 329 * 330 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 331 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 332 * \n 333 * Format of the return value {@link ArkUI_AttributeItem}:\n 334 * .value[0].f32: brightness value. \n 335 * 336 */ 337 NODE_BRIGHTNESS, 338 /** 339 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 340 * 341 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 342 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50]. \n 343 * \n 344 * Format of the return value {@link ArkUI_AttributeItem}: \n 345 * .value[0].f32: saturation value. \n 346 * 347 */ 348 NODE_SATURATION, 349 /** 350 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 351 * 352 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 353 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 354 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 355 * \n 356 * Format of the return value {@link ArkUI_AttributeItem}:\n 357 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 358 * the image is not blurred. The unit is vp. \n 359 * 360 */ 361 NODE_BLUR, 362 /** 363 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 364 * 365 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 366 * .value[0].f32: start angle of the linear gradient. A positive value indicates a clockwise rotation from the 367 * origin, (0, 0). The default value is <b>180</b>.\n 368 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. 369 * The parameter type is {@link ArkUI_LinearGradientDirection}. \n 370 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 371 * .object: array of color stops, each of which consists of a color and its stop position. 372 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 373 * colors: colors of the color stops. \n 374 * stops: stop positions of the color stops. \n 375 * size: number of colors. \n 376 * \n 377 * Format of the return value {@link ArkUI_AttributeItem}:\n 378 * .value[0].f32: start angle of the linear gradient. \n 379 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 380 * .value[2].i32: whether the colors are repeated. \n 381 * .object: array of color stops, each of which consists of a color and its stop position. 382 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 383 * colors: colors of the color stops. \n 384 * stops: stop positions of the color stops. \n 385 * size: number of colors. \n 386 * 387 */ 388 NODE_LINEAR_GRADIENT, 389 /** 390 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 391 * 392 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 393 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 394 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 395 * \n 396 * Format of the return value {@link ArkUI_AttributeItem}:\n 397 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 398 * 399 */ 400 NODE_ALIGNMENT, 401 /** 402 * @brief Defines the opacity 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 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 406 * \n 407 * Format of the return value {@link ArkUI_AttributeItem}:\n 408 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 409 * 410 */ 411 NODE_OPACITY, 412 /** 413 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 414 * 415 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 416 * 1: .value[0].f32: width of the four borders. \n 417 * 2: .value[0].f32: width of the top border. \n 418 * .value[1].f32: width of the right border. \n 419 * .value[2].f32: width of the bottom border. \n 420 * .value[3].f32: width of the left border. \n 421 * \n 422 * Format of the return value {@link ArkUI_AttributeItem}:\n 423 * .value[0].f32: width of the top border. \n 424 * .value[1].f32: width of the right border. \n 425 * .value[2].f32: width of the bottom border. \n 426 * .value[3].f32: width of the left border. \n 427 * 428 */ 429 NODE_BORDER_WIDTH, 430 /** 431 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 432 * 433 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 434 * 1: .value[0].f32: radius of the four corners. \n 435 * 2: .value[0].f32: radius of the upper left corner. \n 436 * .value[1].f32: radius of the upper right corner. \n 437 * .value[2].f32: radius of the lower left corner. \n 438 * .value[3].f32: radius of the lower right corner. \n 439 * \n 440 * Format of the return value {@link ArkUI_AttributeItem}:\n 441 * .value[0].f32: radius of the upper left corner. \n 442 * .value[1].f32: radius of the upper right corner. \n 443 * .value[2].f32: radius of the lower left corner. \n 444 * .value[3].f32: radius of the lower right corner. \n 445 * 446 */ 447 NODE_BORDER_RADIUS, 448 /** 449 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 450 * 451 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 452 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 453 * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 454 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 455 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 456 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 457 * \n 458 * Format of the return value {@link ArkUI_AttributeItem}:\n 459 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 460 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 461 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 462 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 463 * 464 */ 465 NODE_BORDER_COLOR, 466 /** 467 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 468 * 469 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 470 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 471 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 472 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 473 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 474 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 475 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 476 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 477 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 478 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 479 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 480 * \n 481 * Format of the return value {@link ArkUI_AttributeItem}:\n 482 * .value[0].i32: line style of the top border. \n 483 * .value[1].i32: line style of the right border. \n 484 * .value[2].i32: line style of the bottom border. \n 485 * .value[3].i32: line style of the left border. \n 486 * 487 */ 488 NODE_BORDER_STYLE, 489 /** 490 * @brief Defines the z-index attribute for the stack sequence. 491 * This attribute 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].f32: z-index value. \n 495 * \n 496 * Format of the return value {@link ArkUI_AttributeItem}:\n 497 * .value[0].f32: z-index value. \n 498 * 499 */ 500 NODE_Z_INDEX, 501 /** 502 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 503 * 504 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 505 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 506 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 507 * \n 508 * Format of the return value {@link ArkUI_AttributeItem}:\n 509 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 510 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 511 * 512 */ 513 NODE_VISIBILITY, 514 /** 515 * @brief Defines the clip attribute, which can be set, reset, and obtained as required through APIs. 516 * 517 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 518 * .value[0].i32: whether to clip the component based on the parent container bounds. 519 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 520 * \n 521 * Format of the return value {@link ArkUI_AttributeItem}:\n 522 * .value[0].i32: whether to clip the component based on the parent container bounds. 523 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 524 * 525 */ 526 NODE_CLIP, 527 /** 528 * @brief Defines the clipping region on the component. 529 * This attribute can be set and obtained as required through APIs. 530 * 531 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 532 * which supports five types of shapes:\n 533 * 1. Rectangle:\n 534 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 535 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 536 * .value[1].f32: width of the rectangle.\n 537 * .value[2].f32: height of rectangle.\n 538 * .value[3].f32: width of the rounded corner of the rectangle.\n 539 * .value[4].f32: height of the rounded corner of the rectangle.\n 540 * 2. Circle:\n 541 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 542 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 543 * .value[1].f32: width of the circle.\n 544 * .value[2].f32: height of the circle.\n 545 * 3. Ellipse:\n 546 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 547 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 548 * .value[1].f32: width of the ellipse.\n 549 * .value[2].f32: height of the ellipse.\n 550 * 4. Path:\n 551 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 552 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 553 * .value[1].f32: width of the path.\n 554 * .value[2].f32: height of the path.\n 555 * .string: command for drawing the path.\n 556 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 557 * 1. Rectangle:\n 558 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 559 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 560 * .value[1].f32: width of the rectangle.\n 561 * .value[2].f32: height of rectangle.\n 562 * .value[3].f32: width of the rounded corner of the rectangle.\n 563 * .value[4].f32: height of the rounded corner of the rectangle.\n 564 * 2. Circle:\n 565 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 566 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 567 * .value[1].f32: width of the circle.\n 568 * .value[2].f32: height of the circle.\n 569 * 3. Ellipse:\n 570 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 571 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 572 * .value[1].f32: width of the ellipse.\n 573 * .value[2].f32: height of the ellipse.\n 574 * 4. Path:\n 575 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 576 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 577 * .value[1].f32: width of the path.\n 578 * .value[2].f32: height of the path.\n 579 * .string: command for drawing the path.\n 580 * 581 */ 582 NODE_CLIP_SHAPE, 583 /** 584 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 585 * This attribute can be set, reset, and obtained as required through APIs. 586 * 587 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 588 * .data[0...15].f32: 16 floating-point numbers. \n 589 * \n 590 * Format of the return value {@link ArkUI_AttributeItem}:\n 591 * .data[0...15].f32: 16 floating-point numbers. \n 592 * 593 */ 594 NODE_TRANSFORM, 595 /** 596 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 597 * 598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 599 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 600 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 601 * \n 602 * Format of the return value {@link ArkUI_AttributeItem}:\n 603 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 604 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 605 * 606 */ 607 NODE_HIT_TEST_BEHAVIOR, 608 /** 609 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 610 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 611 * 612 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 613 * .value[0].f32: X coordinate. \n 614 * .value[1].f32: Y coordinate. \n 615 * \n 616 * Format of the return value {@link ArkUI_AttributeItem}:\n 617 * .value[0].f32: X coordinate. \n 618 * .value[1].f32: Y coordinate. \n 619 * 620 */ 621 NODE_POSITION, 622 /** 623 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 624 * 625 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 626 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 627 * \n 628 * Format of the return value {@link ArkUI_AttributeItem}:\n 629 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 630 * 631 */ 632 NODE_SHADOW, 633 /** 634 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 635 * 636 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 637 * .value[0]?.f32: blur radius of the shadow, in vp.\n 638 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 639 * strategy, and <b>0</b> (default value) means the opposite.\n 640 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 641 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 642 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 643 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 644 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 645 * means the opposite.\n 646 * 647 * \n 648 * Format of the return value {@link ArkUI_AttributeItem}:\n 649 * .value[0].f32: blur radius of the shadow, in vp.\n 650 * .value[1].i32: whether to enable the coloring strategy. \n 651 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 652 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 653 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 654 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 655 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 656 * means the opposite.\n 657 * 658 */ 659 NODE_CUSTOM_SHADOW, 660 /** 661 * @brief Defines the background image width and height. 662 * This attribute can be set, reset, and obtained as required through APIs. 663 * 664 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 665 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 666 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 667 * \n 668 * Format of the return value {@link ArkUI_AttributeItem}:\n 669 * .value[0].f32: width of the image, in vp. \n 670 * .value[1].f32: height of the image, in vp. \n 671 * 672 */ 673 NODE_BACKGROUND_IMAGE_SIZE, 674 /** 675 * @brief Defines the background image size. 676 * This attribute can be set, reset, and obtained as required through APIs. 677 * 678 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 679 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 680 * \n 681 * Format of the return value {@link ArkUI_AttributeItem}:\n 682 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 683 * 684 */ 685 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 686 /** 687 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 688 * 689 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 690 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 691 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 692 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 693 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 694 * .value[4]?.f32: start boundary of grayscale blur. \n 695 * .value[5]?.f32: end boundary of grayscale blur. \n 696 * \n 697 * Format of the return value {@link ArkUI_AttributeItem}:\n 698 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 699 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 700 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 701 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 702 * .value[4].f32: start boundary of grayscale blur. \n 703 * .value[5].f32: end boundary of grayscale blur. \n 704 * 705 */ 706 NODE_BACKGROUND_BLUR_STYLE, 707 /** 708 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 709 * 710 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 711 * .value[0]?.f32: X coordinate of the center point, in vp.\n 712 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 713 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 714 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 715 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 716 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 717 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 718 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 719 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 720 * \n 721 * Format of the return value {@link ArkUI_AttributeItem}:\n 722 * .value[0].f32: X coordinate of the center point, in vp.\n 723 * .value[1].f32: Y coordinate of the center point, in vp.\n 724 * .value[2].f32: Z coordinate of the center point, in vp.\n 725 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 726 * returns the calculated value in vp. 727 * 728 */ 729 NODE_TRANSFORM_CENTER, 730 /** 731 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 732 * 733 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 734 * .value[0].f32: opacity values of the start and end points.\n 735 * .value[1].i32: animation duration, in milliseconds.\n 736 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 737 * .value[3]?.i32: animation delay duration, in milliseconds.\n 738 * .value[4]?.i32: number of times that the animation is played.\n 739 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 740 * .value[6]?.f32: animation playback speed.\n 741 * \n 742 * Format of the return value {@link ArkUI_AttributeItem}:\n 743 * .value[0].f32: opacity values of the start and end points.\n 744 * .value[1].i32: animation duration, in milliseconds.\n 745 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 746 * .value[3].i32: animation delay duration, in milliseconds. \n 747 * .value[4].i32: number of times that the animation is played. \n 748 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 749 * .value[6].f32: animation playback speed. \n 750 * 751 */ 752 NODE_OPACITY_TRANSITION, 753 /** 754 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 755 * 756 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 757 * .value[0].f32: X-component of the rotation vector. \n 758 * .value[1].f32: Y-component of the rotation vector. \n 759 * .value[2].f32: Z-component of the rotation vector \n 760 * .value[3].f32: angle. \n 761 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 762 * .value[5].i32: animation duration, in milliseconds. \n 763 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 764 * .value[7]?.i32: animation delay duration, in milliseconds. \n 765 * .value[8]?.i32: number of times that the animation is played. \n 766 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 767 * .value[10]?.f32: animation playback speed. \n 768 * \n 769 * Format of the return value {@link ArkUI_AttributeItem}:\n 770 * .value[0].f32: X-component of the rotation vector. \n 771 * .value[1].f32: Y-component of the rotation vector. \n 772 * .value[2].f32: Z-component of the rotation vector \n 773 * .value[3].f32: angle. \n 774 * .value[4].f32: line of sight. \n 775 * .value[5].i32: animation duration, in milliseconds. \n 776 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 777 * .value[7].i32: animation delay duration, in milliseconds. \n 778 * .value[8].i32: number of times that the animation is played. \n 779 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 780 * .value[10].f32: animation playback speed. \n 781 * 782 */ 783 NODE_ROTATE_TRANSITION, 784 /** 785 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 786 * 787 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 788 * .value[0].f32: scale factor along the x-axis. \n 789 * .value[1].f32: scale factor along the y-axis. \n 790 * .value[2].f32: scale factor along the z-axis. \n 791 * .value[3].i32: animation duration, in milliseconds. \n 792 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 793 * .value[5]?.i32: animation delay duration, in milliseconds. \n 794 * .value[6]?.i32: number of times that the animation is played. \n 795 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 796 * .value[8]?.f32: animation playback speed. \n 797 * \n 798 * Format of the return value {@link ArkUI_AttributeItem}:\n 799 * .value[0].f32: scale factor along the x-axis. \n 800 * .value[1].f32: scale factor along the y-axis. \n 801 * .value[2].f32: scale factor along the z-axis. \n 802 * .value[3].i32: animation duration, in milliseconds. \n 803 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 804 * .value[5].i32: animation delay duration, in milliseconds. \n 805 * .value[6].i32: number of times that the animation is played. \n 806 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 807 * .value[8].f32: animation playback speed. \n 808 * 809 */ 810 NODE_SCALE_TRANSITION, 811 /** 812 * @brief Defines the transition translation attribute. 813 * This attribute can be set, reset, and obtained as required through APIs. 814 * 815 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 816 * value[0].f32: translation distance along the x-axis, in vp.\n 817 * value[1].f32: translation distance along the y-axis, in vp.\n 818 * value[2].f32: translation distance along the z-axis, in vp.\n 819 * value[3].i32: animation duration, in milliseconds. \n 820 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 821 * value[5]?.i32: animation delay duration, in milliseconds. \n 822 * value[6]?.i32: number of times that the animation is played. \n 823 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 824 * value[8]?.f32: animation playback speed. \n 825 * \n 826 * Format of the return value {@link ArkUI_AttributeItem}:\n 827 * value[0].f32: translation distance along the x-axis, in vp.\n 828 * value[1].f32: translation distance along the y-axis, in vp.\n 829 * value[2].f32: translation distance along the z-axis, in vp.\n 830 * value[3].i32: animation duration, in milliseconds. \n 831 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 832 * value[5].i32: animation delay duration, in milliseconds. \n 833 * value[6].i32: number of times that the animation is played. \n 834 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 835 * value[8].f32: animation playback speed. \n 836 * 837 */ 838 NODE_TRANSLATE_TRANSITION, 839 /** 840 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 841 * This attribute can be set, reset, and obtained as required through APIs. 842 * 843 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 844 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 845 * .value[1].i32: animation duration, in milliseconds.\n 846 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 847 * .value[3]?.i32: animation delay duration, in milliseconds. \n 848 * .value[4]?.i32: number of times that the animation is played. \n 849 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 850 * .value[6]?.f32: animation playback speed. \n 851 * \n 852 * Format of the return value {@link ArkUI_AttributeItem}:\n 853 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 854 * .value[1].i32: animation duration, in milliseconds.\n 855 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 856 * .value[3].i32: animation delay duration, in milliseconds. \n 857 * .value[4].i32: number of times that the animation is played. \n 858 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 859 * .value[6].f32: animation playback speed. \n 860 * 861 */ 862 NODE_MOVE_TRANSITION, 863 864 /** 865 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 866 * 867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 868 * .value[0].i32: The parameter type is 1 or 0. 869 * \n 870 * Format of the return value {@link ArkUI_AttributeItem}:\n 871 * .value[0].i32: The parameter type is 1 or 0. 872 * 873 */ 874 NODE_FOCUSABLE, 875 876 /** 877 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 878 * 879 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 880 * value[0].i32: The parameter type is 1 or 0. 881 * \n 882 * Format of the return value {@link ArkUI_AttributeItem}:\n 883 * value[0].i32: The parameter type is 1 or 0. 884 * 885 */ 886 NODE_DEFAULT_FOCUS, 887 888 /** 889 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 890 * 891 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 892 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 893 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 894 * .data[2].f32: width of the touch target, in %. \n 895 * .data[3].f32: height of the touch target, in %. \n 896 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 897 * \n 898 * Format of the return value {@link ArkUI_AttributeItem}:\n 899 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 900 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 901 * .data[2].f32: width of the touch target, in %. \n 902 * .data[3].f32: height of the touch target, in %. \n 903 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 904 * 905 */ 906 NODE_RESPONSE_REGION, 907 908 /** 909 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 910 * 911 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 912 * .string: mask text.\n 913 * .value[0]?.i32: position of the overlay relative to the component. Optional. 914 * The parameter type is {@link ArkUI_Alignment}. 915 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 916 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 917 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 918 * \n 919 * Format of the return value {@link ArkUI_AttributeItem}:\n 920 * .string: mask text.\n 921 * .value[0].i32: position of the overlay relative to the component. 922 * The parameter type is {@link ArkUI_Alignment}. 923 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 924 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 925 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 926 * 927 * 928 */ 929 NODE_OVERLAY, 930 /** 931 * @brief Defines the sweep gradient effect. 932 * This attribute can be set, reset, and obtained as required through APIs. 933 * 934 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 935 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 936 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 937 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 938 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 939 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 940 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 941 * and <b>0</b> means the opposite.\n 942 * .object: array of color stops, each of which consists of a color and its stop position. 943 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 944 * colors: colors of the color stops. \n 945 * stops: stop positions of the color stops. \n 946 * size: number of colors. \n 947 * \n 948 * Format of the return value {@link ArkUI_AttributeItem}:\n 949 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 950 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 951 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 952 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 953 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 954 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 955 * and <b>0</b> means the opposite.\n 956 * .object: array of color stops, each of which consists of a color and its stop position. 957 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 958 * colors: colors of the color stops. \n 959 * stops: stop positions of the color stops. \n 960 * size: number of colors. \n 961 * 962 */ 963 NODE_SWEEP_GRADIENT, 964 /** 965 * @brief Defines the radial gradient effect. 966 * This attribute can be set, reset, and obtained as required through APIs. 967 * 968 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 969 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 970 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 971 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 972 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 973 * and <b>0</b> means the opposite. \n 974 * .object: array of color stops, each of which consists of a color and its stop position. 975 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 976 * colors: colors of the color stops. \n 977 * stops: stop positions of the color stops. \n 978 * size: number of colors. \n 979 * \n 980 * Format of the return value {@link ArkUI_AttributeItem}:\n 981 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 982 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 983 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 984 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 985 * and <b>0</b> means the opposite.\n 986 * .object: array of color stops, each of which consists of a color and its stop position. 987 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 988 * colors: colors of the color stops. \n 989 * stops: stop positions of the color stops. \n 990 * size: number of colors. \n 991 * 992 */ 993 NODE_RADIAL_GRADIENT, 994 /** 995 * @brief Adds a mask of the specified shape to the component. 996 * This attribute can be set, reset, and obtained as required through APIs. 997 * 998 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 999 * shapes:\n 1000 * 1. Rectangle:\n 1001 * .value[0].u32 fill color, in 0xARGB format. \n 1002 * .value[1].u32: stroke color, in 0xARGB format. \n 1003 * .value[2].f32: stroke width, in vp. \n 1004 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1005 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 1006 * .value[4].f32: width of the rectangle.\n 1007 * .value[5].f32: height of the rectangle.\n 1008 * .value[6].f32: width of the rounded corner of the rectangle.\n 1009 * .value[7].f32: height of the rounded corner of the rectangle.\n 1010 * 2. Circle:\n 1011 * .value[0].u32 fill color, in 0xARGB format. \n 1012 * .value[1].u32: stroke color, in 0xARGB format. \n 1013 * .value[2].f32: stroke width, in vp. \n 1014 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1015 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1016 * .value[4].f32: width of the circle.\n 1017 * .value[5].f32: height of the circle.\n 1018 * 3. Ellipse:\n 1019 * .value[0].u32 fill color, in 0xARGB format. \n 1020 * .value[1].u32: stroke color, in 0xARGB format. \n 1021 * .value[2].f32: stroke width, in vp. \n 1022 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1023 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1024 * .value[4].f32: width of the ellipse.\n 1025 * .value[5].f32: height of the ellipse.\n 1026 * 4. Path:\n 1027 * .value[0].u32 fill color, in 0xARGB format. \n 1028 * .value[1].u32: stroke color, in 0xARGB format. \n 1029 * .value[2].f32: stroke width, in vp. \n 1030 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1031 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1032 * .value[4].f32: width of the path.\n 1033 * .value[5].f32: height of the path.\n 1034 * .string: command for drawing the path.\n 1035 * 5. Progress:\n 1036 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1037 * The value is <b>ARKUI_MASK_TYPE_PROSGRESS</b> for the progress shape.\n 1038 * .value[1].f32: current value of the progress indicator.\n 1039 * .value[2].f32: maximum value of the progress indicator.\n 1040 * .value[3].u32: color of the progress indicator.\n 1041 * \n 1042 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1043 * 1. Rectangle:\n 1044 * .value[0].u32 fill color, in 0xARGB format. \n 1045 * .value[1].u32: stroke color, in 0xARGB format. \n 1046 * .value[2].f32: stroke width, in vp. \n 1047 * .value[3].i32: mask type.\n 1048 * .value[4].f32: width of the rectangle.\n 1049 * .value[5].f32: height of the rectangle.\n 1050 * .value[6].f32: width of the rounded corner of the rectangle.\n 1051 * .value[7].f32: height of the rounded corner of the rectangle.\n 1052 * 2. Circle:\n 1053 * .value[0].u32 fill color, in 0xARGB format. \n 1054 * .value[1].u32: stroke color, in 0xARGB format. \n 1055 * .value[2].f32: stroke width, in vp. \n 1056 * .value[3].i32: mask type.\n 1057 * .value[4].f32: width of the circle.\n 1058 * .value[5].f32: height of the circle.\n 1059 * 3. Ellipse:\n 1060 * .value[0].u32 fill color, in 0xARGB format. \n 1061 * .value[1].u32: stroke color, in 0xARGB format. \n 1062 * .value[2].f32: stroke width, in vp. \n 1063 * .value[3].i32: mask type.\n 1064 * .value[4].f32: width of the ellipse.\n 1065 * .value[5].f32: height of the ellipse.\n 1066 * 4. Path:\n 1067 * .value[0].u32 fill color, in 0xARGB format. \n 1068 * .value[1].u32: stroke color, in 0xARGB format. \n 1069 * .value[2].f32: stroke width, in vp. \n 1070 * .value[3].i32: mask type.\n 1071 * .value[4].f32: width of the path.\n 1072 * .value[5].f32: height of the path.\n 1073 * .string: command for drawing the path.\n 1074 * 5. Progress:\n 1075 * .value[0].i32: mask type.\n 1076 * .value[1].f32: current value of the progress indicator.\n 1077 * .value[2].f32: maximum value of the progress indicator.\n 1078 * .value[3].u32: color of the progress indicator.\n 1079 * 1080 */ 1081 NODE_MASK, 1082 /** 1083 * @brief Blends the component's background with the content of the component's child node. 1084 * This attribute can be set, reset, and obtained as required through APIs. 1085 * 1086 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1087 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1088 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1089 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1090 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1091 * \n 1092 * Format of the return value {@link ArkUI_AttributeItem}:\n 1093 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1094 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1095 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1096 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1097 * 1098 */ 1099 NODE_BLEND_MODE, 1100 /** 1101 * @brief Sets the direction of the main axis. 1102 * This attribute can be set, reset, and obtained as required through APIs. 1103 * 1104 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1105 * .value[0].i32: direction of the main axis.\n 1106 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1107 * \n 1108 * Format of the return value {@link ArkUI_AttributeItem}:\n 1109 * .value[0].i32: direction of the main axis.\n 1110 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1111 * 1112 */ 1113 NODE_DIRECTION, 1114 /** 1115 * @brief Defines the size constraints. 1116 * This attribute can be set, reset, and obtained as required through APIs. 1117 * 1118 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1119 * .value[0].f32: minimum width, in vp.\n 1120 * .value[1].f32: maximum width, in vp.\n 1121 * .value[2].f32: minimum height, in vp.\n 1122 * .value[3].f32: maximum height, in vp.\n 1123 * \n 1124 * Format of the return value {@link ArkUI_AttributeItem}:\n 1125 * .value[0].f32: minimum width, in vp.\n 1126 * .value[1].f32: maximum width, in vp.\n 1127 * .value[2].f32: minimum height, in vp.\n 1128 * .value[3].f32: maximum height, in vp.\n 1129 * 1130 */ 1131 NODE_CONSTRAINT_SIZE, 1132 /** 1133 * @brief Defines the grayscale effect. 1134 * This attribute can be set, reset, and obtained as required through APIs. 1135 * 1136 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1137 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1138 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1139 * \n 1140 * Format of the return value {@link ArkUI_AttributeItem}:\n 1141 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1142 * 1143 */ 1144 NODE_GRAY_SCALE, 1145 /** 1146 * @brief Inverts the image. 1147 * This attribute can be set, reset, and obtained as required through APIs. 1148 * 1149 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1150 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1151 * For example, 0.5 indicates a 50% image inversion ratio.\n 1152 * \n 1153 * Format of the return value {@link ArkUI_AttributeItem}:\n 1154 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1155 * 1156 */ 1157 NODE_INVERT, 1158 /** 1159 * @brief Defines the sepia conversion ratio. 1160 * This attribute can be set, reset, and obtained as required through APIs. 1161 * 1162 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1163 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1164 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1165 * \n 1166 * Format of the return value {@link ArkUI_AttributeItem}:\n 1167 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1168 * 1169 */ 1170 NODE_SEPIA, 1171 /** 1172 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1173 * 1174 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1175 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1176 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1177 * \n 1178 * Format of the return value {@link ArkUI_AttributeItem}:\n 1179 * .value[0].f32: contrast. Value range: [0, 10).\n 1180 * 1181 */ 1182 NODE_CONTRAST, 1183 /** 1184 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1185 * 1186 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1187 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1188 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1189 * \n 1190 * Format of the return value {@link ArkUI_AttributeItem}:\n 1191 * .value[0].u32: color value, in 0xARGB format.\n 1192 * 1193 */ 1194 NODE_FOREGROUND_COLOR, 1195 1196 /** 1197 * @brief Defines the offset of the component's child relative to the component. 1198 * This attribute can be set, reset, and obtained as required through APIs. 1199 * 1200 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1201 * .value[0].f32 : offset along the x-axis, in vp. \n 1202 * .value[1].f32 : offset along the y-axis, in vp. \n 1203 * \n 1204 * Format of the return value {@link ArkUI_AttributeItem}:\n 1205 * .value[0].f32 : offset along the x-axis, in vp. \n 1206 * .value[1].f32 : offset along the y-axis, in vp. \n 1207 * 1208 */ 1209 NODE_OFFSET, 1210 /** 1211 * @brief Sets the anchor for locating the component's child. 1212 * This attribute can be set, reset, and obtained as required through APIs. 1213 * 1214 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1215 * .value[0].f32: X coordinate of the anchor, in vp.\n 1216 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1217 * \n 1218 * Format of the return value {@link ArkUI_AttributeItem}:\n 1219 * .value[0].f32: X coordinate of the anchor, in vp.\n 1220 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1221 * 1222 */ 1223 NODE_MARK_ANCHOR, 1224 /** 1225 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1226 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1227 * 1228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1229 * .value[0].f32: position along the x-axis, in px. \n 1230 * .value[1].f32: position along the y-axis, in px. \n 1231 * \n 1232 * Format of the return value {@link ArkUI_AttributeItem}:\n 1233 * .value[0].f32: position along the x-axis, in px. \n 1234 * .value[1].f32: position along the y-axis, in px. \n 1235 * 1236 */ 1237 NODE_BACKGROUND_IMAGE_POSITION, 1238 /** 1239 * @brief Sets the alignment rules in the relative container. 1240 * This attribute can be set, reset, and obtained as required through APIs. 1241 * 1242 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1243 * .value[0]?.i32: ID of the component that functions as the anchor point for left alignment. \n 1244 * .value[1]?.i32: alignment mode relative to the anchor component for left alignment. 1245 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1246 * .value[2]?.i32: ID of the component that functions as the anchor point for center alignment. \n 1247 * .value[3]?.i32: alignment mode relative to the anchor component for center alignment. 1248 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1249 * .value[4]?.i32: ID of the component that functions as the anchor point for right alignment. \n 1250 * .value[5]?.i32: alignment mode relative to the anchor component for right alignment. 1251 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1252 * .value[6]?.i32: ID of the component that functions as the anchor point for top alignment. \n 1253 * .value[7]?.i32: alignment mode relative to the anchor component for top alignment. 1254 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1255 * .value[8]?.i32: ID of the component that functions as the anchor point for center alignment in the 1256 * vertical direction. \n 1257 * .value[9]?.i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1258 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1259 * .value[10]?.i32: ID of the component that functions as the anchor point for bottom alignment. \n 1260 * .value[11]?.i32: alignment mode relative to the anchor component for bottom alignment. 1261 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1262 * .value[12]?.f32: bias value in the horizontal direction. \n 1263 * .value[13]?.f32: bias value in the vertical direction. \n 1264 * \n 1265 * Format of the return value {@link ArkUI_AttributeItem}:\n 1266 * .value[0].i32: ID of the component that functions as the anchor point for left alignment. \n 1267 * .value[1].i32: alignment mode relative to the anchor component for left alignment. 1268 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1269 * .value[2].i32: ID of the component that functions as the anchor point for center alignment. \n 1270 * .value[3].i32: alignment mode relative to the anchor component for center alignment. 1271 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1272 * .value[4].i32: ID of the component that functions as the anchor point for right alignment. \n 1273 * .value[5].i32: alignment mode relative to the anchor component for right alignment. 1274 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1275 * .value[6].i32: ID of the component that functions as the anchor point for top alignment. \n 1276 * .value[7].i32: alignment mode relative to the anchor component for top alignment. 1277 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1278 * .value[8].i32: ID of the component that functions as the anchor point for center alignment in the 1279 * vertical direction. \n 1280 * .value[9].i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1281 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1282 * .value[10].i32: ID of the component that functions as the anchor point for bottom alignment. \n 1283 * .value[11].i32: alignment mode relative to the anchor component for bottom alignment. 1284 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1285 * .value[12].f32: bias value in the horizontal direction. \n 1286 * .value[13].f32: bias value in the vertical direction. \n 1287 * 1288 */ 1289 NODE_ALIGN_RULES, 1290 /** 1291 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1292 * This attribute can be set, reset, and obtained as required through APIs. 1293 * 1294 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1295 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1296 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1297 * \n 1298 * Format of the return value {@link ArkUI_AttributeItem}:\n 1299 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1300 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1301 * 1302 */ 1303 NODE_ALIGN_SELF, 1304 /** 1305 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1306 * 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].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1310 * \n 1311 * Format of the return value {@link ArkUI_AttributeItem}:\n 1312 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1313 * 1314 */ 1315 NODE_FLEX_GROW, 1316 /** 1317 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1318 * This attribute can be set, reset, and obtained as required through APIs. 1319 * 1320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1321 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1322 * \n 1323 * Format of the return value {@link ArkUI_AttributeItem}:\n 1324 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1325 * 1326 */ 1327 NODE_FLEX_SHRINK, 1328 /** 1329 * @brief Sets the base size of the component. 1330 * This attribute can be set, reset, and obtained as required through APIs. 1331 * 1332 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1333 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1334 * \n 1335 * Format of the return value {@link ArkUI_AttributeItem}:\n 1336 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1337 * 1338 */ 1339 NODE_FLEX_BASIS, 1340 /** 1341 * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs. 1342 * 1343 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1344 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1345 * form an entire selectable component. 1346 * In this case, the accessibility service will no longer be available for the content of its child components. 1347 * The value is <b>1</b> or <b>0</b>. 1348 * \n 1349 * Format of the return value {@link ArkUI_AttributeItem}:\n 1350 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1351 * form an entire selectable component. 1352 * In this case, the accessibility service will no longer be available for the content of its child components. 1353 * The value is <b>1</b> or <b>0</b>. 1354 * 1355 */ 1356 NODE_ACCESSIBILITY_GROUP, 1357 1358 /** 1359 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1360 * 1361 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1362 * .string: accessibility text. 1363 * \n 1364 * Format of the return value {@link ArkUI_AttributeItem}:\n 1365 * .string: accessibility text. 1366 * 1367 */ 1368 NODE_ACCESSIBILITY_TEXT, 1369 1370 /** 1371 * @brief Sets the accessibility mode. This attribute can be set, reset, and obtained as required through APIs. 1372 * 1373 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1374 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1375 * \n 1376 * Format of the return value {@link ArkUI_AttributeItem}:\n 1377 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1378 * 1379 */ 1380 NODE_ACCESSIBILITY_MODE, 1381 1382 /** 1383 * @brief Sets the accessibility description. 1384 * This attribute can be set, reset, and obtained as required through APIs. 1385 * 1386 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1387 * .string: accessibility description. 1388 * \n 1389 * Format of the return value {@link ArkUI_AttributeItem}:\n 1390 * .string: accessibility description. 1391 * 1392 */ 1393 NODE_ACCESSIBILITY_DESCRIPTION, 1394 1395 /** 1396 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1397 * 1398 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1399 * .value[0].i32: The parameter type is 1 or 0. 1400 * \n 1401 * Format of the return value {@link ArkUI_AttributeItem}:\n 1402 * .value[0].i32: The parameter type is 1 or 0. 1403 * 1404 */ 1405 NODE_FOCUS_STATUS, 1406 /** 1407 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1408 * 1409 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1410 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1411 * \n 1412 * Format of the return value {@link ArkUI_AttributeItem}:\n 1413 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1414 * 1415 */ 1416 NODE_ASPECT_RATIO, 1417 /** 1418 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1419 * distribution of available space within the container. 1420 * This attribute can be set, reset, and obtained as required through APIs. 1421 * 1422 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1423 * .value[0].f32: weight of the component along the main axis. \n 1424 * \n 1425 * Format of the return value {@link ArkUI_AttributeItem}:\n 1426 * .value[0].f32: weight of the component along the main axis. \n 1427 * 1428 */ 1429 NODE_LAYOUT_WEIGHT, 1430 /** 1431 * @brief Sets the display priority for the component in the row, column, or flex (single-line) container. 1432 * This attribute can be set, reset, and obtained as required through APIs. 1433 * 1434 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1435 * .value[0].u32: display priority of the component in the container. \n 1436 * \n 1437 * Format of the return value {@link ArkUI_AttributeItem}:\n 1438 * .value[0].u32: display priority of the component in the container. \n 1439 * 1440 */ 1441 NODE_DISPLAY_PRIORITY, 1442 /** 1443 * @brief Sets the thickness of an element's outline. 1444 * 1445 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1446 * .value[0].f32: thickness of the left outline. \n 1447 * .value[1].f32: thickness of the top outline. \n 1448 * .value[2].f32: thickness of the right outline. \n 1449 * .value[3].f32: thickness of the bottom outline. \n 1450 * \n 1451 * Format of the return value {@link ArkUI_AttributeItem}:\n 1452 * .value[0].f32: thickness of the left outline. \n 1453 * .value[1].f32: thickness of the top outline. \n 1454 * .value[2].f32: thickness of the right outline. \n 1455 * .value[3].f32: thickness of the bottom outline. \n 1456 * 1457 */ 1458 NODE_OUTLINE_WIDTH, 1459 /** 1460 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 1461 * 1462 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1463 * .value[0].f32: width, in percentage.\n 1464 * \n 1465 * Format of the return value {@link ArkUI_AttributeItem}:\n 1466 * .value[0].f32: width, in percentage.\n 1467 * 1468 */ 1469 NODE_WIDTH_PERCENT, 1470 /** 1471 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 1472 * 1473 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1474 * .value[0].f32: height, in percentage.\n 1475 * \n 1476 * Format of the return value {@link ArkUI_AttributeItem}:\n 1477 * .value[0].f32: height, in percentage.\n 1478 * 1479 */ 1480 NODE_HEIGHT_PERCENT, 1481 /** 1482 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 1483 * 1484 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1485 * 1: Specify the same padding for the four directions. \n 1486 * .value[0].f32: padding, in percentage.\n 1487 * 2: Specify different paddings for different directions. \n 1488 * .value[0].f32: top padding, in percentage.\n 1489 * .value[1].f32: right padding, in percentage.\n 1490 * .value[2].f32: bottom padding, in percentage.\n 1491 * .value[3].f32: left padding, in percentage.\n 1492 * \n 1493 * Format of the return value {@link ArkUI_AttributeItem}:\n 1494 * .value[0].f32: top padding, in percentage.\n 1495 * .value[1].f32: right padding, in percentage.\n 1496 * .value[2].f32: bottom padding, in percentage.\n 1497 * .value[3].f32: left padding, in percentage.\n 1498 * 1499 */ 1500 NODE_PADDING_PERCENT, 1501 /** 1502 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 1503 * 1504 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1505 * 1: Specify the same margin for the four directions. \n 1506 * .value[0].f32: margin, in percentage.\n 1507 * 2: Specify different margins for different directions. \n 1508 * .value[0].f32: top margin, in percentage.\n 1509 * .value[1].f32: right margin, in percentage.\n 1510 * .value[2].f32: bottom margin, in percentage.\n 1511 * .value[3].f32: left margin, in percentage.\n 1512 * \n 1513 * Format of the return value {@link ArkUI_AttributeItem}:\n 1514 * .value[0].f32: top margin, in percentage.\n 1515 * .value[1].f32: right margin, in percentage.\n 1516 * .value[2].f32: bottom margin, in percentage.\n 1517 * .value[3].f32: left margin, in percentage.\n 1518 * 1519 */ 1520 NODE_MARGIN_PERCENT, 1521 1522 /** 1523 * @brief The implicit shared element transition within the component supports attribute setting, 1524 * attribute reset, and attribute acquisition interfaces. 1525 * 1526 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1527 * .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings, 1528 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1529 * the default is false, and the original position will remain unchanged if not involved. \n 1530 * .string is used to set the binding relationship. Set the id to "" to 1531 * clear the binding relationship to avoid participating in sharing behavior. \n 1532 * The id can be changed and the binding relationship re-established. 1533 * The same ID can only be bound to two components and they are in/out roles of different types. 1534 * Multiple components cannot be bound to the same id. \n 1535 *\n 1536 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 1537 * .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings, 1538 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1539 * the default is not false, if not involved, the original position will remain unchanged. \n 1540 * .string is used to set the binding relationship. Set the id to "" to 1541 * clear the binding relationship to avoid participating in sharing behavior. \n 1542 * The id can be changed and the binding relationship re-established. 1543 * The same ID can only be bound to two components and they are in/out roles of different types. 1544 * Multiple components cannot be bound to the same id. \n 1545 */ 1546 NODE_GEOMETRY_TRANSITION, 1547 1548 /** 1549 * @brief Specifies the parameters of the chain formed by this component as the chain head, 1550 * and supports attribute setting, attribute reset and attribute acquisition interfaces. 1551 * 1552 * Only takes effect when the parent container is RelativeContainer 1553 * 1554 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1555 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1556 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1557 *\n 1558 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1559 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1560 */ 1561 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1562 1563 /** 1564 * @brief Set the component content filling method in the process of width and height animation, 1565 * support property setting, property reset, property acquisition interface. 1566 * 1567 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1568 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1569 * \n 1570 * Format of the return value {@link ArkUI_AttributeItem}:\n 1571 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1572 * 1573 */ 1574 NODE_RENDER_FIT, 1575 1576 /** 1577 * @brief External stroke color properties, support property setting, 1578 * property reset and property acquisition interface. 1579 * 1580 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1581 * 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF. \n 1582 * 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1583 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1584 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1585 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1586 * \n 1587 * Format of the return value {@link ArkUI_AttributeItem}:\n 1588 * .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1589 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1590 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1591 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1592 * 1593 */ 1594 NODE_OUTLINE_COLOR, 1595 1596 /** 1597 * @brief Set the height and width dimensions, support property setting, 1598 * property reset and property acquisition interface. 1599 * 1600 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1601 * .value[0].f32: Width value, unit is vp;\n 1602 * .value[1].f32: Height value, unit is vp;\n 1603 * \n 1604 * Format of the return value {@link ArkUI_AttributeItem}:\n 1605 * .value[0].f32: Width value, unit is vp;\n 1606 * .value[1].f32: Height value, unit is vp;\n 1607 * 1608 */ 1609 NODE_SIZE, 1610 1611 /** 1612 * @brief Set whether the current component and child component are 1613 * rendered off the screen first and then fused with the parent control, 1614 * supporting property setting, property reset and property acquisition. 1615 * 1616 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1617 * .value[0].i32: The parameter type is 1 or 0. 1618 * \n 1619 * Format of the return value {@link ArkUI_AttributeItem}:\n 1620 * .value[0].i32: The parameter type is 1 or 0. 1621 * 1622 */ 1623 NODE_RENDER_GROUP, 1624 1625 /** 1626 * @brief Add color overlay effect to components, support property setting, 1627 * property reset and property acquisition interface. 1628 * 1629 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1630 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1631 * \n 1632 * Format of the return value {@link ArkUI_AttributeItem}:\n 1633 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1634 * 1635 */ 1636 NODE_COLOR_BLEND, 1637 1638 /** 1639 * @brief Provide content ambiguity capability for the current component, 1640 * support property setting, property reset, property acquisition interface. 1641 * 1642 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1643 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1644 * .value[1]?.i32 Represents the dark and light mode used by the content blur effect,\n 1645 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1646 * .value[2]?.i32 The color extraction mode used to represent the content blur effect takes\n 1647 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1648 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 1649 * .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1650 * .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1651 * \n 1652 * Format of the return value {@link ArkUI_AttributeItem}:\n 1653 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1654 * .value[1].i32 Represents the dark and light mode used by the content blur effect,\n 1655 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1656 * .value[2].i32 The color extraction mode used to represent the content blur effect takes\n 1657 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1658 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 1659 * .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1660 * .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1661 * 1662 */ 1663 NODE_FOREGROUND_BLUR_STYLE, 1664 1665 /** 1666 * @brief Defines the component size and position for layout. 1667 * This attribute can be set, reset, and obtained as required through APIs. 1668 * 1669 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1670 * .value[0].i32: X coordinate of the component, in px. \n 1671 * .value[1].i32: Y coordinate of the component, in px. \n 1672 * .value[2].i32: width of the component, in px. \n 1673 * .value[3].i32: height of the component, in px. \n 1674 * \n 1675 * Format of the return value {@link ArkUI_AttributeItem}:\n 1676 * .value[0].i32: X coordinate of the component, in px. \n 1677 * .value[1].i32: Y coordinate of the component, in px. \n 1678 * .value[2].i32: width of the component, in px. \n 1679 * .value[3].i32: height of the component, in px. \n 1680 * 1681 */ 1682 NODE_LAYOUT_RECT, 1683 1684 /** 1685 * @brief Whether the current component supports click-to-focus capability, 1686 * which can be set, reset, and obtained as required through APIs. 1687 * 1688 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1689 * .value[0].i32: The parameter type is 1 or 0. 1690 * \n 1691 * Format of the return value {@link ArkUI_AttributeItem}:\n 1692 * .value[0].i32: The parameter type is 1 or 0. 1693 * 1694 */ 1695 NODE_FOCUS_ON_TOUCH, 1696 1697 /** 1698 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 1699 * 1700 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1701 * 1: .value[0].f32: width of the four borders, in percentage. \n 1702 * 2: .value[0].f32: width of the top border, in percentage. \n 1703 * .value[1].f32: width of the right border, in percentage. \n 1704 * .value[2].f32: width of the bottom border, in percentage. \n 1705 * .value[3].f32: width of the left border, in percentage. \n 1706 * \n 1707 * Format of the return value {@link ArkUI_AttributeItem}:\n 1708 * .value[0].f32: width of the top border, in percentage. \n 1709 * .value[1].f32: width of the right border, in percentage. \n 1710 * .value[2].f32: width of the bottom border, in percentage. \n 1711 * .value[3].f32: width of the left border, in percentage. \n 1712 * 1713 */ 1714 NODE_BORDER_WIDTH_PERCENT, 1715 /** 1716 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 1717 * 1718 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1719 * 1: .value[0].f32: radius of the four corners, in percentage. \n 1720 * 2: .value[0].f32: radius of the upper left corner, in percentage. \n 1721 * .value[1].f32: radius of the upper right corner, in percentage. \n 1722 * .value[2].f32: radius of the lower left corner, in percentage. \n 1723 * .value[3].f32: radius of the lower right corner, in percentage. \n 1724 * \n 1725 * Format of the return value {@link ArkUI_AttributeItem}:\n 1726 * .value[0].f32: radius of the upper left corner, in percentage. \n 1727 * .value[1].f32: radius of the upper right corner, in percentage. \n 1728 * .value[2].f32: radius of the lower left corner, in percentage. \n 1729 * .value[3].f32: radius of the lower right corner, in percentage. \n 1730 * 1731 */ 1732 NODE_BORDER_RADIUS_PERCENT, 1733 1734 /** 1735 * @brief Accessible ID, which can be obtained as required through APIs. 1736 * 1737 * Format of the return value {@link ArkUI_AttributeItem}:\n 1738 * .value[0].i32:Accessible ID.\n 1739 * 1740 */ 1741 NODE_ACCESSIBILITY_ID = 87, 1742 1743 /** 1744 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1745 * 1746 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1747 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1748 * \n 1749 * Format of the return value {@link ArkUI_AttributeItem}:\n 1750 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1751 * 1752 */ 1753 NODE_ACCESSIBILITY_ACTIONS = 88, 1754 1755 /** 1756 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1757 * 1758 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1759 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1760 * \n 1761 * Format of the return value {@link ArkUI_AttributeItem}:\n 1762 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1763 * 1764 */ 1765 NODE_ACCESSIBILITY_ROLE = 89, 1766 1767 /** 1768 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1769 * 1770 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1771 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1772 * \n 1773 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1774 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1775 * 1776 */ 1777 NODE_ACCESSIBILITY_STATE = 90, 1778 1779 /** 1780 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1781 * 1782 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1783 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1784 * \n 1785 * Format of the return value {@link ArkUI_AttributeItem}:\n 1786 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1787 * 1788 */ 1789 NODE_ACCESSIBILITY_VALUE = 91, 1790 1791 /** 1792 * @brief defines control components to extend their security zones, 1793 * supporting property setting, property reset, and property fetching. 1794 * 1795 * Attribute setting method {@link ArkUI_AttributeItem} Parameter format:\n 1796 * .value[0]? .u32: Set of extended security zone enumerated values {@link ArkUI_SafeAreaType}, 1797 * For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT; \n 1798 * .value[1]? .u32: set of directional enum values for extended security zones {@link ArkUI_SafeAreaEdge}; \n 1799 * For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM; \n 1800 * \n 1801 * Attribute fetch method return value {@link ArkUI_AttributeItem} format:\n 1802 *.value[0].u32: extends the security zone. \n. \n 1803 *.value[1].u32: indicates the direction to extend the security zone. \n. \n 1804 * 1805 */ 1806 NODE_EXPAND_SAFE_AREA = 92, 1807 /** 1808 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1809 * visible area change event of the component. 1810 * 1811 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1812 * .value[...].f32: threshold array. The value range is 0 to 1. 1813 * \n 1814 * Format of the return value {@link ArkUI_AttributeItem}:\n 1815 * .value[...].f32: threshold array. \n 1816 * 1817 */ 1818 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1819 1820 /** 1821 * @brief Sets the transition effect when the component is inserted or deleted. 1822 * This attribute can be set, and obtained as required through APIs. 1823 * 1824 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1825 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1826 * \n 1827 * Format of the return value {@link ArkUI_AttributeItem}:\n 1828 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1829 * 1830 */ 1831 NODE_TRANSITION = 94, 1832 1833 /** 1834 * @brief Defines the component ID. 1835 * This attribute can be obtained through APIs. 1836 * 1837 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1838 * .value[0].i32: component ID. \n 1839 * 1840 */ 1841 NODE_UNIQUE_ID = 95, 1842 1843 /** 1844 * @brief Set the current component system focus box style. 1845 * 1846 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1847 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1848 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1849 * Percentage is not supported. \n 1850 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1851 * .value[2].u32: Focus box color. \n 1852 * \n 1853 * 1854 */ 1855 NODE_FOCUS_BOX = 96, 1856 1857 /** 1858 * @brief Defines the moving distance limit for the component-bound tap gesture. 1859 * This attribute can be set as required through APIs. 1860 * 1861 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1862 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1863 * 1864 */ 1865 NODE_CLICK_DISTANCE = 97, 1866 1867 /** 1868 * @brief Defines the moving distance limit for the component-bound tap gesture. 1869 * This attribute can be set as required through APIs. 1870 * 1871 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1872 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1873 * 1874 */ 1875 NODE_TAB_STOP = 98, 1876 1877 /** 1878 * @brief Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs. 1879 * 1880 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1881 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1882 * .value[1]?.f32:grayscale blur settings that control the brightness of the black color.\n 1883 * The value range is [0, 127].\n 1884 * .value[2]?.f32:grayscale blur settings that control the darkness of the white color.\n 1885 * The value range is [0, 127].\n 1886 * \n 1887 * Format of the return value {@link ArkUI_AttributeItem}:\n 1888 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1889 * .value[1].f32:grayscale blur settings that control the brightness of the black color.\n 1890 * The value range is [0, 127].\n 1891 * .value[2].f32:grayscale blur settings that control the darkness of the white color.\n 1892 * The value range is [0, 127].\n 1893 * 1894 * @since 15 1895 */ 1896 NODE_BACKDROP_BLUR = 99, 1897 1898 /* 1899 * @brief Defines the background image resizable attribute, which can be set, reset, 1900 * and obtained as required through APIs. 1901 * 1902 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1903 * .value[0].f32:width of the left edge. The unit is vp. \n 1904 * .value[1].f32:width of the top edge. The unit is vp. \n 1905 * .value[2].f32:width of the right edge. The unit is vp. \n 1906 * .value[3].f32:width of the bottom edge. The unit is vp. \n 1907 * \n 1908 * Format of the return value {@link ArkUI_AttributeItem}:\n 1909 * .value[0].f32:width of the left edge. The unit is vp. \n 1910 * .value[1].f32:width of the top edge. The unit is vp. \n 1911 * .value[2].f32:width of the right edge. The unit is vp. \n 1912 * .value[3].f32:width of the bottom edge. The unit is vp. \n 1913 * 1914 * @since 19 1915 */ 1916 NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE = 100, 1917 1918 /** 1919 * @brief Sets the next focus node. 1920 * 1921 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1922 * .value[0].i32: focus movement direction, as defined in {@link ArkUI_FocusMove}. 1923 * .object: next focus node. The parameter type is {@link ArkUI_NodeHandle}.\n 1924 * \n 1925 * 1926 */ 1927 NODE_NEXT_FOCUS = 101, 1928 1929 /** 1930 * @brief Sets the parameters for visible area change events. 1931 * 1932 * @note The visible area change callback is not a real-time callback. The actual callback interval may differ from 1933 * the expected interval due to system load and other factors. 1934 * The interval between two visible area change callbacks will not be less than the expected update interval. If the 1935 * provided expected interval is too short, the actual callback interval will be determined by the system load. 1936 * By default, the interval threshold of the visible area change callback includes 0. This means that, 1937 * if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5]. 1938 * 1939 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1940 * .object: parameters for visible area change events. 1941 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1942 * \n 1943 * Format of the return value {@link ArkUI_AttributeItem}:\n 1944 * .object: parameters for visible area change events. 1945 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1946 * 1947 */ 1948 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO = 102, 1949 1950 /** 1951 * @brief Defines the translate attribute, which supports for percentile translation input, and can be set, reset, 1952 * and obtained as required through APIs.\n 1953 * 1954 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1955 * .value[0].f32: distance to translate along the x-axis. The default unit is percentage. 1956 * The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.\n 1957 * .value[1].f32: distance to translate along the y-axis. The default unit is percentage. 1958 * The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.\n 1959 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.\n 1960 * .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage. 1961 * The value can be 0 or 1. When the value is 1, it is specified as a percentage. 1962 * For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction. 1963 * The default value is <b>1</b>.\n 1964 * .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage. 1965 * The value can be 0 or 1. When the value is 1, it is specified as a percentage. 1966 * For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction. 1967 * The default value is <b>1</b>.\n 1968 * \n 1969 * Format of the return value {@link ArkUI_AttributeItem}:\n 1970 * .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].\n 1971 * .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].\n 1972 * .value[2].f32: distance to translate along the z-axis. The unit is vp.\n 1973 * .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0, 1974 * the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation 1975 * distance is percentage;\n 1976 * .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0, 1977 * the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation 1978 * distance is percentage;\n 1979 * 1980 * @since 20 1981 */ 1982 NODE_TRANSLATE_WITH_PERCENT = 103, 1983 1984 /** 1985 * @brief Defines the rotate attribute about angle, which can be set, reset, and obtained as required through APIs. 1986 * 1987 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1988 * .value[0].f32: rotation angle of the X-axis direction. The default value is <b>0</b>.\n 1989 * .value[1].f32: rotation angle of the Y-axis direction. The default value is <b>0</b>.\n 1990 * .value[2].f32: rotation angle of the Z-axis direction. The default value is <b>0</b>.\n 1991 * .value[3].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in px. 1992 * The default value is <b>0</b>. \n 1993 * \n 1994 * Format of the return value {@link ArkUI_AttributeItem}:\n 1995 * .value[0].f32: rotation angle of the X-axis direction.\n 1996 * .value[1].f32: rotation angle of the Y-axis direction.\n 1997 * .value[2].f32: rotation angle of the Z-axis direction.\n 1998 * .value[3].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in px. \n 1999 * 2000 * @since 20 2001 */ 2002 NODE_ROTATE_ANGLE = 104, 2003 2004 /** 2005 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2006 * 2007 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2008 * .string: text content.\n 2009 * \n 2010 * Format of the return value {@link ArkUI_AttributeItem}:\n 2011 * .string: text content.\n 2012 */ 2013 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 2014 /** 2015 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 2016 * 2017 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2018 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2019 * \n 2020 * Format of the return value {@link ArkUI_AttributeItem}:\n 2021 * .value[0].u32: font color value, in 0xARGB format.\n 2022 * 2023 */ 2024 NODE_FONT_COLOR, 2025 /** 2026 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 2027 * 2028 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2029 * .value[0].f32: font size, in fp.\n 2030 * \n 2031 * Format of the return value {@link ArkUI_AttributeItem}:\n 2032 * .value[0].f32: font size, in fp.\n 2033 * 2034 */ 2035 NODE_FONT_SIZE, 2036 /** 2037 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 2038 * 2039 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2040 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 2041 * \n 2042 * Format of the return value {@link ArkUI_AttributeItem}:\n 2043 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 2044 * 2045 */ 2046 NODE_FONT_STYLE, 2047 /** 2048 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2049 * 2050 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2051 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2052 * \n 2053 * Format of the return value {@link ArkUI_AttributeItem}:\n 2054 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2055 * 2056 */ 2057 NODE_FONT_WEIGHT, 2058 /** 2059 * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs. 2060 * 2061 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2062 * .value[0].f32: line height, in fp.\n 2063 * \n 2064 * Format of the return value {@link ArkUI_AttributeItem}:\n 2065 * .value[0].f32: line height, in fp.\n 2066 * 2067 */ 2068 NODE_TEXT_LINE_HEIGHT, 2069 /** 2070 * @brief Defines the text decoration style and color. 2071 * This attribute can be set, reset, and obtained as required through APIs. 2072 * 2073 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2074 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 2075 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 2076 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 2077 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2078 * \n 2079 * Format of the return value {@link ArkUI_AttributeItem}:\n 2080 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 2081 * .value[1].u32: text decoration color, in 0xARGB format. \n 2082 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2083 * 2084 */ 2085 NODE_TEXT_DECORATION, 2086 /** 2087 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 2088 * 2089 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2090 * .value[0].i32: text case.\n 2091 * \n 2092 * Format of the return value {@link ArkUI_AttributeItem}:\n 2093 * .value[0].i32: text case.\n 2094 * 2095 */ 2096 NODE_TEXT_CASE, 2097 /** 2098 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 2099 * 2100 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2101 * .value[0].f32: letter spacing, in fp.\n 2102 * \n 2103 * Format of the return value {@link ArkUI_AttributeItem}:\n 2104 * .value[0].f32: letter spacing, in fp.\n 2105 * 2106 */ 2107 NODE_TEXT_LETTER_SPACING, 2108 /** 2109 * @brief Sets the maximum number of lines in the text. 2110 * This attribute can be set, reset, and obtained as required through APIs. 2111 * 2112 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2113 * .value[0].i32: maximum number of lines in the text.\n 2114 * \n 2115 * Format of the return value {@link ArkUI_AttributeItem}:\n 2116 * .value[0].i32: maximum number of lines in the text.\n 2117 * 2118 */ 2119 NODE_TEXT_MAX_LINES, 2120 /** 2121 * @brief Horizontal alignment mode of the text. 2122 * This attribute can be set, reset, and obtained as required through APIs. 2123 * 2124 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2125 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2126 * \n 2127 * Format of the return value {@link ArkUI_AttributeItem}:\n 2128 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2129 * 2130 */ 2131 NODE_TEXT_ALIGN, 2132 /** 2133 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 2134 * 2135 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2136 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 2137 * \n 2138 * Format of the return value {@link ArkUI_AttributeItem}:\n 2139 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 2140 * 2141 */ 2142 NODE_TEXT_OVERFLOW, 2143 /** 2144 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 2145 * 2146 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2147 * .string: fonts, separated by commas (,). 2148 * \n 2149 * Format of the return value {@link ArkUI_AttributeItem}:\n 2150 * .string: fonts, separated by commas (,). 2151 * 2152 */ 2153 NODE_FONT_FAMILY, 2154 /** 2155 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 2156 * 2157 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2158 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2159 * \n 2160 * Format of the return value {@link ArkUI_AttributeItem}:\n 2161 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 2162 * 2163 */ 2164 NODE_TEXT_COPY_OPTION, 2165 /** 2166 * @brief Defines the text baseline offset attribute 2167 * This attribute can be set, reset, and obtained as required through APIs. 2168 * 2169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2170 * .value[0].f32: baseline offset, in fp.\n 2171 * \n 2172 * Format of the return value {@link ArkUI_AttributeItem}:\n 2173 * .value[0].f32: baseline offset, in fp. \n 2174 * 2175 */ 2176 NODE_TEXT_BASELINE_OFFSET, 2177 /** 2178 * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs. 2179 * 2180 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2181 * .value[0].f32: blur radius of the shadow, in vp.\n 2182 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 2183 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2184 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2185 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2186 * \n 2187 * Format of the return value {@link ArkUI_AttributeItem}:\n 2188 * .value[0].f32: blur radius of the shadow, in vp.\n 2189 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 2190 * .value[2].u32: shadow color, in 0xARGB format.\n 2191 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2192 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2193 * 2194 */ 2195 NODE_TEXT_TEXT_SHADOW, 2196 /** 2197 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 2198 * 2199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2200 * .value[0].f32: minimum font size, in fp. 2201 * \n 2202 * Format of the return value {@link ArkUI_AttributeItem}:\n 2203 * .value[0].f32: minimum font size, in fp. 2204 * 2205 */ 2206 NODE_TEXT_MIN_FONT_SIZE, 2207 2208 /** 2209 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 2210 * 2211 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2212 * .value[0].f32: maximum font size, in fp. 2213 * \n 2214 * Format of the return value {@link ArkUI_AttributeItem}:\n 2215 * .value[0].f32: maximum font size, in fp. 2216 * 2217 */ 2218 NODE_TEXT_MAX_FONT_SIZE, 2219 2220 /** 2221 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 2222 * 2223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2224 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 2225 * .value[0].f32: font size, in fp. \n 2226 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 2227 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2228 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 2229 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2230 * \n 2231 * Format of the return value {@link ArkUI_AttributeItem}:\n 2232 * .string: font family. Use commas (,) to separate multiple fonts. \n 2233 * .value[0].f32: font size, in fp. \n 2234 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 2235 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2236 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 2237 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2238 * 2239 */ 2240 NODE_TEXT_FONT, 2241 2242 /** 2243 * @brief Defines how the adaptive height is determined for the text. 2244 * This attribute can be set, reset, and obtained as required through APIs. 2245 * 2246 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2247 * .value[0].i32: how the adaptive height is determined for the text. 2248 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 2249 * \n 2250 * Format of the return value {@link ArkUI_AttributeItem}:\n 2251 * .value[0].i32: how the adaptive height is determined for the text. 2252 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 2253 * 2254 */ 2255 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 2256 /** 2257 * @brief Defines the indentation of the first line. 2258 * This attribute can be set, reset, and obtained as required through APIs. 2259 * 2260 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2261 * .value[0].f32: indentation of the first line. \n 2262 * \n 2263 * Format of the return value {@link ArkUI_AttributeItem}:\n 2264 * .value[0].f32: indentation of the first line. \n 2265 * 2266 */ 2267 NODE_TEXT_INDENT, 2268 /** 2269 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 2270 * 2271 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2272 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2273 * \n 2274 * Format of the return value {@link ArkUI_AttributeItem}:\n 2275 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2276 * 2277 */ 2278 NODE_TEXT_WORD_BREAK, 2279 /** 2280 * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs. 2281 * 2282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2283 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2284 * \n 2285 * Format of the return value {@link ArkUI_AttributeItem}:\n 2286 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2287 * 2288 */ 2289 NODE_TEXT_ELLIPSIS_MODE, 2290 /** 2291 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 2292 * 2293 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2294 * .value[0].f32: line spacing, in fp.\n 2295 * \n 2296 * Format of the return value {@link ArkUI_AttributeItem}:\n 2297 * .value[0].f32: line spacing, in fp.\n 2298 * 2299 */ 2300 NODE_TEXT_LINE_SPACING, 2301 /** 2302 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2303 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2304 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2305 * The capabilities need to be supported by the fonts, \n 2306 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2307 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format:\n 2308 * .string: complies with the text feature format. The format is normal | \n 2309 * is in the format of [ | on | off],\n. 2310 * There can be multiple values separated by commas (,). \n 2311 * For example, the input format of a number with the same width is ss01 on. \n 2312 * \n 2313 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2314 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2315 */ 2316 NODE_TEXT_FONT_FEATURE, 2317 2318 /** 2319 * @brief Setting Enable Text Recognition. 2320 * 2321 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2322 * .value[0].i32:Enable text recognition, default value false.\n 2323 * \n 2324 * Format of the return value {@link ArkUI_AttributeItem}:\n 2325 * .value[0].i32:Enable Text Recognition\n 2326 * 2327 */ 2328 NODE_TEXT_ENABLE_DATA_DETECTOR, 2329 /** 2330 * @brief Set the text recognition configuration. 2331 * 2332 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2333 * .value[0...].i32: Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}.\n 2334 * \n 2335 * Format of the return value {@link ArkUI_AttributeItem}:\n 2336 * .value[0...].i32:Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}.\n 2337 * 2338 */ 2339 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2340 /** 2341 * @brief Defines the background color of the selected text. 2342 * This attribute can be set, reset, and obtained as required through APIs. 2343 * 2344 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2345 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2346 * \n 2347 * Format of the return value {@link ArkUI_AttributeItem}:\n 2348 * .value[0].u32: color value, in 0xARGB format. \n 2349 * 2350 */ 2351 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2352 2353 /** 2354 * @brief The text component uses a formatted string object to set text content properties, 2355 * and supports property setting, property reset, and property acquisition interfaces. 2356 * 2357 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2358 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2359 * \n 2360 * Format of the return value {@link ArkUI_AttributeItem}:\n 2361 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2362 */ 2363 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2364 2365 /** 2366 * @brief Sets whether to center text vertically in the text component. 2367 * 2368 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2369 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 2370 * \n 2371 * Format of the return value {@link ArkUI_AttributeItem}:\n 2372 * .value[0].i32: whether to center text vertically. \n 2373 * 2374 */ 2375 NODE_TEXT_HALF_LEADING = 1029, 2376 2377 /** 2378 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2379 * The font weight specified by this API is not affected by any changes in the system font weight settings. 2380 * 2381 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2382 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2383 * \n 2384 * Format of the return value {@link ArkUI_AttributeItem}:\n 2385 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2386 * 2387 * @since 15 2388 */ 2389 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2390 2391 /** 2392 * @brief Defines the text line count attribute, which can only be obtained as required through APIs. 2393 * 2394 * Format of the return value {@link ArkUI_AttributeItem}:\n 2395 * .value[0].i32: line count of the node. 2396 * 2397 * @since 20 2398 */ 2399 NODE_TEXT_LINE_COUNT = 1031, 2400 2401 /** 2402 * @brief Defines whether to optimize whitespace at the end of each line, 2403 * which can be set, reset, and obtained as required through APIs. 2404 * 2405 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2406 * value[0].i32: whether to optimize whitespace at the end of each line. The default value is false. \n 2407 * \n 2408 * Format of the return value {@link ArkUI_AttributeItem}: \n 2409 * value[0].i32: whether to optimize whitespace at the end of each line. \n 2410 * 2411 * @since 20 2412 */ 2413 NODE_TEXT_OPTIMIZE_TRAILING_SPACE = 1032, 2414 2415 /** 2416 * @brief Sets a linear gradient effect for text. 2417 * This attribute can be set, reset, and obtained as required through APIs. 2418 * 2419 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2420 * .value[0].f32: start angle of the linear gradient. 2421 * The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>. 2422 * A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>. \n 2423 * .value[1].i32: direction of the linear gradient. When a direction other than 2424 * <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored. 2425 * The parameter type is {@link ArkUI_LinearGradientDirection}. \n 2426 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. 2427 * .object: array of color stops, each of which consists of a color and its stop position. 2428 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n \n 2429 * colors: colors of the color stops. \n 2430 * stops: stop positions of the color stops. \n 2431 * size: number of colors. \n 2432 * \n 2433 * Format of the return value {@link ArkUI_AttributeItem}:\n 2434 * .value[0].f32: start angle of the linear gradient. 2435 * When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value; 2436 * otherwise, it is at default value. \n 2437 * .value[1].i32: direction of the linear gradient. \n 2438 * .value[2].i32: whether the colors are repeated. \n 2439 * .object: array of color stops, each of which consists of a color and its stop position. 2440 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n \n 2441 * colors: colors of the color stops. \n 2442 * stops: stop positions of the color stops. \n 2443 * size: number of colors. \n 2444 * 2445 * @since 20 2446 */ 2447 NODE_TEXT_LINEAR_GRADIENT = 1033, 2448 2449 /** 2450 * @brief Sets a radial gradient effect for text. 2451 * This attribute can be set, reset, and obtained as required through APIs. 2452 * 2453 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2454 * .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2455 * .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2456 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 2457 * .value[3]?.i32: whether the colors are repeated. 2458 * The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.\n \n 2459 * .object: array of color stops, each of which consists of a color and its stop position. 2460 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 2461 * colors: colors of the color stops. \n 2462 * stops: stop positions of the color stops. \n 2463 * size: number of colors. \n 2464 * \n 2465 * Format of the return value {@link ArkUI_AttributeItem}:\n 2466 * .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2467 * .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text. \n 2468 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 2469 * .value[3].i32: whether the colors are repeated. 2470 * The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite. \n 2471 * .object: array of color stops, each of which consists of a color and its stop position. 2472 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 2473 * colors: colors of the color stops. \n 2474 * stops: stop positions of the color stops. \n 2475 * size: number of colors. \n 2476 * 2477 * @since 20 2478 */ 2479 NODE_TEXT_RADIAL_GRADIENT = 1034, 2480 2481 /** 2482 * @brief 设置文本内容垂直对齐方式,支持属性设置,属性重置和属性获取接口。 2483 * 2484 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 2485 * .value[0].i32:文本内容垂直对齐方式{@link ArkUI_TextVerticalAlignment},默认值:ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE \n 2486 * \n 2487 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 2488 * .value[0].i32:文本内容垂直对齐方式{@link ArkUI_TextVerticalAlignment}。 \n 2489 * 2490 * @since 20 2491 */ 2492 NODE_TEXT_VERTICAL_ALIGN = 1035, 2493 2494 /** 2495 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2496 * 2497 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2498 * .string: content of the text span. \n 2499 * \n 2500 * Format of the return value {@link ArkUI_AttributeItem}:\n 2501 * .string: content of the text span. \n 2502 * 2503 */ 2504 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2505 /** 2506 * @brief Defines the text background style. 2507 * This attribute can be set, reset, and obtained as required through APIs. 2508 * 2509 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2510 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2511 * The second parameter indicates the rounded corners of the text background. Two setting modes are available:\n 2512 * 1: .value[1].f32: radius of the four corners, in vp. \n 2513 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2514 * .value[2].f32: radius of the upper right corner, in vp. \n 2515 * .value[3].f32: radius of the lower left corner, in vp. \n 2516 * .value[4].f32: radius of the lower right corner, in vp. \n 2517 * \n 2518 * Format of the return value {@link ArkUI_AttributeItem}:\n 2519 * .value[0].u32: color of the text background, in 0xARGB format. \n 2520 * .value[1].f32: radius of the upper left corner, in vp. \n 2521 * .value[2].f32: radius of the upper right corner, in vp. \n 2522 * .value[3].f32: radius of the lower left corner, in vp. \n 2523 * .value[4].f32: radius of the lower right corner, in vp. \n 2524 * 2525 */ 2526 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2527 /** 2528 * @brief Defines the text baseline offset attribute 2529 * This attribute can be set, reset, and obtained as required through APIs. 2530 * 2531 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2532 * .value[0].f32: baseline offset, in fp.\n 2533 * \n 2534 * Format of the return value {@link ArkUI_AttributeItem}:\n 2535 * .value[0].f32: baseline offset, in fp. \n 2536 * 2537 */ 2538 NODE_SPAN_BASELINE_OFFSET, 2539 /** 2540 * @brief Defines the image source of the image span. 2541 * This attribute can be set, reset, and obtained as required through APIs. 2542 * 2543 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2544 * .string: image address of the image span.\n 2545 * \n 2546 * Format of the return value {@link ArkUI_AttributeItem}:\n 2547 * .string: image address of the image span.\n 2548 * 2549 */ 2550 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2551 /** 2552 * @brief Defines the alignment mode of the image with the text. 2553 * This attribute can be set, reset, and obtained as required through APIs. 2554 * 2555 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2556 * .value[0].i32: alignment mode of the image with the text. 2557 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2558 * \n 2559 * Format of the return value {@link ArkUI_AttributeItem}:\n 2560 * .value[0].i32: alignment mode of the image with the text. 2561 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2562 * 2563 */ 2564 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2565 /** 2566 * @brief Defines the placeholder image source. 2567 * This attribute can be set, reset, and obtained as required through APIs. 2568 * 2569 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2570 * .string: placeholder image source. \n 2571 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2572 * \n 2573 * Format of the return value {@link ArkUI_AttributeItem}:\n 2574 * .string: placeholder image source. \n 2575 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2576 * 2577 */ 2578 NODE_IMAGE_SPAN_ALT, 2579 /** 2580 * @brief Defines the image span baseline offset attribute 2581 * This attribute can be set, reset, and obtained as required through APIs. 2582 * 2583 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2584 * .value[0].f32: baseline offset, in fp.\n 2585 * \n 2586 * Format of the return value {@link ArkUI_AttributeItem}:\n 2587 * .value[0].f32: baseline offset, in fp. \n 2588 * 2589 */ 2590 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2591 /** 2592 * @brief Defines the image source of the <Image> component. 2593 * This attribute can be set, reset, and obtained as required through APIs. 2594 * 2595 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2596 * .string: image source.\n 2597 * \n 2598 * Format of the return value {@link ArkUI_AttributeItem}:\n 2599 * .string: image source.\n 2600 * 2601 */ 2602 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2603 /** 2604 * @brief Defines how the image is resized to fit its container. 2605 * This attribute can be set, reset, and obtained as required through APIs. 2606 * 2607 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2608 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2609 * \n 2610 * Format of the return value {@link ArkUI_AttributeItem}:\n 2611 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2612 * 2613 */ 2614 NODE_IMAGE_OBJECT_FIT, 2615 /** 2616 * @brief Defines the interpolation effect of the image. 2617 * This attribute can be set, reset, and obtained as required through APIs. 2618 * 2619 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2620 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2621 * \n 2622 * Format of the return value {@link ArkUI_AttributeItem}:\n 2623 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2624 * 2625 */ 2626 NODE_IMAGE_INTERPOLATION, 2627 /** 2628 * @brief Defines how the image is repeated. 2629 * This attribute can be set, reset, and obtained as required through APIs. 2630 * 2631 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2632 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2633 * \n 2634 * Format of the return value {@link ArkUI_AttributeItem}:\n 2635 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2636 * 2637 */ 2638 NODE_IMAGE_OBJECT_REPEAT, 2639 /** 2640 * @brief Defines the color filter of the image. 2641 * This attribute can be set, reset, and obtained as required through APIs. 2642 * 2643 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2644 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2645 * .size: 5 x 4 filter array size. \n 2646 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2647 * \n 2648 * Format of the return value {@link ArkUI_AttributeItem}:\n 2649 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2650 * .size: 5 x 4 filter array size. \n 2651 * .object: the pointer to OH_Drawing_ColorFilter. \n 2652 * 2653 */ 2654 NODE_IMAGE_COLOR_FILTER, 2655 /** 2656 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2657 * 2658 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2659 * .value[0].i32 : whether to resize the image source. \n 2660 * \n 2661 * Format of the return value {@link ArkUI_AttributeItem}:\n 2662 * .value[0].i32 : whether to resize the image source. \n 2663 * 2664 */ 2665 NODE_IMAGE_AUTO_RESIZE, 2666 /** 2667 * @brief Defines the placeholder image source. 2668 * This attribute can be set, reset, and obtained as required through APIs. 2669 * 2670 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2671 * .string: placeholder image source. \n 2672 * \n 2673 * Format of the return value {@link ArkUI_AttributeItem}:\n 2674 * .string: placeholder image source. \n 2675 * 2676 */ 2677 NODE_IMAGE_ALT, 2678 /** 2679 * @brief Defines whether the image is draggable. 2680 * This attribute can be set, reset, and obtained as required through APIs. 2681 * 2682 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2683 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2684 * \n 2685 * Format of the return value {@link ArkUI_AttributeItem}:\n 2686 * .value[0].i32: whether the image is draggable. \n 2687 * 2688 */ 2689 NODE_IMAGE_DRAGGABLE, 2690 /** 2691 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2692 * 2693 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2694 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2695 * \n 2696 * Format of the return value {@link ArkUI_AttributeItem}:\n 2697 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2698 * 2699 */ 2700 NODE_IMAGE_RENDER_MODE, 2701 /** 2702 * @brief Defines whether the image display size follows the image source size. 2703 * This attribute can be set, reset, and obtained as required through APIs. 2704 * 2705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2706 * .value[0].i32: wheter to follow, true means to follow.\n 2707 * \n 2708 * Format of the return value {@link ArkUI_AttributeItem}:\n 2709 * .value[0].i32: wheter to follow, true means to follow.\n 2710 * 2711 */ 2712 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2713 /** 2714 * @brief Defines the fill color of the swiper. 2715 * This attribute can be set, reset, and obtained as required through APIs. 2716 * 2717 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2718 * .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2719 * \n 2720 * Format of the return value {@link ArkUI_AttributeItem}:\n 2721 * .value[0].u32: fill color, in 0xARGB format. \n 2722 * 2723 */ 2724 NODE_IMAGE_FILL_COLOR, 2725 /** 2726 * @brief Sets the resizable image options. 2727 * 2728 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2729 * .value[0].f32: width of the left edge. The unit is vp. \n 2730 * .value[1].f32: width of the top edge. The unit is vp. \n 2731 * .value[2].f32: width of the right edge. The unit is vp. \n 2732 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2733 * \n 2734 * Format of the return value {@link ArkUI_AttributeItem}:\n 2735 * .value[0].f32: width of the left edge. The unit is vp. \n 2736 * .value[1].f32: width of the top edge. The unit is vp. \n 2737 * .value[2].f32: width of the right edge. The unit is vp. \n 2738 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2739 * 2740 */ 2741 NODE_IMAGE_RESIZABLE, 2742 /** 2743 * @brief Defines the synchronous image loading attribute. 2744 * This attribute can be set, reset, and obtained as required through APIs. 2745 * 2746 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2747 * .value[0].i32: whether to load the image synchronously. \n 2748 * \n 2749 * Format of the return value {@link ArkUI_AttributeItem}:\n 2750 * .value[0].i32: whether to load the image synchronously. \n 2751 * 2752 */ 2753 NODE_IMAGE_SYNC_LOAD = 4012, 2754 /** 2755 * @brief Defines the image decoding size attribute. 2756 * This attribute can be set, reset, and obtained as required through APIs. 2757 * 2758 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2759 * .value[0].i32: width of the image decoding, in px.\n 2760 * .value[1].i32: height of the image decoding, in px.\n 2761 * \n 2762 * Format of the return value {@link ArkUI_AttributeItem}:\n 2763 * .value[0].i32: width of the image decoding, in px.\n 2764 * .value[1].i32: height of the image decoding, in px.\n 2765 * 2766 * @since 21 2767 */ 2768 NODE_IMAGE_SOURCE_SIZE = 4013, 2769 /** 2770 * @brief Defines the display tranformation matrix for an image. 2771 * This attribute can be set, reset, and obtained as required through APIs. 2772 * 2773 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2774 * .value[0...15].f32: 16 floating-point numbers.\n 2775 * \n 2776 * Format of the return value {@link ArkUI_AttributeItem}:\n 2777 * .value[0...15].f32: 16 floating-point numbers.\n 2778 * 2779 * @since 21 2780 */ 2781 NODE_IMAGE_IMAGE_MATRIX = 4014, 2782 /** 2783 * @brief Defines the image follow text direction attribute. 2784 * This attribute can be set, reset, and obtained as required through APIs. 2785 * 2786 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2787 * .value[0].i32: whether to follows the text direction.\n 2788 * \n 2789 * Format of the return value {@link ArkUI_AttributeItem}:\n 2790 * .value[0].i32: whether to follows the text direction.\n 2791 * 2792 * @since 21 2793 */ 2794 NODE_IMAGE_MATCH_TEXT_DIRECTION = 4015, 2795 /** 2796 * @brief Defines the image copy attribute. 2797 * This attribute can be set, reset, and obtained as required through APIs. 2798 * 2799 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2800 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2801 * \n 2802 * Format of the return value {@link ArkUI_AttributeItem}:\n 2803 * .value[0].i32: copy option {@link ArkUI_CopyOptions.\n 2804 * 2805 * @since 21 2806 */ 2807 NODE_IMAGE_COPY_OPTION = 4016, 2808 /** 2809 * @brief Defines the image AI analysis enable attribute. 2810 * This attribute can be set, reset, and obtained as required through APIs. 2811 * 2812 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2813 * .value[0].i32: whether to enable AI analysis for the image.\n 2814 * \n 2815 * Format of the return value {@link ArkUI_AttributeItem}:\n 2816 * .value[0].i32: whether to enable AI analysis for the image.\n 2817 * 2818 * @since 21 2819 */ 2820 NODE_IMAGE_ENABLE_ANALYZER = 4017, 2821 /** 2822 * @brief Defines the image dynamic display range attribute. 2823 * This attribute can be set, reset, and obtained as required through APIs. 2824 * 2825 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2826 * .value[0].i32: dynamic range mode {@link ArkUI_DynamicRangeMode}. 2827 * The default value is <b>ARKUI_DYNAMIC_RANGE_MODE_STANDARD</b>.\n 2828 * \n 2829 * Format of the return value {@link ArkUI_AttributeItem}:\n 2830 * .value[0].i32: dynamic range mode {@link ArkUI_DynamicRangeMode.\n 2831 * 2832 * @since 21 2833 */ 2834 NODE_IMAGE_DYNAMIC_RANGE_MODE = 4018, 2835 /** 2836 * @brief Defines the image dynamic display brightness attribute. 2837 * This attribute can be set, reset, and obtained as required through APIs. 2838 * 2839 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2840 * .value[0].f32: hdr brightness. value range [0, 1]\n 2841 * \n 2842 * Format of the return value {@link ArkUI_AttributeItem}:\n 2843 * .value[0].f32: hdr brightness. value range [0, 1]\n 2844 * 2845 * @since 21 2846 */ 2847 NODE_IMAGE_HDR_BRIGHTNESS = 4019, 2848 /** 2849 * @brief Defines the image display direction attribute. 2850 * This attribute can be set, reset, and obtained as required through APIs. 2851 * 2852 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2853 * .value[0].i32: orientation {@link ArkUI_Orientation}. 2854 * The default value is <b>ARKUI_ORIENTATION_UP</b>.\n 2855 * \n 2856 * Format of the return value {@link ArkUI_AttributeItem}:\n 2857 * .value[0].i32: orientation {@link ArkUI_Orientation.\n 2858 * 2859 * @since 21 2860 */ 2861 NODE_IMAGE_ORIENTATION = 4020, 2862 /** 2863 * @brief Defines the color of the component when it is selected. 2864 * This attribute can be set, reset, and obtained as required through APIs. 2865 * 2866 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2867 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2868 * \n 2869 * Format of the return value {@link ArkUI_AttributeItem}:\n 2870 * .value[0].u32: background color, in 0xARGB format. \n 2871 * 2872 */ 2873 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2874 /** 2875 * @brief Defines the color of the circular slider for the component of the switch type. 2876 * This attribute can be set, reset, and obtained as required through APIs. 2877 * 2878 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2879 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2880 * \n 2881 * Format of the return value {@link ArkUI_AttributeItem}:\n 2882 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2883 * 2884 */ 2885 NODE_TOGGLE_SWITCH_POINT_COLOR, 2886 /** 2887 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2888 * 2889 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2890 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2891 * \n 2892 * Format of the return value {@link ArkUI_AttributeItem}:\n 2893 * .value[0].i32: whether to enable the toggle. \n 2894 * 2895 */ 2896 NODE_TOGGLE_VALUE, 2897 /** 2898 * @brief Defines the color of the component when it is deselected. 2899 * This attribute can be set, reset, and obtained as required through APIs. 2900 * 2901 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2902 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2903 * \n 2904 * Format of the return value {@link ArkUI_AttributeItem}:\n 2905 * .value[0].u32: background color, in 0xARGB format. \n 2906 * 2907 */ 2908 NODE_TOGGLE_UNSELECTED_COLOR, 2909 2910 /** 2911 * @brief Defines the foreground color of the loading progress bar. 2912 * This attribute can be set, reset, and obtained as required through APIs. 2913 * 2914 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2915 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2916 * \n 2917 * Format of the return value {@link ArkUI_AttributeItem}:\n 2918 * .value[0].u32: foreground color, in 0xARGB format. \n 2919 * 2920 */ 2921 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2922 /** 2923 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2924 * This attribute can be set, reset, and obtained as required through APIs. 2925 * 2926 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2927 * .value[0].i32: whether to show the loading animation. 2928 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2929 * \n 2930 * Format of the return value {@link ArkUI_AttributeItem}:\n 2931 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2932 * 2933 */ 2934 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2935 2936 /** 2937 * @brief Defines the default placeholder text of the single-line text box. 2938 * This attribute can be set, reset, and obtained as required through APIs. 2939 * 2940 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2941 * .string: default placeholder text. \n 2942 * \n 2943 * Format of the return value {@link ArkUI_AttributeItem}:\n 2944 * .string: default placeholder text. \n 2945 * 2946 */ 2947 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2948 /** 2949 * @brief Defines the default text content of the single-line text box. 2950 * This attribute can be set, reset, and obtained as required through APIs. 2951 * 2952 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2953 * .string: default text content. \n 2954 * \n 2955 * Format of the return value {@link ArkUI_AttributeItem}:\n 2956 * .string: default text content. \n 2957 * 2958 */ 2959 NODE_TEXT_INPUT_TEXT, 2960 /** 2961 * @brief Defines the caret color attribute. 2962 * This attribute can be set, reset, and obtained as required through APIs. 2963 * 2964 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2965 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2966 * \n 2967 * Format of the return value {@link ArkUI_AttributeItem}:\n 2968 * .value[0].u32: caret color, in 0xARGB format. \n 2969 * 2970 */ 2971 NODE_TEXT_INPUT_CARET_COLOR, 2972 /** 2973 * @brief Defines the caret style attribute. 2974 * This attribute can be set, reset, and obtained as required through APIs. 2975 * 2976 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2977 * .value[0].f32: caret width, in vp.\n 2978 * \n 2979 * Format of the return value {@link ArkUI_AttributeItem}:\n 2980 * .value[0].f32: caret width, in vp. \n 2981 * 2982 */ 2983 NODE_TEXT_INPUT_CARET_STYLE, 2984 /** 2985 * @brief Defines the underline attribute of the single-line text box. 2986 * This attribute can be set, reset, and obtained as required through APIs. 2987 * 2988 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2989 * .value[0].i32: whether to show an underline. 2990 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2991 * \n 2992 * Format of the return value {@link ArkUI_AttributeItem}:\n 2993 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2994 * 2995 */ 2996 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2997 /** 2998 * @brief Defines the maximum number of characters in the TextInput. 2999 * This attribute can be set, reset, and obtained as required through APIs. 3000 * 3001 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3002 * .value[0].i32: maximum number of characters in the TextInput, without a unit. \n 3003 * \n 3004 * Format of the return value {@link ArkUI_AttributeItem}:\n 3005 * .value[0].i32: maximum number of characters in the TextInput. \n 3006 * 3007 */ 3008 NODE_TEXT_INPUT_MAX_LENGTH, 3009 /** 3010 * @brief Defines the type of the Enter key. 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].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is 3015 * <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3016 * \n 3017 * Format of the return value {@link ArkUI_AttributeItem}:\n 3018 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3019 * 3020 */ 3021 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 3022 /** 3023 * @brief Defines the placeholder text color. 3024 * This attribute can be set, reset, and obtained as required through APIs. 3025 * 3026 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3027 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3028 * \n 3029 * Format of the return value {@link ArkUI_AttributeItem}:\n 3030 * .value[0].u32: color value, in 0xARGB format. \n 3031 * 3032 */ 3033 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 3034 /** 3035 * @brief Defines the placeholder text font. 3036 * This attribute can be set, reset, and obtained as required through APIs. 3037 * 3038 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3039 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3040 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 3041 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 3042 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 3043 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 3044 * ?.string: font family. Multiple font families are separated by commas (,). 3045 * Example: "font weight; font family 1, font family 2". \n 3046 * \n 3047 * Format of the return value {@link ArkUI_AttributeItem}:\n 3048 * .value[0].f32: font size, in fp.\n 3049 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3050 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3051 * .string: font family. Multiple font families are separated by commas (,). \n 3052 * 3053 */ 3054 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 3055 /** 3056 * @brief Defines whether to enable the input method when the component obtains focus. 3057 * This attribute can be set, reset, and obtained as required through APIs. 3058 * 3059 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3060 * .value[0].i32: whether to enable the input method when the component obtains focus. 3061 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3062 * \n 3063 * Format of the return value {@link ArkUI_AttributeItem}:\n 3064 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3065 * and <b>0</b> means the opposite. \n 3066 * 3067 */ 3068 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 3069 /** 3070 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 3071 * 3072 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3073 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 3074 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 3075 * \n 3076 * Format of the return value {@link ArkUI_AttributeItem}:\n 3077 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 3078 * 3079 */ 3080 NODE_TEXT_INPUT_TYPE, 3081 /** 3082 * @brief Defines the background color of the selected text. 3083 * This attribute can be set, reset, and obtained as required through APIs. 3084 * 3085 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3086 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3087 * \n 3088 * Format of the return value {@link ArkUI_AttributeItem}:\n 3089 * .value[0].u32: color value, in 0xARGB format. \n 3090 * 3091 */ 3092 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 3093 /** 3094 * @brief Defines whether to display the password icon at the end of the password text box. 3095 * This attribute can be set, reset, and obtained as required through APIs. 3096 * 3097 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3098 * .value[0].i32: whether to display the password icon at the end of the password text box. 3099 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 3100 * \n 3101 * Format of the return value {@link ArkUI_AttributeItem}:\n 3102 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 3103 * and <b>0</b> means the opposite. \n 3104 * 3105 */ 3106 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 3107 /** 3108 * @brief Defines the editable state for the single-line text box. 3109 * This attribute can be set as required through APIs. 3110 * 3111 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3112 * .value[0].i32: whether to remain in the editable state. The value 3113 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 3114 * \n 3115 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3116 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3117 * state, and <b>false</b> means to exit the editable state. \n 3118 * 3119 */ 3120 NODE_TEXT_INPUT_EDITING, 3121 /** 3122 * @brief Defines the style of the cancel button on the right of the single-line text box. 3123 * This attribute can be set, reset, and obtained as required through APIs. 3124 * 3125 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3126 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 3127 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 3128 * .value[1]?.f32: button icon size, in vp.\n 3129 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3130 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 3131 * \n 3132 * Format of the return value {@link ArkUI_AttributeItem}:\n 3133 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 3134 * .value[1].f32: icon size, in vp.\n 3135 * .value[2].u32: button icon color, in 0xARGB format.\n 3136 * .string: button icon image source. \n 3137 * 3138 */ 3139 NODE_TEXT_INPUT_CANCEL_BUTTON, 3140 /** 3141 * @brief Sets the text selection area, which will be highlighted. 3142 * This attribute can be set, reset, and obtained as required through APIs. 3143 * 3144 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3145 * .value[0].i32: start position of the text selection. \n 3146 * .value[1].i32: end position of the text selection. \n 3147 * \n 3148 * Format of the return value {@link ArkUI_AttributeItem}:\n 3149 * .value[0].i32: start position of the text selection. \n 3150 * .value[1].i32: end position of the text selection. \n 3151 * 3152 */ 3153 NODE_TEXT_INPUT_TEXT_SELECTION, 3154 /** 3155 * @brief Sets the color of the text underline when it is enabled. 3156 * 3157 * The default underline color configured for the theme is <b>'0x33182431'</b>. 3158 * 3159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3160 * .value[0].u32: color of the underline applied to the text being typed in. 3161 * The value is in 0xARGB format. \n 3162 * .value[1].u32: color of the underline applied to the text in the normal state. 3163 * The value is in 0xARGB format. \n 3164 * .value[2].u32: color of the underline applied to the text when an error is detected. 3165 * The value is in 0xARGB format. \n 3166 * .value[3].u32: color of the underline applied to the text when it is disabled. 3167 * The value is in 0xARGB format. \n 3168 * \n 3169 * Format of the return value {@link ArkUI_AttributeItem}:\n 3170 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 3171 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 3172 * .value[2].u32: color of the underline applied to the text when an error is detected. 3173 * The value is in 0xARGB format. \n 3174 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 3175 * 3176 */ 3177 NODE_TEXT_INPUT_UNDERLINE_COLOR, 3178 /** 3179 * @brief Sets whether to enable autofill. 3180 * 3181 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3182 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3183 * \n 3184 * Format of the return value {@link ArkUI_AttributeItem}:\n 3185 * .value[0].i32: whether to enable autofill. \n 3186 * 3187 */ 3188 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 3189 /** 3190 * @brief Sets the autofill type. 3191 * 3192 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3193 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3194 * \n 3195 * Format of the return value {@link ArkUI_AttributeItem}:\n 3196 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3197 * 3198 */ 3199 NODE_TEXT_INPUT_CONTENT_TYPE, 3200 /** 3201 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 3202 * transmitted to Password Vault for generating a new password. 3203 * 3204 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3205 * .string: rules for generating passwords. \n 3206 * \n 3207 * Format of the return value {@link ArkUI_AttributeItem}:\n 3208 * .string: rules for generating passwords. \n 3209 * 3210 */ 3211 NODE_TEXT_INPUT_PASSWORD_RULES, 3212 /** 3213 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 3214 * 3215 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3216 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 3217 * \n 3218 * Format of the return value {@link ArkUI_AttributeItem}:\n 3219 * .value[0].i32: whether to select all text in the initial state. \n 3220 * 3221 */ 3222 NODE_TEXT_INPUT_SELECT_ALL, 3223 /** 3224 * @brief Sets the regular expression for input filtering. Only inputs that comply with the regular expression can be 3225 * displayed. Other inputs are filtered out. The specified regular expression can match single characters, 3226 * but not strings. 3227 * 3228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3229 * .string: regular expression. \n 3230 * \n 3231 * Format of the return value {@link ArkUI_AttributeItem}:\n 3232 * .string: regular expression. \n 3233 * 3234 */ 3235 NODE_TEXT_INPUT_INPUT_FILTER, 3236 /** 3237 * @brief Sets the text box to the default style or inline input style. 3238 * 3239 * For the inline input style, only <b>InputType.Normal</b> is supported. 3240 * 3241 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3242 * .value[0].i32: TextInput style. The parameter type is {@link ArkUI_TextInputStyle}. \n 3243 * \n 3244 * Format of the return value {@link ArkUI_AttributeItem}:\n 3245 * .value[0].i32: TextInput style. The parameter type is {@link ArkUI_TextInputStyle}. \n 3246 * 3247 */ 3248 NODE_TEXT_INPUT_STYLE, 3249 /** 3250 * @brief Sets or obtains the caret position. 3251 * 3252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3253 * In the case of setting the caret position: 3254 * .value[0].i32: character count from the beginning of a string to the caret position. \n 3255 * 3256 * Format of the return value {@link ArkUI_AttributeItem}:\n 3257 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 3258 * current frame, it will not take effect. 3259 * .value[0].i32: index of the caret position. \n 3260 * .value[1].f32: X coordinate of the caret relative to the text box. \n 3261 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 3262 */ 3263 NODE_TEXT_INPUT_CARET_OFFSET, 3264 /** 3265 * @brief Obtains the position of the edited TextArea relative to the component and its size. 3266 * 3267 * Format of the return value {@link ArkUI_AttributeItem}:\n 3268 * .value[0].f32: horizontal coordinate. \n 3269 * .value[1].f32: vertical coordinate. \n 3270 * .value[2].f32: content width. \n 3271 * .value[3].f32: content height. \n 3272 * 3273 */ 3274 NODE_TEXT_INPUT_CONTENT_RECT, 3275 /** 3276 * @brief Obtains the number of lines of the edited text. 3277 * 3278 * Format of the return value {@link ArkUI_AttributeItem}:\n 3279 * .value[0].i32: number of lines of the edited text. \n 3280 * 3281 */ 3282 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 3283 /** 3284 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or 3285 * right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3286 * 3287 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3288 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3289 * right-clicked. The default value is <b>false</b>. \n 3290 * \n 3291 * Format of the return value {@link ArkUI_AttributeItem}:\n 3292 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3293 * right-clicked. \n 3294 * 3295 */ 3296 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 3297 /** 3298 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 3299 * 3300 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3301 * .value[0].i32: whether the text box loses focus. \n 3302 * \n 3303 * Format of the return value {@link ArkUI_AttributeItem}:\n 3304 * .value[0].i32: whether the text box loses focus. \n 3305 * 3306 */ 3307 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 3308 /** 3309 * @brief Set up a custom keyboard. 3310 * 3311 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3312 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}.\n 3313 * .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.\n 3314 * \n 3315 * Format of the return value {@link ArkUI_AttributeItem}:\n 3316 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}.\n 3317 * .value[0].i32:Set whether the custom keyboard supports the avoidance function.\n 3318 * 3319 */ 3320 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 3321 /** 3322 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 3323 * 3324 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3325 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3326 * \n 3327 * Format of the return value {@link ArkUI_AttributeItem}:\n 3328 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3329 * 3330 */ 3331 NODE_TEXT_INPUT_WORD_BREAK, 3332 3333 /** 3334 * @brief Sets whether the keyboard pops up when TextInput gains focus. 3335 * It supports property setting, property reset and property acquisition interfaces. 3336 * 3337 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3338 * .value[0].i32: Whether to pop up the keyboard. \n 3339 * \n 3340 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format:\n 3341 * .value[0].i32: Whether to pop up the keyboard. \n 3342 * 3343 */ 3344 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 3345 3346 /** 3347 * @brief When this property is set, the height of the TextInput component is calculated using this property. 3348 * 3349 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3350 * .value[0].i32: set the value of numberOfLines.\n 3351 * \n 3352 * Format of the return value {@link ArkUI_AttributeItem}:\n 3353 * .value[0].i32: the value of numberOfLines.\n 3354 * 3355 */ 3356 NODE_TEXT_INPUT_NUMBER_OF_LINES, 3357 3358 /** 3359 * @brief Sets the letter spacing of the <b>TextInput</b> component. 3360 * This attribute can be set, reset, and obtained as required through APIs. 3361 * 3362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3363 * .value[0].f32: letter spacing. The default unit is fp. \n 3364 * \n 3365 * Format of the return value {@link ArkUI_AttributeItem}:\n 3366 * .value[0].f32: letter spacing. The default unit is fp. \n 3367 * 3368 * @since 16 3369 */ 3370 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 3371 3372 /** 3373 * @brief Sets whether to enable preview text for the <b>TextInput</b> component. 3374 * This attribute can be set, reset, and obtained as required through APIs. 3375 * 3376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3377 * .value[0].i32: whether to enable preview tex. \n 3378 * \n 3379 * Format of the return value {@link ArkUI_AttributeItem}:\n 3380 * .value[0].i32: whether to enable preview tex. \n 3381 * 3382 * @since 16 3383 */ 3384 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 3385 3386 /** 3387 * @brief Sets whether to center text vertically in the textInput component. 3388 * 3389 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3390 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3391 * \n 3392 * Format of the return value {@link ArkUI_AttributeItem}:\n 3393 * .value[0].i32: whether to center text vertically. \n 3394 * 3395 * @since 16 3396 */ 3397 NODE_TEXT_INPUT_HALF_LEADING = 7034, 3398 3399 /** 3400 * @brief Set the keyboard style of textInput 3401 * 3402 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3403 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3404 * \n 3405 * Format of the return value {@link ArkUI_AttributeItem}:\n 3406 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3407 * 3408 * @since 15 3409 */ 3410 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 3411 3412 /** 3413 * @brief Set whether to enable the auto fill animation or not. 3414 * 3415 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3416 * .value[0].i32: Whether to enable the auto fill animation.\n 3417 * \n 3418 * Format of the return value {@link ArkUI_AttributeItem}: \n 3419 * .value[0].i32: Get the flag of whether the auto fill animation is enabled.\n 3420 * 3421 * @since 20 3422 */ 3423 NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION = 7036, 3424 3425 /** 3426 * @brief Set the line height of the input node. 3427 * This attribute can be set, reset, and obtained as required through APIs. 3428 * 3429 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3430 * .value[0].i32: line height value. \n 3431 * \n 3432 * Format of the return value {@link ArkUI_AttributeItem}: \n 3433 * .value[0].i32: line height value. \n 3434 * 3435 * @since 20 3436 */ 3437 NODE_TEXT_INPUT_LINE_HEIGHT = 7037, 3438 3439 /** 3440 * @brief Defines the default placeholder text for the multi-line text box. 3441 * This attribute can be set, reset, and obtained as required through APIs. 3442 * 3443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3444 * .string: default placeholder text. \n 3445 * \n 3446 * Format of the return value {@link ArkUI_AttributeItem}:\n 3447 * .string: default placeholder text. \n 3448 * 3449 */ 3450 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 3451 /** 3452 * @brief Defines the default text content for the multi-line text box. 3453 * This attribute can be set, reset, and obtained as required through APIs. 3454 * 3455 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3456 * .string: default text content. \n 3457 * \n 3458 * Format of the return value {@link ArkUI_AttributeItem}:\n 3459 * .string: default text content. \n 3460 * 3461 */ 3462 NODE_TEXT_AREA_TEXT, 3463 /** 3464 * @brief Defines the maximum number of characters in the TextInput. 3465 * This attribute can be set, reset, and obtained as required through APIs. 3466 * 3467 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3468 * .value[0].i32: maximum number of characters in the TextInput. \n 3469 * \n 3470 * Format of the return value {@link ArkUI_AttributeItem}:\n 3471 * .value[0].i32: maximum number of characters in the TextInput. \n 3472 * 3473 */ 3474 NODE_TEXT_AREA_MAX_LENGTH, 3475 /** 3476 * @brief Defines the placeholder text color. 3477 * This attribute can be set, reset, and obtained as required through APIs. 3478 * 3479 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3480 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3481 * \n 3482 * Format of the return value {@link ArkUI_AttributeItem}:\n 3483 * .value[0].u32: color value, in 0xARGB format. \n 3484 * 3485 */ 3486 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 3487 /** 3488 * @brief Defines the placeholder text font. 3489 * This attribute can be set, reset, and obtained as required through APIs. 3490 * 3491 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3492 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3493 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is 3494 * <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 3495 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is 3496 * <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 3497 * ?.string: font family. Multiple font families are separated by commas (,). 3498 * For example, "font weight; font family 1, font family 2". \n 3499 * \n 3500 * Format of the return value {@link ArkUI_AttributeItem}:\n 3501 * .value[0].f32: font size, in fp.\n 3502 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3503 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3504 * .string: font family. Multiple font families are separated by commas (,). \n 3505 * 3506 */ 3507 NODE_TEXT_AREA_PLACEHOLDER_FONT, 3508 /** 3509 * @brief Defines the caret color attribute. 3510 * This attribute can be set, reset, and obtained as required through APIs. 3511 * 3512 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3513 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3514 * \n 3515 * Format of the return value {@link ArkUI_AttributeItem}:\n 3516 * .value[0].u32: background color, in 0xARGB format. \n 3517 * 3518 */ 3519 NODE_TEXT_AREA_CARET_COLOR, 3520 /** 3521 * @brief Defines the editable state for the multi-line text box. 3522 * This attribute can be set as required through APIs. 3523 * 3524 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3525 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 3526 * editable state, and <b>false</b> means to exit the editable state.\n \n 3527 * \n 3528 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3529 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3530 * state, and <b>false</b> means to exit the editable state.\n \n 3531 * 3532 */ 3533 NODE_TEXT_AREA_EDITING, 3534 /** 3535 * @brief Defines the text box type. 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: text box type {@link ArkUI_TextAreaType}. 3539 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 3540 * \n 3541 * Format of the return value {@link ArkUI_AttributeItem}:\n 3542 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 3543 * 3544 */ 3545 NODE_TEXT_AREA_TYPE, 3546 /** 3547 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 3548 * 3549 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3550 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 3551 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 3552 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3553 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 3554 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 3555 * \n 3556 * Format of the return value {@link ArkUI_AttributeItem}:\n 3557 * .value[0].i32: whether to show a character counter. \n 3558 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 3559 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3560 * by the threshold percentage value. The value range is 1 to 100. \n 3561 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 3562 * The default value is <b>true</b>. \n 3563 * 3564 */ 3565 NODE_TEXT_AREA_SHOW_COUNTER, 3566 3567 /** 3568 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, 3569 * or right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3570 * 3571 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3572 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3573 * or right-clicked. The default value is <b>false</b>. \n 3574 * \n 3575 * Format of the return value {@link ArkUI_AttributeItem}:\n 3576 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3577 * or right-clicked. \n 3578 * 3579 */ 3580 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 3581 /** 3582 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 3583 * 3584 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3585 * .value[0].i32: whether the text box loses focus. \n 3586 * \n 3587 * Format of the return value {@link ArkUI_AttributeItem}:\n 3588 * .value[0].i32: whether the text box loses focus. \n 3589 * 3590 */ 3591 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 3592 /** 3593 * @brief Sets the regular expression for input filtering. 3594 * Only inputs that comply with the regular expression can be displayed. 3595 * Other inputs are filtered out. The specified regular expression can match single characters, 3596 * but not strings. 3597 * 3598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3599 * .string: regular expression. \n 3600 * \n 3601 * Format of the return value {@link ArkUI_AttributeItem}:\n 3602 * .string: regular expression. \n 3603 * 3604 */ 3605 NODE_TEXT_AREA_INPUT_FILTER, 3606 /** 3607 * @brief Defines the background color of the selected text. 3608 * This attribute can be set, reset, and obtained as required through APIs. 3609 * 3610 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3611 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3612 * \n 3613 * Format of the return value {@link ArkUI_AttributeItem}:\n 3614 * .value[0].u32: color value, in 0xARGB format. \n 3615 * 3616 */ 3617 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3618 /** 3619 * @brief Defines the type of the Enter key. 3620 * This attribute can be set, reset, and obtained as required through APIs. 3621 * 3622 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3623 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3624 * \n 3625 * Format of the return value {@link ArkUI_AttributeItem}:\n 3626 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3627 * 3628 */ 3629 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3630 /** 3631 * @brief Defines whether to enable the input method when the component obtains focus. 3632 * This attribute can be set, reset, and obtained as required through APIs. 3633 * 3634 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3635 * .value[0].i32: whether to enable the input method when the component obtains focus. 3636 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3637 * \n 3638 * Format of the return value {@link ArkUI_AttributeItem}:\n 3639 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3640 * and <b>0</b> means the opposite. \n 3641 * 3642 */ 3643 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3644 /** 3645 * @brief Sets or retrieves the caret position information. 3646 * 3647 * The property setting method accepts parameters in the format of {@link ArkUI_AttributeItem}:\n 3648 * Sets the position of the input caret. \n 3649 * .value[0].i32: The number of characters from the start of the string to the caret position. \n 3650 * 3651 * The property retrieval method returns values in the format of {@link ArkUI_AttributeItem}:\n 3652 * Returns the current caret position information. \n 3653 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 3654 * current frame, it will not take effect. \n 3655 * value[0].i32: The index of the caret position. \n 3656 * value[1].f32: The x-coordinate of the caret relative to the TextArea. \n 3657 * value[2].f32: The y-coordinate of the caret relative to the TextArea. \n 3658 */ 3659 NODE_TEXT_AREA_CARET_OFFSET, 3660 /** 3661 * @brief Obtains the position of the edited TextArea relative to the component and its size. 3662 * 3663 * Format of the return value {@link ArkUI_AttributeItem}:\n 3664 * .value[0].f32: horizontal coordinate. \n 3665 * .value[1].f32: vertical coordinate. \n 3666 * .value[2].f32: content width. \n 3667 * .value[3].f32: content height. \n 3668 * 3669 */ 3670 NODE_TEXT_AREA_CONTENT_RECT, 3671 /** 3672 * @brief Obtains the number of lines of the edited text. 3673 * 3674 * Format of the return value {@link ArkUI_AttributeItem}:\n 3675 * .value[0].i32: number of lines of the edited text. \n 3676 * 3677 */ 3678 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3679 /** 3680 * @brief Sets the text selection area, which will be highlighted. 3681 * This attribute can be set, reset, and obtained as required through APIs. 3682 * 3683 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3684 * .value[0].i32: start position of the text selection. \n 3685 * .value[1].i32: end position of the text selection. \n 3686 * \n 3687 * Format of the return value {@link ArkUI_AttributeItem}:\n 3688 * .value[0].i32: start position of the text selection. \n 3689 * .value[1].i32: end position of the text selection. \n 3690 * 3691 */ 3692 NODE_TEXT_AREA_TEXT_SELECTION, 3693 /** 3694 * @brief Sets whether to enable autofill. 3695 * 3696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3697 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3698 * \n 3699 * Format of the return value {@link ArkUI_AttributeItem}:\n 3700 * .value[0].i32: whether to enable autofill. \n 3701 * 3702 */ 3703 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3704 /** 3705 * @brief Sets the autofill type. 3706 * 3707 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3708 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3709 * \n 3710 * Format of the return value {@link ArkUI_AttributeItem}:\n 3711 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3712 * 3713 */ 3714 NODE_TEXT_AREA_CONTENT_TYPE, 3715 3716 /** 3717 * @brief Sets whether the keyboard pops up when TextArea gains focus. 3718 * It supports property setting, property reset and property acquisition interfaces. 3719 * 3720 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3721 * .value[0].i32: Whether to pop up the keyboard. \n 3722 * \n 3723 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format:\n 3724 * .value[0].i32: Whether to pop up the keyboard. \n 3725 * 3726 */ 3727 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3728 3729 /** 3730 * @brief When this property is set, the height of the textArea component is calculated using this property. 3731 * 3732 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3733 * .value[0].i32: set the value of numberOfLines.\n 3734 * \n 3735 * Format of the return value {@link ArkUI_AttributeItem}:\n 3736 * .value[0].i32: Set the value of numberOfLines\n 3737 * 3738 */ 3739 NODE_TEXT_AREA_NUMBER_OF_LINES, 3740 3741 /** 3742 * @brief Sets the letter spacing of the <b>TextArea</b> component. 3743 * This attribute can be set, reset, and obtained as required through APIs. 3744 * 3745 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3746 * .value[0].f32: letter spacing. The default unit is fp. \n 3747 * \n 3748 * Format of the return value {@link ArkUI_AttributeItem}:\n 3749 * .value[0].f32: letter spacing. The default unit is fp. \n 3750 * 3751 * @since 16 3752 */ 3753 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3754 3755 /** 3756 * @brief Sets whether to enable preview text for the <b>TextArea</b> component. 3757 * This attribute can be set, reset, and obtained as required through APIs. 3758 * 3759 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3760 * .value[0].i32: whether to enable preview tex. \n 3761 * \n 3762 * Format of the return value {@link ArkUI_AttributeItem}:\n 3763 * .value[0].i32: whether to enable preview tex. \n 3764 * 3765 * @since 16 3766 */ 3767 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3768 3769 /** 3770 * @brief Sets whether to center text vertically in the textArea component. 3771 * 3772 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3773 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3774 * \n 3775 * Format of the return value {@link ArkUI_AttributeItem}:\n 3776 * .value[0].i32: whether to center text vertically. \n 3777 * 3778 * @since 16 3779 */ 3780 NODE_TEXT_AREA_HALF_LEADING = 8025, 3781 3782 /** 3783 * @brief Set the keyboard style of textArea 3784 * 3785 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3786 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3787 * \n 3788 * Format of the return value {@link ArkUI_AttributeItem}:\n 3789 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3790 * 3791 * @since 15 3792 */ 3793 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3794 3795 /** 3796 * @brief Set the max lines of the node. This attrilbute can be set, reset, and obtained as required through APIs. 3797 * 3798 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3799 * .value[0].i32: max lines count. \n 3800 * \n 3801 * Format of the return value {@link ArkUI_AttributeItem}:\n 3802 * .value[0].i32: max lines count. \n 3803 * 3804 * @since 20 3805 */ 3806 NODE_TEXT_AREA_MAX_LINES = 8027, 3807 3808 /** 3809 * @brief Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs. 3810 * 3811 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3812 * .value[0].i32: line spacing value. \n 3813 * \n 3814 * Format of the return value {@link ArkUI_AttributeItem}:\n 3815 * .value[0].i32: line spacing value. \n 3816 * 3817 * @since 20 3818 */ 3819 NODE_TEXT_AREA_LINE_SPACING = 8028, 3820 3821 /** 3822 * @brief Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs. 3823 * 3824 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3825 * .value[0].i32: min lines count. 3826 * \n 3827 * Format of the return value {@link ArkUI_AttributeItem}: \n 3828 * .value[0].i32: min line count.\n 3829 * 3830 * @since 20 3831 * 3832 */ 3833 NODE_TEXT_AREA_MIN_LINES = 8029, 3834 3835 /** 3836 * @brief Set the max lines of the node with scroll. 3837 * This attribute can be set, reset, and obtained as required through APIs. 3838 * 3839 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3840 * .value[0].i32: max lines count with scroll. 3841 * \n 3842 * Format of the return value {@link ArkUI_AttributeItem}: \n 3843 * .value[0].i32: max line count with scroll.\n 3844 * 3845 * @since 20 3846 * 3847 */ 3848 NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL = 8030, 3849 3850 /** 3851 * @brief Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs. 3852 * 3853 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3854 * .value[0].i32: line height value. \n 3855 * \n 3856 * Format of the return value {@link ArkUI_AttributeItem}: \n 3857 * .value[0].i32: line height value. \n 3858 * 3859 * @since 20 3860 */ 3861 NODE_TEXT_AREA_LINE_HEIGHT = 8031, 3862 3863 /** 3864 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3865 * 3866 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3867 * .string: default text content. \n 3868 * \n 3869 * Format of the return value {@link ArkUI_AttributeItem}:\n 3870 * .string: default text content. \n 3871 * 3872 */ 3873 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3874 3875 /** 3876 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3877 * 3878 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3879 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3880 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3881 * \n 3882 * Format of the return value {@link ArkUI_AttributeItem}:\n 3883 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3884 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3885 * 3886 */ 3887 NODE_BUTTON_TYPE, 3888 3889 /** 3890 * @brief Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs. 3891 * 3892 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3893 * .value[0].f32: minimum font scale, in fp. 3894 * \n 3895 * Format of the return value {@link ArkUI_AttributeItem}:\n 3896 * .value[0].f32: minimum font scale, in fp. 3897 * 3898 * @since 18 3899 */ 3900 NODE_BUTTON_MIN_FONT_SCALE, 3901 3902 /** 3903 * @brief Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs. 3904 * 3905 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3906 * .value[0].f32: maximum font scale, in fp. 3907 * \n 3908 * Format of the return value {@link ArkUI_AttributeItem}:\n 3909 * .value[0].f32: maximum font scale, in fp. 3910 * 3911 * @since 18 3912 */ 3913 NODE_BUTTON_MAX_FONT_SCALE, 3914 3915 /** 3916 * @brief Defines the current value of the progress indicator. 3917 * This attribute can be set, reset, and obtained as required through APIs. 3918 * 3919 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3920 * .value[0].f32: current value of the progress indicator. \n 3921 * \n 3922 * Format of the return value {@link ArkUI_AttributeItem}:\n 3923 * .value[0].f32: current value of the progress indicator. \n 3924 * 3925 */ 3926 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3927 /** 3928 * @brief Defines the total value of the progress indicator. 3929 * This attribute can be set, reset, and obtained as required through APIs. 3930 * 3931 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3932 * .value[0].f32: total value of the progress indicator. \n 3933 * \n 3934 * Format of the return value {@link ArkUI_AttributeItem}:\n 3935 * .value[0].f32: total value of the progress indicator. \n 3936 * 3937 */ 3938 NODE_PROGRESS_TOTAL, 3939 /** 3940 * @brief Defines the color for the progress value on the progress indicator. 3941 * This attribute can be set, reset, and obtained as required through APIs. 3942 * 3943 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3944 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3945 * \n 3946 * Format of the return value {@link ArkUI_AttributeItem}:\n 3947 * .value[0].u32: color value, in 0xARGB format. \n 3948 * 3949 */ 3950 NODE_PROGRESS_COLOR, 3951 /** 3952 * @brief Defines the type of the progress indicator. 3953 * This attribute can be set, reset, and obtained as required through APIs. 3954 * 3955 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3956 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3957 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3958 * \n 3959 * Format of the return value {@link ArkUI_AttributeItem}:\n 3960 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3961 * 3962 */ 3963 NODE_PROGRESS_TYPE, 3964 /** 3965 * @brief Sets the style of the linear progress indicator. 3966 * This attribute can be set, reset, and obtained as required through APIs. 3967 * If the progress indicator type is not linear, it will not take effect. 3968 * 3969 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3970 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3971 * \n 3972 * Format of the return value {@link ArkUI_AttributeItem}:\n 3973 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3974 * 3975 * @since 15 3976 */ 3977 NODE_PROGRESS_LINEAR_STYLE, 3978 3979 /** 3980 * @brief Defines whether the check box is selected. 3981 * This attribute can be set, reset, and obtained as required through APIs. 3982 * 3983 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3984 * .value[0].i32: whether the check box is selected. 3985 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3986 * \n 3987 * Format of the return value {@link ArkUI_AttributeItem}:\n 3988 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3989 * 3990 */ 3991 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3992 3993 /** 3994 * @brief Defines the color of the check box when it is selected. 3995 * This attribute can be set, reset, and obtained as required through APIs. 3996 * 3997 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3998 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3999 * \n 4000 * Format of the return value {@link ArkUI_AttributeItem}:\n 4001 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4002 * 4003 */ 4004 NODE_CHECKBOX_SELECT_COLOR, 4005 4006 /** 4007 * @brief Defines the border color of the check box when it is not selected. 4008 * This attribute can be set, reset, and obtained as required through APIs. 4009 * 4010 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4011 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4012 * \n 4013 * Format of the return value {@link ArkUI_AttributeItem}:\n 4014 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4015 * 4016 */ 4017 NODE_CHECKBOX_UNSELECT_COLOR, 4018 4019 /** 4020 * @brief Defines the internal icon style of the check box. 4021 * This attribute can be set, reset, and obtained as required through APIs. 4022 * 4023 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4024 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4025 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 4026 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 4027 * \n 4028 * Format of the return value {@link ArkUI_AttributeItem}:\n 4029 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4030 * .value[1].f32: size of the internal mark, in vp. \n 4031 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 4032 * 4033 */ 4034 NODE_CHECKBOX_MARK, 4035 4036 /** 4037 * @brief Defines the shape of the check box. 4038 * This attribute can be set, reset, and obtained as required through APIs. 4039 * 4040 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4041 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 4042 * \n 4043 * Format of the return value {@link ArkUI_AttributeItem}:\n 4044 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 4045 * 4046 */ 4047 NODE_CHECKBOX_SHAPE, 4048 4049 /** 4050 * @brief Defines the name of the checkbox. 4051 * This attribute can be set, reset, and obtained as required through APIs. 4052 * 4053 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4054 * .string: component name. \n 4055 * \n 4056 * Format of the return value {@link ArkUI_AttributeItem}:\n 4057 * .string: component name. \n 4058 * 4059 *@since 15 4060 */ 4061 NODE_CHECKBOX_NAME = 11005, 4062 4063 /** 4064 * @brief Defines the name of the checkbox. 4065 * This attribute can be set, reset, and obtained as required through APIs. 4066 * 4067 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4068 * .string: component name. \n 4069 * \n 4070 * Format of the return value {@link ArkUI_AttributeItem}:\n 4071 * .string: component name. \n 4072 * 4073 * @since 15 4074 */ 4075 NODE_CHECKBOX_GROUP = 11006, 4076 4077 /** 4078 * @brief Defines the ID of the <b><XComponent></b> component. 4079 * This attribute can be set and obtained as required through APIs. 4080 * 4081 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4082 * .string: component ID. \n 4083 * \n 4084 * Format of the return value {@link ArkUI_AttributeItem}:\n 4085 * .string: component ID. \n 4086 * 4087 */ 4088 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 4089 /** 4090 * @brief Defines the type of the <b><XComponent></b> component. 4091 * This attribute can be set, reset, and obtained as required through APIs. 4092 * 4093 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4094 * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n 4095 * \n 4096 * Format of the return value {@link ArkUI_AttributeItem}:\n 4097 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 4098 * 4099 */ 4100 NODE_XCOMPONENT_TYPE, 4101 /** 4102 * @brief Defines the width and height of the <b><XComponent></b> component. 4103 * This attribute can be set and obtained as required through APIs. 4104 * 4105 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4106 * .value[0].u32: width, in px. \n 4107 * .value[1].u32: height, in px. \n 4108 * \n 4109 * Format of the return value {@link ArkUI_AttributeItem}:\n 4110 * .value[0].u32: width, in px. \n 4111 * .value[1].u32: height, in px. \n 4112 * 4113 */ 4114 NODE_XCOMPONENT_SURFACE_SIZE, 4115 /** 4116 * @brief Defines the rectangle information of surface created by the <b><XComponent></b> component. 4117 * This attribute can be set and obtained as required through APIs. 4118 * 4119 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4120 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 4121 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 4122 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 4123 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 4124 * \n 4125 * Format of the return value {@link ArkUI_AttributeItem}:\n 4126 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4127 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 4128 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 4129 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 4130 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 4131 * @since 18 4132 */ 4133 NODE_XCOMPONENT_SURFACE_RECT, 4134 /** 4135 * @brief Defines whether to enable the AI analyzer for the <b><XComponent></b> component. 4136 * This attribute can be set and obtained as required through APIs. 4137 * 4138 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4139 * value[0].i32: The parameter type is 1 or 0. 4140 * \n 4141 * Format of the return value {@link ArkUI_AttributeItem}:\n 4142 * value[0].i32: The parameter type is 1 or 0. 4143 * @since 18 4144 */ 4145 NODE_XCOMPONENT_ENABLE_ANALYZER, 4146 4147 /** 4148 * @brief Defines whether to display the lunar calendar in the date picker. 4149 * This attribute can be set, reset, and obtained as required through APIs. 4150 * 4151 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4152 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 4153 * \n 4154 * Format of the return value {@link ArkUI_AttributeItem}:\n 4155 * .value[0].i32: whether to display the lunar calendar in the date picker. 4156 * 4157 */ 4158 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 4159 /** 4160 * @brief Defines the start date of the date picker. 4161 * This attribute can be set, reset, and obtained as required through APIs. 4162 * 4163 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4164 * .string: date. The default value is <b>"1970-1-1"</b>. \n 4165 * \n 4166 * Format of the return value {@link ArkUI_AttributeItem}:\n 4167 * .string: date. \n 4168 * 4169 */ 4170 NODE_DATE_PICKER_START, 4171 /** 4172 * @brief Defines the end date of the date picker. 4173 * This attribute can be set, reset, and obtained as required through APIs. 4174 * 4175 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4176 * .string: date. The default value is <b>"2100-12-31"</b>. \n 4177 * \n 4178 * Format of the return value {@link ArkUI_AttributeItem}:\n 4179 * .string: date. \n 4180 * 4181 */ 4182 NODE_DATE_PICKER_END, 4183 /** 4184 * @brief Defines the selected date of the date picker. 4185 * This attribute can be set, reset, and obtained as required through APIs. 4186 * 4187 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4188 * .string: date. The default value is <b>"2024-01-22"</b>. \n 4189 * \n 4190 * Format of the return value {@link ArkUI_AttributeItem}:\n 4191 * .string: date. 4192 * 4193 */ 4194 NODE_DATE_PICKER_SELECTED, 4195 /** 4196 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 4197 * This attribute can be set, reset, and obtained as required through APIs. 4198 * 4199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4200 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4201 * Parameter 1: font color, in #ARGB format.\n 4202 * Parameter 2: font size, in fp. The value is a number.\n 4203 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4204 * Parameter 4: fonts, separated by commas (,).\n 4205 * Parameter 5: font style. Available options are ("normal", "italic").\n 4206 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4207 * \n 4208 * Format of the return value {@link ArkUI_AttributeItem}:\n 4209 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4210 * Parameter 1: font color, in #ARGB format.\n 4211 * Parameter 2: font size, in fp. The value is a number.\n 4212 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4213 * Parameter 4: fonts, separated by commas (,).\n 4214 * Parameter 5: font style. Available options are ("normal", "italic").\n 4215 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4216 * 4217 */ 4218 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 4219 /** 4220 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 4221 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 4222 * 4223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4224 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4225 * Parameter 1: font color, in #ARGB format.\n 4226 * Parameter 2: font size, in fp. The value is a number.\n 4227 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4228 * Parameter 4: fonts, separated by commas (,).\n 4229 * Parameter 5: font style. Available options are ("normal", "italic").\n 4230 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4231 * \n 4232 * Format of the return value {@link ArkUI_AttributeItem}:\n 4233 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4234 * Parameter 1: font color, in #ARGB format.\n 4235 * Parameter 2: font size, in fp. The value is a number.\n 4236 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4237 * Parameter 4: fonts, separated by commas (,).\n 4238 * Parameter 5: font style. Available options are ("normal", "italic").\n 4239 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4240 * 4241 */ 4242 NODE_DATE_PICKER_TEXT_STYLE, 4243 /** 4244 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 4245 * This attribute can be set, reset, and obtained as required through APIs. 4246 * 4247 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4248 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4249 * Parameter 1: font color, in #ARGB format.\n 4250 * Parameter 2: font size, in fp. The value is a number.\n 4251 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4252 * Parameter 4: fonts, separated by commas (,).\n 4253 * Parameter 5: font style. Available options are ("normal", "italic").\n 4254 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4255 * \n 4256 * Format of the return value {@link ArkUI_AttributeItem}:\n 4257 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4258 * Parameter 1: font color, in #ARGB format.\n 4259 * Parameter 2: font size, in fp. The value is a number.\n 4260 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4261 * Parameter 4: fonts, separated by commas (,).\n 4262 * Parameter 5: font style. Available options are ("normal", "italic").\n 4263 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4264 * 4265 */ 4266 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 4267 /** 4268 * @brief Defines the mode of the date picker. 4269 * This attribute can be set, reset, and obtained as required through APIs. 4270 * 4271 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4272 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 4273 * \n 4274 * Format of the return value {@link ArkUI_AttributeItem}:\n 4275 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 4276 * 4277 * @since 18 4278 */ 4279 NODE_DATE_PICKER_MODE = 13007, 4280 /** 4281 * @brief Defines whether haptic feedback. 4282 * This attribute can be set, reset, and obtained as required through APIs. 4283 * 4284 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4285 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4286 * <b>false</b> means the opposite.\n 4287 * \n 4288 * Format of the return value {@link ArkUI_AttributeItem}:\n 4289 * value[0].i32: whether to feedback.\n 4290 * 4291 * @since 18 4292 */ 4293 NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK = 13008, 4294 /** 4295 * @brief Defines whether to support scroll looping for the date picker. 4296 * This attribute can be set, reset, and obtained as required through APIs. 4297 * 4298 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4299 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4300 * <b>false</b> means the opposite.\n 4301 * \n 4302 * Format of the return value {@link ArkUI_AttributeItem}:\n 4303 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4304 * 4305 * @since 20 4306 */ 4307 NODE_DATE_PICKER_CAN_LOOP = 13009, 4308 /** 4309 * @brief Defines the time of the selected item. in the timer picker. 4310 * This attribute can be set, reset, and obtained as required through APIs. 4311 * 4312 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4313 * .string: time. The default value is the current system time. \n 4314 * \n 4315 * Format of the return value {@link ArkUI_AttributeItem}:\n 4316 * .string: time. 4317 * 4318 */ 4319 4320 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 4321 /** 4322 * @brief Defines whether the display time is in 24-hour format. 4323 * This attribute can be set, reset, and obtained as required through APIs. 4324 * 4325 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4326 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 4327 * \n 4328 * Format of the return value {@link ArkUI_AttributeItem}:\n 4329 * .value[0].i32: whether the display time is in 24-hour format. 4330 * 4331 */ 4332 NODE_TIME_PICKER_USE_MILITARY_TIME, 4333 /** 4334 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 4335 * This attribute can be set, reset, and obtained as required through APIs. 4336 * 4337 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4338 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4339 * Parameter 1: font color, in #ARGB format.\n 4340 * Parameter 2: font size, in fp. The value is a number.\n 4341 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4342 * Parameter 4: fonts, separated by commas (,).\n 4343 * Parameter 5: font style. Available options are ("normal", "italic").\n 4344 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4345 * \n 4346 * Format of the return value {@link ArkUI_AttributeItem}:\n 4347 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4348 * Parameter 1: font color, in #ARGB format.\n 4349 * Parameter 2: font size, in fp. The value is a number.\n 4350 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4351 * Parameter 4: fonts, separated by commas (,).\n 4352 * Parameter 5: font style. Available options are ("normal", "italic").\n 4353 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4354 * 4355 */ 4356 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 4357 /** 4358 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 4359 * in the time picker. This attribute can be set, reset, and obtained as required through APIs. 4360 * 4361 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4362 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4363 * Parameter 1: font color, in #ARGB format.\n 4364 * Parameter 2: font size, in fp. The value is a number.\n 4365 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4366 * Parameter 4: fonts, separated by commas (,).\n 4367 * Parameter 5: font style. Available options are ("normal", "italic").\n 4368 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4369 * \n 4370 * Format of the return value {@link ArkUI_AttributeItem}:\n 4371 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4372 * Parameter 1: font color, in #ARGB format.\n 4373 * Parameter 2: font size, in fp. The value is a number.\n 4374 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4375 * Parameter 4: fonts, separated by commas (,).\n 4376 * Parameter 5: font style. Available options are ("normal", "italic").\n 4377 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4378 * 4379 */ 4380 NODE_TIME_PICKER_TEXT_STYLE, 4381 /** 4382 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 4383 * This attribute can be set, reset, and obtained as required through APIs. 4384 * 4385 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4386 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4387 * Parameter 1: font color, in #ARGB format.\n 4388 * Parameter 2: font size, in fp. The value is a number.\n 4389 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4390 * Parameter 4: fonts, separated by commas (,).\n 4391 * Parameter 5: font style. Available options are ("normal", "italic").\n 4392 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4393 * \n 4394 * Format of the return value {@link ArkUI_AttributeItem}:\n 4395 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4396 * Parameter 1: font color, in #ARGB format.\n 4397 * Parameter 2: font size, in fp. The value is a number.\n 4398 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4399 * Parameter 4: fonts, separated by commas (,).\n 4400 * Parameter 5: font style. Available options are ("normal", "italic").\n 4401 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4402 * 4403 */ 4404 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 4405 /** 4406 * @brief Defines the start time of the time picker. 4407 * This attribute can be set, reset, and obtained as required through APIs. 4408 * 4409 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4410 * .string: time. The default value is <b>"00:00:00"</b>.\n 4411 * \n 4412 * Format of the return value {@link ArkUI_AttributeItem}:\n 4413 * .string: time. The default value is <b>"00:00:00"</b>.\n 4414 * 4415 * @since 18 4416 */ 4417 NODE_TIME_PICKER_START = 14005, 4418 /** 4419 * @brief Defines the end time of the time picker. 4420 * This attribute can be set, reset, and obtained as required through APIs. 4421 * 4422 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4423 * .string: time. The default value is <b>"23:59:59"</b>.\n 4424 * \n 4425 * Format of the return value {@link ArkUI_AttributeItem}:\n 4426 * .string: time. The default value is <b>"23:59:59"</b>.\n 4427 * 4428 * @since 18 4429 */ 4430 NODE_TIME_PICKER_END = 14006, 4431 4432 /** 4433 * @brief Defines whether the AM/PM option is cascaded with the time in 12-hour mode. 4434 * This attribute can be set, reset, and obtained as required through APIs. 4435 * 4436 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4437 * .value[0].i32: whether to enable cascade. The default value is <b>false</b>.\n 4438 * \n 4439 * Format of the return value {@link ArkUI_AttributeItem}:\n 4440 * .value[0].i32: whether to enable cascade.\n 4441 * 4442 * @since 18 4443 */ 4444 NODE_TIME_PICKER_ENABLE_CASCADE = 14007, 4445 4446 /** 4447 * @brief Defines the data selection range of the text picker. 4448 * This attribute can be set, reset, and obtained as required through APIs. 4449 * 4450 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4451 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 4452 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 4453 * ?.string: string input, whose format varies by picker type.\n 4454 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 4455 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4456 * semicolons (;), and strings within each pair are separated by commas (,). \n 4457 * ?.object: Object input, whose format varies by picker type.\n 4458 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 4459 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4460 * \n 4461 * Format of the return value {@link ArkUI_AttributeItem}:\n 4462 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 4463 * ?.string: string output, whose format varies by picker type.\n 4464 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 4465 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4466 * semicolons (;), and strings within each pair are separated by commas (,). \n 4467 * ?.string: Object output, whose format varies by picker type.\n 4468 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 4469 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4470 * 4471 */ 4472 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 4473 /** 4474 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4475 * This attribute can be set, reset, and obtained as required through APIs. 4476 * 4477 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4478 * .value[0].u32: index. If there are multiple index values, add them one by one. \n 4479 * \n 4480 * Format of the return value {@link ArkUI_AttributeItem}:\n 4481 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 4482 * 4483 */ 4484 NODE_TEXT_PICKER_OPTION_SELECTED, 4485 /** 4486 * @brief Defines the value of the default selected item in the text picker. 4487 * This attribute can be set, reset, and obtained as required through APIs. 4488 * 4489 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4490 * .string: value of the selected item. If there are multiple values, add them one by one and 4491 * separate them with semicolons (;). \n 4492 * \n 4493 * Format of the return value {@link ArkUI_AttributeItem}:\n 4494 * .string: value of the selected item. If there are multiple values, add them one by one and 4495 * separate them with semicolons (;).\n 4496 * 4497 */ 4498 NODE_TEXT_PICKER_OPTION_VALUE, 4499 /** 4500 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker. 4501 * This attribute can be set, reset, and obtained as required through APIs. 4502 * 4503 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4504 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4505 * Parameter 1: font color, in #ARGB format.\n 4506 * Parameter 2: font size, in fp. The value is a number.\n 4507 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4508 * Parameter 4: fonts, separated by commas (,).\n 4509 * Parameter 5: font style. Available options are ("normal", "italic").\n 4510 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4511 * \n 4512 * Format of the return value {@link ArkUI_AttributeItem}:\n 4513 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4514 * Parameter 1: font color, in #ARGB format.\n 4515 * Parameter 2: font size, in fp. The value is a number.\n 4516 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4517 * Parameter 4: fonts, separated by commas (,).\n 4518 * Parameter 5: font style. Available options are ("normal", "italic").\n 4519 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4520 * 4521 */ 4522 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 4523 /** 4524 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 4525 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 4526 * 4527 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4528 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4529 * Parameter 1: font color, in #ARGB format.\n 4530 * Parameter 2: font size, in fp. The value is a number.\n 4531 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4532 * Parameter 4: fonts, separated by commas (,).\n 4533 * Parameter 5: font style. Available options are ("normal", "italic").\n 4534 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4535 * \n 4536 * Format of the return value {@link ArkUI_AttributeItem}:\n 4537 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4538 * Parameter 1: font color, in #ARGB format.\n 4539 * Parameter 2: font size, in fp. The value is a number.\n 4540 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4541 * Parameter 4: fonts, separated by commas (,).\n 4542 * Parameter 5: font style. Available options are ("normal", "italic").\n 4543 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4544 * 4545 */ 4546 NODE_TEXT_PICKER_TEXT_STYLE, 4547 /** 4548 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 4549 * This attribute can be set, reset, and obtained as required through APIs. 4550 * 4551 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4552 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4553 * Parameter 1: font color, in #ARGB format.\n 4554 * Parameter 2: font size, in fp. The value is a number.\n 4555 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4556 * Parameter 4: fonts, separated by commas (,).\n 4557 * Parameter 5: font style. Available options are ("normal", "italic").\n 4558 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4559 * \n 4560 * Format of the return value {@link ArkUI_AttributeItem}:\n 4561 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4562 * Parameter 1: font color, in #ARGB format.\n 4563 * Parameter 2: font size, in fp. The value is a number.\n 4564 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4565 * Parameter 4: fonts, separated by commas (,).\n 4566 * Parameter 5: font style. Available options are ("normal", "italic").\n 4567 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4568 * 4569 */ 4570 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 4571 /** 4572 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4573 * This attribute can be set, reset, and obtained as required through APIs. 4574 * 4575 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4576 * .value[0...].i32: index of the default item in the data selection range. 4577 * 4578 */ 4579 NODE_TEXT_PICKER_SELECTED_INDEX, 4580 /** 4581 * @brief Defines whether to support scroll looping for the text picker. 4582 * This attribute can be set, reset, and obtained as required through APIs. 4583 * 4584 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4585 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4586 * <b>false</b> means the opposite.\n \n 4587 * \n 4588 * Format of the return value {@link ArkUI_AttributeItem}:\n 4589 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4590 * 4591 */ 4592 NODE_TEXT_PICKER_CAN_LOOP, 4593 /** 4594 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 4595 * through APIs. 4596 * 4597 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4598 * .value[0].f32: item height, in vp. \n 4599 * \n 4600 * Format of the return value {@link ArkUI_AttributeItem}:\n 4601 * value[0].f32: item height, in vp. \n 4602 * 4603 */ 4604 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 4605 /** 4606 * @brief Defines whether haptic feedback. 4607 * This attribute can be set, reset, and obtained as required through APIs. 4608 * 4609 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4610 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4611 * <b>false</b> means the opposite.\n 4612 * \n 4613 * Format of the return value {@link ArkUI_AttributeItem}:\n 4614 * value[0].i32: whether to feedback.\n 4615 * 4616 * @since 18 4617 */ 4618 NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK = 15010, 4619 /** 4620 * @brief Defines the style of the background in the selected state of the calendar picker. 4621 * This attribute can be set, reset, and obtained as required through APIs. 4622 * 4623 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4624 * .value[0].f32: style of the background in the selected state of the calendar picker. 4625 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 4626 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 4627 * or greater than 16, the background is a circle. \n 4628 * \n 4629 * Format of the return value {@link ArkUI_AttributeItem}:\n 4630 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 4631 * If the value is <b>0</b>, the background is a rectangle with square corners. 4632 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 4633 * greater than 16, the background is a circle. \n 4634 * 4635 */ 4636 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 4637 /** 4638 * @brief Defines the date of the selected item in the calendar picker. 4639 * This attribute can be set, reset, and obtained as required through APIs. 4640 * 4641 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4642 * .value[0].u32: year of the selected date. \n 4643 * .value[1].u32: month of the selected date. \n 4644 * .value[2].u32: day of the selected date. \n 4645 * \n 4646 * Format of the return value {@link ArkUI_AttributeItem}:\n 4647 * .value[0].u32: year of the selected date. \n 4648 * .value[1].u32: month of the selected date. \n 4649 * .value[2].u32: day of the selected date. \n 4650 * 4651 */ 4652 NODE_CALENDAR_PICKER_SELECTED_DATE, 4653 /** 4654 * @brief Defines how the calendar picker is aligned with the entry component. 4655 * This attribute can be set, reset, and obtained as required through APIs. 4656 * 4657 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4658 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4659 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4660 * the specified alignment mode. \n 4661 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4662 * the specified alignment mode. \n 4663 * \n 4664 * Format of the return value {@link ArkUI_AttributeItem}:\n 4665 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4666 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4667 * the specified alignment mode. \n 4668 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4669 * the specified alignment mode. \n 4670 * 4671 */ 4672 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 4673 /** 4674 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 4675 * 4676 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4677 * .value[0]?.u32: font color of the entry area. \n 4678 * .value[1]?.f32: font size of the entry area, in fp. \n 4679 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4680 * \n 4681 * Format of the return value {@link ArkUI_AttributeItem}:\n 4682 * .value[0].u32: font color of the entry area. \n 4683 * .value[1].f32: font size of the entry area, in fp. \n 4684 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4685 * 4686 */ 4687 NODE_CALENDAR_PICKER_TEXT_STYLE, 4688 /** 4689 * @brief Defines the start date of the calendar picker. 4690 * This attribute can be set, reset, and obtained as required through APIs. 4691 * 4692 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4693 * .string: date. The value like <b>"1970-1-1"</b>. \n 4694 * \n 4695 * Format of the return value {@link ArkUI_AttributeItem}:\n 4696 * .string: date. \n 4697 * 4698 * @since 18 4699 */ 4700 NODE_CALENDAR_PICKER_START = 16004, 4701 /** 4702 * @brief Defines the end date of the calendar picker. 4703 * This attribute can be set, reset, and obtained as required through APIs. 4704 * 4705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4706 * .string: date. The value like <b>"2100-12-31"</b>. \n 4707 * \n 4708 * Format of the return value {@link ArkUI_AttributeItem}:\n 4709 * .string: date. \n 4710 * 4711 * @since 18 4712 */ 4713 NODE_CALENDAR_PICKER_END = 16005, 4714 /** 4715 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 4716 * 4717 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4718 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4719 * \n 4720 * Format of the return value {@link ArkUI_AttributeItem}:\n 4721 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4722 * 4723 */ 4724 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 4725 4726 /** 4727 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 4728 * through APIs. 4729 * 4730 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4731 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4732 * \n 4733 * Format of the return value {@link ArkUI_AttributeItem}:\n 4734 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4735 * 4736 */ 4737 NODE_SLIDER_TRACK_COLOR, 4738 4739 /** 4740 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 4741 * as required through APIs. 4742 * 4743 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4744 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4745 * \n 4746 * Format of the return value {@link ArkUI_AttributeItem}:\n 4747 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4748 * 4749 */ 4750 NODE_SLIDER_SELECTED_COLOR, 4751 4752 /** 4753 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 4754 * through APIs. 4755 * 4756 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4757 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4758 * and <b>0</b> (default value) means the opposite. \n 4759 * \n 4760 * Format of the return value {@link ArkUI_AttributeItem}:\n 4761 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4762 * and <b>0</b> (default value) means the opposite. \n 4763 * 4764 */ 4765 NODE_SLIDER_SHOW_STEPS, 4766 4767 /** 4768 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 4769 * 4770 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4771 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4772 * .string?: depending on the shape. Optional. \n 4773 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4774 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4775 * There are five types:\n 4776 * 1. Rectangle:\n 4777 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4778 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4779 * .value[2].f32: width of the rectangle.\n 4780 * .value[3].f32: height of the rectangle.\n 4781 * .value[4].f32: width of the rounded corner of the rectangle.\n 4782 * .value[5].f32: height of the rounded corner of the rectangle.\n 4783 * 2. Circle:\n 4784 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4785 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4786 * .value[2].f32: width of the circle.\n 4787 * .value[3].f32: height of the circle.\n 4788 * 3.Ellipse:\n 4789 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4790 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4791 * .value[2].f32: width of the ellipse.\n 4792 * .value[3].f32: height of the ellipse;\n 4793 * 4. Path:\n 4794 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4795 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4796 * .value[2].f32: width of the path.\n 4797 * .value[3].f32: height of the path.\n 4798 * .string: command for drawing the path.\n 4799 * \n 4800 * Format of the return value {@link ArkUI_AttributeItem}:\n 4801 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4802 * .string?: depending on the shape. Optional. \n 4803 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4804 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4805 * There are five types:\n 4806 * 1. Rectangle:\n 4807 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4808 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4809 * .value[2].f32: width of the rectangle.\n 4810 * .value[3].f32: height of the rectangle.\n 4811 * .value[4].f32: width of the rounded corner of the rectangle.\n 4812 * .value[5].f32: height of the rounded corner of the rectangle.\n 4813 * 2. Circle:\n 4814 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4815 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4816 * .value[2].f32: width of the circle.\n 4817 * .value[3].f32: height of the circle.\n 4818 * 3.Ellipse:\n 4819 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4820 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4821 * .value[2].f32: width of the ellipse.\n 4822 * .value[3].f32: height of the ellipse;\n 4823 * 4. Path:\n 4824 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4825 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4826 * .value[2].f32: width of the path.\n 4827 * .value[3].f32: height of the path.\n 4828 * .string: command for drawing the path.\n 4829 * 4830 */ 4831 NODE_SLIDER_BLOCK_STYLE, 4832 4833 /** 4834 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 4835 * through APIs. 4836 * 4837 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4838 * .value[0].f32: current value. \n 4839 * \n 4840 * Format of the return value {@link ArkUI_AttributeItem}:\n 4841 * .value[0].f32: current value. 4842 * 4843 */ 4844 NODE_SLIDER_VALUE, 4845 4846 /** 4847 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 4848 * through APIs. 4849 * 4850 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4851 * .value[0].f32: minimum value. \n 4852 * \n 4853 * Format of the return value {@link ArkUI_AttributeItem}:\n 4854 * .value[0].f32: minimum value. 4855 * 4856 */ 4857 NODE_SLIDER_MIN_VALUE, 4858 4859 /** 4860 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 4861 * through APIs. 4862 * 4863 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4864 * .value[0].f32: maximum value. \n 4865 * \n 4866 * Format of the return value {@link ArkUI_AttributeItem}:\n 4867 * .value[0].f32: maximum value. 4868 * 4869 */ 4870 NODE_SLIDER_MAX_VALUE, 4871 4872 /** 4873 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4874 * 4875 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4876 * .value[0].f32: step. The value range is [0.01, 100]. \n 4877 * \n 4878 * Format of the return value {@link ArkUI_AttributeItem}:\n 4879 * .value[0].f32: step. The value range is [0.01, 100]. 4880 * 4881 */ 4882 NODE_SLIDER_STEP, 4883 4884 /** 4885 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4886 * obtained as required through APIs. 4887 * 4888 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4889 * .value[0].i32: whether the slider moves horizontally or vertically. 4890 * The parameter type is {@link ArkUI_SliderDirection}. \n 4891 * \n 4892 * Format of the return value {@link ArkUI_AttributeItem}:\n 4893 * .value[0].i32: whether the slider moves horizontally or vertically. 4894 * 4895 */ 4896 NODE_SLIDER_DIRECTION, 4897 4898 /** 4899 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4900 * through APIs. 4901 * 4902 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4903 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4904 * reversed, and <b>0</b> means the opposite. \n 4905 * \n 4906 * Format of the return value {@link ArkUI_AttributeItem}:\n 4907 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4908 * reversed, and <b>0</b> means the opposite. 4909 * 4910 */ 4911 NODE_SLIDER_REVERSE, 4912 4913 /** 4914 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4915 * as required through APIs. 4916 * 4917 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4918 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4919 * \n 4920 * Format of the return value {@link ArkUI_AttributeItem}:\n 4921 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4922 * 4923 */ 4924 NODE_SLIDER_STYLE, 4925 4926 /** 4927 * @brief Sets the track thickness of the slider. 4928 * This attribute can be set, reset, and obtained as required through APIs. 4929 * 4930 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4931 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4932 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4933 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4934 * \n 4935 * Format of the return value {@link ArkUI_AttributeItem}:\n 4936 * .value[0].f32: track thickness of the slider, in vp. \n 4937 * 4938 */ 4939 NODE_SLIDER_TRACK_THICKNESS, 4940 4941 /** 4942 * @brief Defines whether haptic feedback. 4943 * This attribute can be set, reset, and obtained as required through APIs. 4944 * 4945 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4946 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4947 * <b>false</b> means the opposite.\n 4948 * \n 4949 * Format of the return value {@link ArkUI_AttributeItem}:\n 4950 * value[0].i32: whether to feedback.\n 4951 * 4952 * @since 18 4953 */ 4954 NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK = 17013, 4955 4956 /** 4957 * @brief Sets a custom component on the leading side of the Slider component. 4958 * 4959 * Attribute setting method {@link ArkUI_AttributeItem} parameter format: \n 4960 * .object: Parameter type {@link ArkUI_NodeHandle}. 4961 * 4962 * The prefix component will be placed at the start position of the Slider, 4963 * typically on the left side in LTR layouts. 4964 * 4965 * @since 20 4966 */ 4967 NODE_SLIDER_PREFIX, 4968 4969 /** 4970 * @brief Sets a custom component on the trailing side of the Slider component. 4971 * 4972 * Attribute setting method {@link link ArkUI_AttributeItem} parameter format: \n 4973 * .object: Parameter type {@link ArkUI_NodeHandle}. 4974 * 4975 * The suffix component will be placed at the end position of the Slider, 4976 * typically on the right side in LTR layouts. 4977 * 4978 * @since 20 4979 */ 4980 NODE_SLIDER_SUFFIX, 4981 4982 /** 4983 * @brief Sets whether the radio button is selected. 4984 * This attribute can be set, reset, and obtained as required through APIs. 4985 * 4986 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4987 * .value[0].i32: whether the radio button is selected. The default value is <b>false</b>. 4988 * Format of the return value {@link ArkUI_AttributeItem}:\n 4989 * .value[0].i32: whether the radio button is selected. 4990 * 4991 */ 4992 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4993 /** 4994 * @brief Sets the style of the radio button in selected or deselected state. 4995 * This attribute can be set, reset, and obtained as required through APIs. 4996 * 4997 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4998 * .value[0]?.u32: color of the background when the radio button is selected, in 0xARGB format. 4999 * The default value is <b>0xFF007DFF</b>. \n 5000 * .value[1]?.u32: color of the border when the radio button is deselected, in 0xARGB format. 5001 * The default value is <b>0xFF182431</b>. \n 5002 * .value[2]?.u32: color of the indicator when the radio button is selected, in 0xARGB format. 5003 * The default value is <b>0xFFFFFFFF</b>. \n 5004 * Format of the return value {@link ArkUI_AttributeItem}:\n 5005 * .value[0].u32: color of the background when the radio button is selected, in 0xARGB format. 5006 * The default value is <b>0xFF007DFF</b>. \n 5007 * .value[1].u32: color of the border when the radio button is deselected, in 0xARGB format. 5008 * The default value is <b>0xFF182431</b>. \n 5009 * .value[2].u32: color of the indicator when the radio button is selected, in 0xARGB format. 5010 * The default value is <b>0xFFFFFFFF</b>. \n 5011 * 5012 */ 5013 NODE_RADIO_STYLE, 5014 /** 5015 * @brief Sets the current value of the radio button. 5016 * This attribute can be set, reset, and obtained as required through APIs. 5017 * 5018 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5019 * .string: value of the radio button. \n 5020 * \n 5021 * Format of the return value {@link ArkUI_AttributeItem}:\n 5022 * .string: value of the radio button. \n 5023 * 5024 */ 5025 NODE_RADIO_VALUE, 5026 /** 5027 * @brief Sets the name of the group to which the radio button belongs. Only one radio button in a given group can 5028 * be selected at a time. This attribute can be set, reset, and obtained as required through APIs. 5029 * 5030 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5031 * .string: name of the group to which the radio button belongs. \n 5032 * \n 5033 * Format of the return value {@link ArkUI_AttributeItem}:\n 5034 * .string: name of the group to which the radio button belongs. \n 5035 * 5036 */ 5037 NODE_RADIO_GROUP, 5038 5039 /** 5040 * @brief Defines the name of the checkboxgroup. 5041 * This attribute can be set, reset, and obtained as required through APIs. 5042 * 5043 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5044 * .string: component name. \n 5045 * \n 5046 * Format of the return value {@link ArkUI_AttributeItem}:\n 5047 * .string: component name. \n 5048 * 5049 * @since 15 5050 */ 5051 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 5052 5053 /** 5054 * @brief Defines whether the checkboxgroup is selected. 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 the check box is selected. 5059 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 5060 * \n 5061 * Format of the return value {@link ArkUI_AttributeItem}:\n 5062 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 5063 * 5064 * @since 15 5065 */ 5066 NODE_CHECKBOX_GROUP_SELECT_ALL = 21001, 5067 5068 /** 5069 * @brief Defines the color of the checkboxgroup when it is selected. 5070 * This attribute can be set, reset, and obtained as required through APIs. 5071 * 5072 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5073 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 5074 * for example, <b>0xFF1122FF</b>. \n 5075 * \n 5076 * Format of the return value {@link ArkUI_AttributeItem}:\n 5077 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 5078 * for example, <b>0xFF1122FF</b>. 5079 * 5080 * @since 15 5081 */ 5082 NODE_CHECKBOX_GROUP_SELECTED_COLOR = 21002, 5083 /** 5084 * @brief Defines the border color of the checkboxgroup when it is not selected. 5085 * This attribute can be set, reset, and obtained as required through APIs. 5086 * 5087 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5088 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 5089 * \n 5090 * Format of the return value {@link ArkUI_AttributeItem}:\n 5091 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 5092 * 5093 * @since 15 5094 */ 5095 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR = 21003, 5096 5097 /** 5098 * @brief Defines the internal icon style of the checkboxgroup. 5099 * This attribute can be set, reset, and obtained as required through APIs. 5100 * 5101 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5102 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 5103 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 5104 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 5105 * \n 5106 * Format of the return value {@link ArkUI_AttributeItem}:\n 5107 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 5108 * .value[1].f32: size of the internal mark, in vp. \n 5109 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 5110 * 5111 * @since 15 5112 */ 5113 NODE_CHECKBOX_GROUP_MARK = 21004, 5114 5115 /** 5116 * @brief Defines the shape of the checkboxgroup. 5117 * This attribute can be set, reset, and obtained as required through APIs. 5118 * 5119 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5120 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 5121 * \n 5122 * Format of the return value {@link ArkUI_AttributeItem}:\n 5123 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 5124 * 5125 * @since 15 5126 */ 5127 NODE_CHECKBOX_GROUP_SHAPE = 21005, 5128 5129 /** 5130 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 5131 * and obtained as required through APIs. 5132 * 5133 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5134 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 5135 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 5136 * \n 5137 * Format of the return value {@link ArkUI_AttributeItem}:\n 5138 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 5139 * 5140 */ 5141 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 5142 5143 /** 5144 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 5145 * 5146 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5147 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 5148 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 5149 * \n 5150 * Format of the return value {@link ArkUI_AttributeItem}:\n 5151 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 5152 * 5153 */ 5154 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 5155 /** 5156 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 5157 * through APIs. 5158 * 5159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5160 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 5161 * \n 5162 * Format of the return value {@link ArkUI_AttributeItem}:\n 5163 * .value[0].f32: width of the scrollbar, in vp. \n 5164 * 5165 */ 5166 NODE_SCROLL_BAR_WIDTH, 5167 /** 5168 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 5169 * through APIs. 5170 * 5171 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5172 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 5173 * \n 5174 * Format of the return value {@link ArkUI_AttributeItem}:\n 5175 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 5176 * 5177 */ 5178 NODE_SCROLL_BAR_COLOR, 5179 /** 5180 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 5181 * 5182 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5183 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 5184 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 5185 * \n 5186 * Format of the return value {@link ArkUI_AttributeItem}:\n 5187 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 5188 * 5189 */ 5190 NODE_SCROLL_SCROLL_DIRECTION, 5191 /** 5192 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 5193 * reached. This attribute can be set, reset, and obtained as required through APIs. 5194 * 5195 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5196 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 5197 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 5198 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 5199 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 5200 * opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the 5201 * Scroll component is <b>1</b>. \n 5202 * \n 5203 * Format of the return value {@link ArkUI_AttributeItem}:\n 5204 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 5205 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5206 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 5207 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 5208 * 5209 */ 5210 NODE_SCROLL_EDGE_EFFECT, 5211 /** 5212 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 5213 * finger or mouse is not supported, but the scroll controller API is not affected. 5214 * 5215 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5216 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 5217 * \n 5218 * Format of the return value {@link ArkUI_AttributeItem}:\n 5219 * .value[0].i32: whether to support scroll gestures. \n 5220 * 5221 */ 5222 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 5223 /** 5224 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 5225 * indirectly the scroll chaining during the inertial scrolling process. 5226 * 5227 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5228 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 5229 * for wearable devices. \n 5230 * \n 5231 * Format of the return value {@link ArkUI_AttributeItem}:\n 5232 * .value[0].f32: friction coefficient. 5233 * 5234 */ 5235 NODE_SCROLL_FRICTION, 5236 /** 5237 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 5238 * 5239 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5240 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5241 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5242 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 5243 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5244 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 5245 * snap points.\n 5246 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 5247 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5248 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 5249 * snap points.\n 5250 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 5251 * edge to which the <b><Scroll></b> component can scroll. \n 5252 * \n 5253 * Format of the return value {@link ArkUI_AttributeItem}:\n 5254 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5255 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 5256 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5257 * start edge and the first snap point.\n 5258 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 5259 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 5260 * end edge and the last snap point.\n 5261 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 5262 * to which the <b><Scroll></b> component can scroll. \n 5263 * 5264 */ 5265 NODE_SCROLL_SNAP, 5266 5267 /** 5268 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 5269 * through APIs. 5270 * 5271 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5272 * .value[0].i32: nested scrolling option when the component scrolls forward. 5273 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5274 * .value[1].i32: nested scrolling option when the component scrolls backward. 5275 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5276 * \n 5277 * Format of the return value {@link ArkUI_AttributeItem}:\n 5278 * .value[0].i32: nested scrolling option when the component scrolls forward. 5279 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 5280 * .value[1].i32: nested scrolling option when the component scrolls backward. 5281 * The parameter type is {@link ArkUI_ScrollNestedMode}. 5282 * 5283 */ 5284 NODE_SCROLL_NESTED_SCROLL, 5285 /** 5286 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 5287 * through APIs. 5288 * 5289 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5290 * .value[0].f32: horizontal scrolling offset, in vp. \n 5291 * .value[1].f32: vertical scrolling offset, in vp. \n 5292 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 5293 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 5294 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 5295 * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not 5296 * to enable the default spring animation. \n 5297 * \n 5298 * Format of the return value {@link ArkUI_AttributeItem}:\n 5299 * .value[0].f32: horizontal scrolling offset, in vp. \n 5300 * .value[1].f32: vertical scrolling offset, in vp. \n 5301 * 5302 */ 5303 NODE_SCROLL_OFFSET, 5304 5305 /** 5306 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 5307 * 5308 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5309 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 5310 * \n 5311 * Format of the return value {@link ArkUI_AttributeItem}:\n 5312 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 5313 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 5314 * 5315 */ 5316 NODE_SCROLL_EDGE, 5317 5318 /** 5319 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 5320 * as required through APIs. 5321 * 5322 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 5323 * <b>enablePaging</b> does not. \n 5324 * \n 5325 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5326 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 5327 * \n 5328 * Format of the return value {@link ArkUI_AttributeItem}:\n 5329 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 5330 * 5331 */ 5332 NODE_SCROLL_ENABLE_PAGING, 5333 5334 /** 5335 * @brief Scroll to the next or previous page. 5336 * 5337 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5338 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 5339 * indicates scroll to previous page. \n 5340 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 5341 * 5342 */ 5343 NODE_SCROLL_PAGE, 5344 5345 /** 5346 * @brief Scroll a specified distance. 5347 * 5348 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5349 * .value[0].f32:Horizontal scrolling distance in vp; \n 5350 * .value[1].f32: Vertical scrolling distance in vp; \n 5351 * 5352 */ 5353 NODE_SCROLL_BY, 5354 5355 /** 5356 * @brief Performs inertial scrolling based on the initial velocity passed in. 5357 * 5358 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5359 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 5360 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 5361 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 5362 * 5363 */ 5364 NODE_SCROLL_FLING, 5365 5366 /** 5367 * @brief Sets the fading effect for the edges of scrollable components. 5368 * 5369 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 5370 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, and 1 means to enable it. 5371 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 5372 * 5373 * Format of the return value {@link ArkUI_AttributeItem}: 5374 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is disabled, and 1 means that it is enabled. 5375 * .value[1].f32: length of the fading effect on edges, in vp. 5376 * 5377 * @since 14 5378 */ 5379 NODE_SCROLL_FADING_EDGE, 5380 5381 /** 5382 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 5383 * 5384 * Format of the return value {@link ArkUI_AttributeItem}:\n 5385 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 5386 * The default unit is vp. \n 5387 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 5388 * The default unit is vp. \n 5389 * 5390 * @since 14 5391 */ 5392 NODE_SCROLL_SIZE, 5393 5394 /** 5395 * @brief Sets the offset from the start of the scrollable components content. 5396 * 5397 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5398 * .value[0].f32: offset from the start of the content, in vp. \n 5399 * \n 5400 * Format of the return value {@link ArkUI_AttributeItem}:\n 5401 * .value[0].f32: offset from the start of the content, in vp. \n 5402 * 5403 * @since 15 5404 */ 5405 NODE_SCROLL_CONTENT_START_OFFSET, 5406 5407 /** 5408 * @brief Sets the offset from the end of the scrollable components content. 5409 * 5410 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5411 * .value[0].f32: offset from the end of the content, in vp. \n 5412 * \n 5413 * Format of the return value {@link ArkUI_AttributeItem}:\n 5414 * .value[0].f32: offset from the end of the content, in vp. \n 5415 * 5416 * @since 15 5417 */ 5418 NODE_SCROLL_CONTENT_END_OFFSET, 5419 5420 /** 5421 * @brief Defines the maximum starting fling speed of the scrollable when the fling animation starts. 5422 * This attribute can be set, reset, and obtained as required through APIs. 5423 * 5424 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5425 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5426 * \n 5427 * Format of the return value {@link ArkUI_AttributeItem}: \n 5428 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5429 * 5430 * @since 16 5431 */ 5432 NODE_SCROLL_FLING_SPEED_LIMIT, 5433 5434 /** 5435 * @brief Sets the content clipping area for this scrollable component. 5436 * This attribute can be set, reset, and obtained as required through APIs. 5437 * 5438 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5439 * .value[0].i32: content clipping mode. The parameter type is {@link ArkUI_ContentClipMode}. \n 5440 * \n 5441 * Format of the return value {@link ArkUI_AttributeItem}:\n 5442 * .value[0].i32: content clipping mode. The parameter type is {@link ArkUI_ContentClipMode}. \n 5443 * 5444 * @since 16 5445 */ 5446 NODE_SCROLL_CLIP_CONTENT, 5447 5448 /** 5449 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 5450 * This attribute can be set, reset, and obtained as required through APIs. 5451 * 5452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5453 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 5454 * The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. 5455 * The default value is <b>0</b>. \n 5456 * \n 5457 * Format of the return value {@link ArkUI_AttributeItem}: \n 5458 * .value[0]i.32: whether the scrollable scrolls back to top when status bar is clicked. \n 5459 * 5460 * @since 15 5461 */ 5462 NODE_SCROLL_BACK_TO_TOP = 1002021, 5463 5464 /** 5465 * @brief Defines the margin of the scrollbar. 5466 * This attribute can be set, reset, and obtained as required through APIs. 5467 * 5468 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5469 * .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>. \n 5470 * .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>. \n 5471 * \n 5472 * Format of the return value {@link ArkUI_AttributeItem}:\n 5473 * .value[0].f32: start margin of the scrollbar, in vp. \n 5474 * .value[1].f32: end margin of the scrollbar, in vp. \n 5475 * 5476 * @since 20 5477 */ 5478 NODE_SCROLL_BAR_MARGIN = 1002022, 5479 5480 /** 5481 * @brief Sets the maximum zoom scale for scrollable content. 5482 * 5483 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5484 * .value[0].f32: maximum zoom scale to set. \n 5485 * \n 5486 * Format of the return value {@link ArkUI_AttributeItem}:\n 5487 * .value[0].f32: current maximum zoom scale. \n 5488 * 5489 * @since 20 5490 */ 5491 NODE_SCROLL_MAX_ZOOM_SCALE = 1002023, 5492 5493 /** 5494 * @brief Sets the minimum zoom scale for scrollable content. 5495 * 5496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5497 * .value[0].f32: minimum zoom scale to set. \n 5498 * \n 5499 * Format of the return value {@link ArkUI_AttributeItem}:\n 5500 * .value[0].f32: current minimum zoom scale. \n 5501 * 5502 * @since 20 5503 */ 5504 NODE_SCROLL_MIN_ZOOM_SCALE = 1002024, 5505 5506 /** 5507 * @brief Sets the zoom scale for scrollable content. 5508 * 5509 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5510 * .value[0].f32: zoom scale to set. \n 5511 * \n 5512 * Format of the return value {@link ArkUI_AttributeItem}:\n 5513 * .value[0].f32: current zoom scale. \n 5514 * 5515 * @since 20 5516 */ 5517 NODE_SCROLL_ZOOM_SCALE = 1002025, 5518 5519 /** 5520 * @brief Sets whether to enable the zoom bounce effect when the scaling exceeds the limits. 5521 * 5522 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5523 * .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits. 5524 * The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite. \n 5525 * \n 5526 * Format of the return value {@link ArkUI_AttributeItem}:\n 5527 * .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits. 5528 * The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite. \n 5529 * 5530 * @since 20 5531 */ 5532 NODE_SCROLL_ENABLE_BOUNCES_ZOOM = 1002026, 5533 5534 /** 5535 * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and 5536 * obtained as required through APIs. 5537 * 5538 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5539 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 5540 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 5541 * \n 5542 * Format of the return value {@link ArkUI_AttributeItem}:\n 5543 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 5544 * 5545 */ 5546 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 5547 /** 5548 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5549 * component. This attribute can be set, reset, and obtained as required through APIs. 5550 * 5551 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5552 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5553 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5554 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 5555 * \n 5556 * Format of the return value {@link ArkUI_AttributeItem}:\n 5557 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5558 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5559 * {@link ArkUI_StickyStyle}. 5560 * 5561 */ 5562 NODE_LIST_STICKY, 5563 /** 5564 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 5565 * through APIs. 5566 * 5567 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5568 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 5569 * \n 5570 * Format of the return value {@link ArkUI_AttributeItem}:\n 5571 * .value[0].f32: spacing between list items along the main axis. \n 5572 * 5573 */ 5574 NODE_LIST_SPACE, 5575 5576 /** 5577 * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs. 5578 * 5579 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5580 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5581 * \n 5582 * Format of the return value {@link ArkUI_AttributeItem}:\n 5583 * .object: {@link ArkUI_NodeAdapter} object. \n 5584 */ 5585 NODE_LIST_NODE_ADAPTER, 5586 5587 /** 5588 * @brief Sets the number of cached items in the list adapter. 5589 * This attribute can be set, reset, and obtained as required through APIs. 5590 * 5591 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5592 * .value[0].i32: number of cached items in the list adapter. \n 5593 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5594 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 5595 * \n 5596 * Format of the return value {@link ArkUI_AttributeItem}:\n 5597 * .value[0].i32: number of cached items in the list adapter. \n 5598 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5599 * to show cached items. This parameter is supported since API version 15. \n 5600 * 5601 */ 5602 NODE_LIST_CACHED_COUNT, 5603 5604 /** 5605 * @brief Scroll to the specified index. 5606 * 5607 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5608 * lead to performance issues when loading a large number of items.\n 5609 * \n 5610 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5611 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5612 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5613 * 1 indicates an action and 0 indicates no action. Default value: 0.\n 5614 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5615 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 5616 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 5617 * This parameter is supported since API version 15. \n 5618 * 5619 */ 5620 NODE_LIST_SCROLL_TO_INDEX, 5621 5622 /** 5623 * @brief 设置List交叉轴方向宽度大于ListItem交叉轴宽度 * lanes时, 5624 * ListItem在List交叉轴方向的布局方式,支持属性设置,属性重置和属性获取接口。 5625 * 5626 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5627 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 5628 * \n 5629 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5630 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 5631 */ 5632 NODE_LIST_ALIGN_LIST_ITEM, 5633 5634 /** 5635 * @brief Set the default spindle size for the List subcomponent. 5636 * 5637 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5638 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5639 * \n 5640 * Format of the return value {@link ArkUI_AttributeItem}:\n 5641 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5642 */ 5643 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 5644 /** 5645 * @brief 设置当前List初次加载时视口起始位置显示的item的索引值,支持属性设置,属性重置和属性获取接口。 5646 * 5647 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5648 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值。 \n 5649 * \n 5650 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5651 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值,默认值:0。 \n 5652 */ 5653 NODE_LIST_INITIAL_INDEX = 1003008, 5654 /** 5655 * @brief sets the ListItem splitter style. By default, there is no splitter. 5656 * This attribute can be set, reset, and obtained as required through APIs. 5657 * 5658 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format:\n 5659 *.value[0].u32: divider color, type 0xargb; \n 5660 *.value[1].f32: dividing line width; \n 5661 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5662 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5663 * \n 5664 * Attribute fetch method return value {@link ArkUI_AttributeItem} format:\n 5665 *.value[0].u32: divider color, type 0xargb; \n 5666 *.value[1].f32: dividing line width; \n 5667 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5668 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5669 * 5670 */ 5671 NODE_LIST_DIVIDER = 1003009, 5672 5673 /** 5674 * @brief Scrolls to the item with the specified index in the specified list item group. 5675 * 5676 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 5677 * This may result in performance issues if a large number of items are involved. \n 5678 * \n 5679 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5680 * .value[0].i32: index of the target list item group in the current list. \n 5681 *.value[1].i32: index of the target list item in the list item group. \n 5682 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 5683 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 5684 * The default value is <b>0</b>. \n 5685 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 5686 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 5687 * 5688 * @since 15 5689 */ 5690 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 5691 5692 /** 5693 * @brief Sets the number of lanes in the list. 5694 * This attribute can be set, reset, and obtained as required through APIs. 5695 * 5696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5697 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 5698 * of lanes will not take effect. \n 5699 * .value[1]?.f32: minimum lane width, in vp. \n 5700 * .value[2]?.f32: maximum column width, in vp. \n 5701 * .value[3]?.f32: lane spacing, in vp. \n 5702 * \n 5703 * Format of the return value {@link ArkUI_AttributeItem}:\n 5704 * .value[0].u32: number of lanes in the list. \n 5705 * .value[1].f32: minimum lane width, in vp. \n 5706 * .value[2].f32: maximum column width, in vp. \n 5707 * .value[3].f32: lane spacing, in vp. \n \n 5708 * 5709 * @since 15 5710 */ 5711 NODE_LIST_LANES = 1003011, 5712 5713 /** 5714 * @brief Sets the list snap alignment mode. 5715 * 5716 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5717 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5718 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5719 * \n 5720 * Format of the return value {@link ArkUI_AttributeItem}:\n 5721 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5722 * 5723 * @since 15 5724 */ 5725 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 5726 5727 /** 5728 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 5729 * display area of the <b>List</b> component. 5730 * 5731 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5732 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5733 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5734 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5735 * \n 5736 * Format of the return value {@link ArkUI_AttributeItem}:\n 5737 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5738 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5739 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5740 * 5741 * @since 15 5742 */ 5743 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 5744 5745 /** 5746 * @brief Sets the layout of the List component from the end. 5747 * 5748 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5749 * .value[0].i32: whether the <b>List</b> is layout from the end. 5750 * The value <b>0</b> means not to layout from the end, 5751 * and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5752 * \n 5753 * Format of the return value {@link ArkUI_AttributeItem}:\n 5754 * .value[0].i32: whether the <b>List</b> is layout from the end. 5755 * The value <b>0</b> means not to layout from the end, and <b>1</b> means the opposite. 5756 * The default value is <b>0</b>. \n 5757 * 5758 * @since 16 5759 */ 5760 NODE_LIST_STACK_FROM_END = 1003014, 5761 5762 /** 5763 * @brief Defines whether the <b>List</b> component loads child nodes synchronously. 5764 * This attribute can be set, reset, and obtained as required through APIs. 5765 * 5766 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5767 * .value[0].i32: whether the <b>List</b> component synchronously loads child nodes. 5768 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 5769 * \n 5770 * Format of the return value {@link ArkUI_AttributeItem}:\n 5771 * .value[0].i32: whether the <b>List</b> component synchronously loads child nodes. 5772 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 5773 * 5774 * @since 20 5775 */ 5776 NODE_LIST_SYNC_LOAD = 1003016, 5777 5778 /** 5779 * @brief Defines whether to enable loop playback for the swiper. This attribute can be set, reset, and obtained 5780 * as required through APIs. 5781 * 5782 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5783 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5784 * means the opposite. The default value is <b>1/b>. \n 5785 * \n 5786 * Format of the return value {@link ArkUI_AttributeItem}:\n 5787 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5788 * means the opposite. The default value is <b>1</b>. \n 5789 * 5790 */ 5791 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 5792 /** 5793 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 5794 * 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].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 5798 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5799 * \n 5800 * .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means 5801 * to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is 5802 * supported since API version 16. \n 5803 * \n 5804 * Format of the return value {@link ArkUI_AttributeItem}:\n 5805 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 5806 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5807 * .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to 5808 * stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16. \n 5809 * 5810 */ 5811 NODE_SWIPER_AUTO_PLAY, 5812 /** 5813 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 5814 * reset, and obtained as required through APIs. 5815 * 5816 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5817 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5818 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5819 * \n 5820 * Format of the return value {@link ArkUI_AttributeItem}:\n 5821 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5822 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5823 * 5824 */ 5825 NODE_SWIPER_SHOW_INDICATOR, 5826 /** 5827 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 5828 * through APIs. 5829 * 5830 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5831 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5832 * \n 5833 * Format of the return value {@link ArkUI_AttributeItem}:\n 5834 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5835 * 5836 */ 5837 NODE_SWIPER_INTERVAL, 5838 /** 5839 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 5840 * as required through APIs. 5841 * 5842 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5843 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5844 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5845 * \n 5846 * Format of the return value {@link ArkUI_AttributeItem}:\n 5847 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5848 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5849 * 5850 */ 5851 NODE_SWIPER_VERTICAL, 5852 5853 /** 5854 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 5855 * and obtained as required through APIs. 5856 * 5857 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5858 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5859 * <b>400</b>. \n 5860 * \n 5861 * Format of the return value {@link ArkUI_AttributeItem}:\n 5862 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5863 * <b>400</b>. \n 5864 * 5865 */ 5866 NODE_SWIPER_DURATION, 5867 5868 /** 5869 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 5870 * through APIs. 5871 * 5872 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5873 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5874 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5875 * \n 5876 * Format of the return value {@link ArkUI_AttributeItem}:\n 5877 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5878 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5879 * 5880 */ 5881 NODE_SWIPER_CURVE, 5882 5883 /** 5884 * @brief Defines the spacing between child components in the swiper. 5885 * This attribute can be set, reset, and obtained as required through APIs. 5886 * 5887 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5888 * .value[0].f32: spacing between child components. \n 5889 * \n 5890 * Format of the return value {@link ArkUI_AttributeItem}:\n 5891 * .value[0].f32: spacing between child components. \n 5892 * 5893 */ 5894 NODE_SWIPER_ITEM_SPACE, 5895 5896 /** 5897 * @brief Defines the index of the child component currently displayed in the swiper. 5898 * This attribute can be set, reset, and obtained as required through APIs. 5899 * 5900 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5901 * .value[0].i32: index value of the child component. \n 5902 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 5903 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 5904 * This parameter is supported since API version 16. \n 5905 * \n 5906 * Format of the return value {@link ArkUI_AttributeItem}:\n 5907 * .value[0].i32: index value of the child component. \n 5908 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 5909 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 5910 * This parameter is supported since API version 16. \n 5911 * 5912 */ 5913 NODE_SWIPER_INDEX, 5914 5915 /** 5916 * @brief Defines the number of elements to display per page. 5917 * This attribute can be set, reset, and obtained as required through APIs. 5918 * 5919 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5920 * .value[0].i32: number of elements to display per page. \n 5921 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 5922 * and <b>1</b> means to turn pages by group. This parameter is supported since API version 16. \n 5923 * .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored. 5924 * This parameter is supported since API version 16. \n 5925 * \n 5926 * Format of the return value {@link ArkUI_AttributeItem}:\n 5927 * .value[0].i32: number of elements to display per page. \n 5928 * .value[1].i32: whether to turn pages by group. This parameter is supported since API version 16. \n 5929 * .string: 'auto' or empty string. 5930 * 5931 */ 5932 NODE_SWIPER_DISPLAY_COUNT, 5933 5934 /** 5935 * @brief Defines whether to disable the swipe feature. 5936 * This attribute can be set, reset, and obtained as required through APIs. 5937 * 5938 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5939 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 5940 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5941 * \n 5942 * Format of the return value {@link ArkUI_AttributeItem}:\n 5943 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 5944 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5945 * 5946 */ 5947 NODE_SWIPER_DISABLE_SWIPE, 5948 5949 /** 5950 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5951 * This attribute can be set, reset, and obtained as required through APIs. 5952 * 5953 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5954 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5955 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5956 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5957 * .?object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 5958 * This parameter is supported since API version 16. \n 5959 * \n 5960 * Format of the return value {@link ArkUI_AttributeItem}:\n 5961 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5962 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5963 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5964 * .object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 5965 * This parameter is supported since API version 16. \n 5966 * 5967 */ 5968 NODE_SWIPER_SHOW_DISPLAY_ARROW, 5969 5970 /** 5971 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5972 * This attribute can be set, reset, and obtained as required through APIs. 5973 * 5974 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5975 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5976 * The parameter type is {@link ArkUI_EdgeEffect}.\n 5977 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 5978 * \n 5979 * Format of the return value {@link ArkUI_AttributeItem}:\n 5980 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5981 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5982 * 5983 */ 5984 NODE_SWIPER_EDGE_EFFECT_MODE, 5985 5986 /** 5987 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 5988 * 5989 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5990 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5991 * \n 5992 * Format of the return value {@link ArkUI_AttributeItem}:\n 5993 * .object: {@link ArkUI_NodeAdapter} object. \n 5994 */ 5995 NODE_SWIPER_NODE_ADAPTER, 5996 5997 /** 5998 * @brief Sets the number of cached items in the swiper adapter. 5999 * This attribute can be set, reset, and obtained as required through APIs. 6000 * 6001 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6002 * .value[0].i32: number of cached items in the swiper adapter. \n 6003 * \n 6004 * Format of the return value {@link ArkUI_AttributeItem}:\n 6005 * .value[0].f32: number of cached items in the swiper adapter. \n 6006 * .value[1]?.i32: whether the cached items will be displayed. \n 6007 * The value <b>0</b> indicates that cached items will not be displayed, \n 6008 * and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>. \n 6009 * This parameter is supported from API version 16. \n 6010 * \n 6011 * Format of the return value {@link ArkUI_AttributeItem}:\n 6012 * .value[0].i32: number of cached items in the swiper adapter. \n 6013 * .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 16. \n 6014 */ 6015 NODE_SWIPER_CACHED_COUNT, 6016 6017 /** 6018 * @brief Defines the front margin of the wiper. 6019 * The attribute can be set, reset, and obtained as required through APIs. 6020 * 6021 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6022 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 6023 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 6024 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 6025 * Format of the return value {@link ArkUI_AttributeItem}:\n 6026 * .value[0].f32: the front margin, the unit is vp. \n 6027 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 6028 * the opposite. \n 6029 */ 6030 NODE_SWIPER_PREV_MARGIN, 6031 6032 /** 6033 * @brief Defines the back margin of the wiper. 6034 * The attribute can be set, reset, and obtained as required through APIs. 6035 * 6036 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6037 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 6038 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 6039 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 6040 * Format of the return value {@link ArkUI_AttributeItem}:\n 6041 * .value[0].f32: the back margin, the unit is vp. \n 6042 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 6043 * the opposite. \n 6044 */ 6045 NODE_SWIPER_NEXT_MARGIN, 6046 6047 /** 6048 * @brief Defines the navigation indicator type of the swiper. 6049 * The attribute can be set, reset, and obtained as required through APIs. 6050 * 6051 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6052 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 6053 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 6054 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 6055 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 6056 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 16. \n 6057 * \n 6058 * Format of the return value {@link ArkUI_AttributeItem}:\n 6059 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 6060 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 6061 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 6062 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 6063 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 16. \n 6064 * 6065 */ 6066 NODE_SWIPER_INDICATOR, 6067 6068 /** 6069 * @brief Set the nested scrolling mode for the Swiper component and parent component. 6070 * 6071 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6072 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 6073 * {@link ArkUI_SwiperNestedScrollMode} \n 6074 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 6075 * \n 6076 * Format of the return value {@link ArkUI_AttributeItem}:\n 6077 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 6078 * {@link ArkUI_SwiperNestedScrollMode} \n 6079 */ 6080 NODE_SWIPER_NESTED_SCROLL, 6081 6082 /** 6083 * @brief Set the switcher component to flip to the specified page. 6084 * 6085 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6086 * .value[0].i32:Specify the index value of the page in Swiper.\n 6087 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 6088 * effect, 0 indicates no active effect, default value is 0.\n 6089 */ 6090 NODE_SWIPER_SWIPE_TO_INDEX, 6091 6092 /** 6093 * @brief Set to disable component navigation point interactions. 6094 * 6095 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6096 * .value[0].i32: Set to disable component navigation point interaction, set to true to indicate the navigation point 6097 * is interactive, default value is true.\n 6098 * \n 6099 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format:\n 6100 * .value[0].i32: Set to disable component navigation point interactions. \n 6101 */ 6102 NODE_SWIPER_INDICATOR_INTERACTIVE, 6103 6104 /** 6105 * @brief Sets the page flipping mode using the mouse wheel. 6106 * 6107 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6108 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 6109 * \n 6110 * Format of the return value {@link ArkUI_PageFlipMode}:\n 6111 * .value[0].i32: page flipping mode using the mouse wheel. \n 6112 * 6113 * @since 15 6114 */ 6115 NODE_SWIPER_PAGE_FLIP_MODE, 6116 6117 /** 6118 * @brief Defines the minimum main axis size of child element for swiper to works out the display count. 6119 * This attribute can be set, reset, and obtained as required through APIs. 6120 * 6121 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6122 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 6123 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 6124 * and <b>1</b> means to turn pages by group. The default value is <b>0</b>. \n 6125 * \n 6126 * Format of the return value {@link ArkUI_AttributeItem}:\n 6127 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 6128 * .value[1].i32: whether to turn pages by group. \n 6129 * 6130 * @since 16 6131 */ 6132 NODE_SWIPER_AUTO_FILL, 6133 6134 /** 6135 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside 6136 * the display area of the <b>Swiper</b> component. 6137 * 6138 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6139 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside 6140 * the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's 6141 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 6142 * \n 6143 * Format of the return value {@link ArkUI_AttributeItem}:\n 6144 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside 6145 * the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's 6146 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 6147 * 6148 * @since 20 6149 */ 6150 NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION = 1001023, 6151 6152 /** 6153 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 6154 * property acquisition interfaces. 6155 * 6156 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 6157 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 6158 * \n 6159 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format:\n 6160 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 6161 * 6162 */ 6163 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 6164 6165 /** 6166 * @brief Defines the header of the list item group. 6167 * This attribute can be set, reset, and obtained as required through APIs. 6168 * 6169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6170 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 6171 * \n 6172 * Format of the return value {@link ArkUI_AttributeItem}:\n 6173 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 6174 * 6175 */ 6176 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 6177 /** 6178 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 6179 * required through APIs. 6180 * 6181 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6182 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 6183 * \n 6184 * Format of the return value {@link ArkUI_AttributeItem}:\n 6185 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 6186 * 6187 */ 6188 NODE_LIST_ITEM_GROUP_SET_FOOTER, 6189 /** 6190 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 6191 * as required through APIs. 6192 * 6193 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6194 * .value[0].u32: color of the divider, in 0xARGB format.\n 6195 * .value[1].f32: stroke width of the divider, in vp.\n 6196 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 6197 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 6198 * \n 6199 * Format of the return value {@link ArkUI_AttributeItem}:\n 6200 * .value[0].u32: color of the divider, in 0xARGB format.\n 6201 * .value[1].f32: stroke width of the divider, in vp.\n 6202 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 6203 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 6204 * 6205 */ 6206 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 6207 6208 /** 6209 * @brief Set the default spindle size for the ListItem Group subcomponent. 6210 * 6211 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6212 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 6213 * \n 6214 * Format of the return value {@link ArkUI_AttributeItem}:\n 6215 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 6216 */ 6217 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 6218 6219 /** 6220 * @brief Defines the list item group adapter. 6221 * This attribute can be set, reset, and obtained as required through APIs. 6222 * 6223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6224 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6225 * \n 6226 * Format of the return value {@link ArkUI_AttributeItem}:\n 6227 * .object: {@link ArkUI_NodeAdapter} object. \n 6228 * 6229 * @since 15 6230 */ 6231 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 6232 6233 /** 6234 * @brief Defines the horizontal alignment mode of child components in the column. 6235 * This attribute can be set, reset, and obtained as required through APIs. 6236 * 6237 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6238 * .value[0].i32: horizontal alignment mode of child components. 6239 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 6240 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 6241 * \n 6242 * Format of the return value {@link ArkUI_AttributeItem}:\n 6243 * .value[0].i32: horizontal alignment mode of child components. 6244 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 6245 * 6246 */ 6247 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 6248 /** 6249 * @brief Defines the vertical alignment mode of child components in the column. 6250 * This attribute can be set, reset, and obtained as required through APIs. 6251 * 6252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6253 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 6254 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 6255 * \n 6256 * Format of the return value {@link ArkUI_AttributeItem}:\n 6257 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 6258 * 6259 */ 6260 NODE_COLUMN_JUSTIFY_CONTENT, 6261 6262 /** 6263 * @brief Defines the vertical alignment mode of child components in the row. 6264 * This attribute can be set, reset, and obtained as required through APIs. 6265 * 6266 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6267 * .value[0].i32: vertical alignment mode of child components. 6268 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 6269 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 6270 * \n 6271 * Format of the return value {@link ArkUI_AttributeItem}:\n 6272 * .value[0].i32: vertical alignment mode of child components. 6273 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 6274 * 6275 */ 6276 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 6277 /** 6278 * @brief Defines the horizontal alignment mode of child components in the row. 6279 * This attribute can be set, reset, and obtained as required through APIs. 6280 * 6281 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6282 * .value[0].i32: horizontal alignment mode of child components. 6283 * The parameter type is {@link ArkUI_FlexAlignment}.\n 6284 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 6285 * \n 6286 * Format of the return value {@link ArkUI_AttributeItem}:\n 6287 * .value[0].i32: horizontal alignment mode of child components. 6288 * The parameter type is {@link ArkUI_FlexAlignment}. \n 6289 * 6290 */ 6291 NODE_ROW_JUSTIFY_CONTENT, 6292 6293 /** 6294 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 6295 * 6296 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6297 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 6298 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 6299 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 6300 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 6301 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 6302 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 6303 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 6304 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 6305 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 6306 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 6307 * \n 6308 * Format of the return value {@link ArkUI_AttributeItem}:\n 6309 * .value[0].i32: direction in which flex items are arranged. \n 6310 * .value[1].i32: how the flex items are wrapped. \n 6311 * .value[2].i32: alignment mode along the main axis. \n 6312 * .value[3].i32: alignment mode along the cross axis. \n 6313 * .value[4]?.i32: alignment mode along the cross axis for multi-line content.\n 6314 * 6315 */ 6316 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 6317 6318 /** 6319 * @brief Sets whether the component is being refreshed. 6320 * This attribute can be set and obtained as required through APIs. 6321 * 6322 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6323 * .value[0].i32: The parameter type is 1 or 0. 6324 * \n 6325 * Format of the return value {@link ArkUI_AttributeItem}:\n 6326 * .value[0].i32: The parameter type is 1 or 0. 6327 * 6328 */ 6329 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 6330 /** 6331 * @brief Sets the custom content in the pull-down area. 6332 * This attribute can be set, reset, and obtained as required through APIs. 6333 * 6334 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6335 * .object: The parameter type is {@link ArkUI_NodeHandle}. 6336 * 6337 */ 6338 NODE_REFRESH_CONTENT, 6339 /** 6340 * @brief Sets the pull-down ratio. This attribute can be set, reset, and obtained as required through APIs. 6341 * 6342 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6343 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 6344 * \n 6345 * Format of the return value {@link ArkUI_AttributeItem}:\n 6346 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 6347 * 6348 */ 6349 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 6350 /** 6351 * @brief Sets the pull-down offset that initiates a refresh. 6352 * This attribute can be set, reset, and obtained as required through APIs. 6353 * 6354 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6355 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 6356 * \n 6357 * Format of the return value {@link ArkUI_AttributeItem}:\n 6358 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 6359 * 6360 */ 6361 NODE_REFRESH_OFFSET = 1009003, 6362 /** 6363 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 6364 * This attribute can be set, reset, and obtained as required through APIs. 6365 * 6366 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6367 * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 6368 * <b>false</b> means the opposite. 6369 * \n 6370 * Format of the return value {@link ArkUI_AttributeItem}:\n 6371 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 6372 * <b>0</b> means the opposite. 6373 * 6374 */ 6375 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 6376 /** 6377 * @brief Set the max pull down distance for Refresh. 6378 * This attribute can be set, reset, and obtained as required through APIs. 6379 * 6380 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6381 * .value[0].f32: max pull-down distance, in vp. 6382 * \n 6383 * Format of the return value {@link ArkUI_AttributeItem}:\n 6384 * .value[0].f32: max pull-down distance, in vp. 6385 * 6386 * @since 20 6387 */ 6388 NODE_REFRESH_MAX_PULL_DOWN_DISTANCE = 1009005, 6389 6390 /** 6391 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 6392 * This attribute can be set, reset, and obtained as required through APIs. 6393 * 6394 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6395 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 6396 * \n 6397 * Format of the return value {@link ArkUI_AttributeItem}:\n 6398 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 6399 * 6400 */ 6401 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 6402 /** 6403 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 6404 * by default. This attribute can be set, reset, and obtained as required through APIs. 6405 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6406 * component's full width, the second column 1/4, and the third column 2/4. 6407 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6408 * columns based on the specified column width <b>track-size</b>. 6409 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6410 * or a valid number. 6411 * 6412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6413 * .string: number of columns in the layout.\n 6414 * \n 6415 * Format of the return value {@link ArkUI_AttributeItem}:\n 6416 * .string: number of columns in the layout.\n 6417 * 6418 */ 6419 NODE_WATER_FLOW_COLUMN_TEMPLATE, 6420 6421 /** 6422 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 6423 * by default. This attribute can be set, reset, and obtained as required through APIs. 6424 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6425 * component's full height, the second row 1/4, and the third row 2/4. 6426 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6427 * based on the specified row height <b>track-size</b>. 6428 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 6429 * or a valid number. 6430 * 6431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6432 * .string: number of rows in the layout. \n 6433 * \n 6434 * Format of the return value {@link ArkUI_AttributeItem}:\n 6435 * .string: number of rows in the layout. \n 6436 * 6437 */ 6438 NODE_WATER_FLOW_ROW_TEMPLATE, 6439 6440 /** 6441 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 6442 * 6443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6444 * .value[0].f32: gap between columns, in vp.\n 6445 * \n 6446 * Format of the return value {@link ArkUI_AttributeItem}:\n 6447 * .value[0].f32: gap between columns, in vp.\n 6448 * 6449 */ 6450 NODE_WATER_FLOW_COLUMN_GAP, 6451 6452 /** 6453 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 6454 * 6455 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6456 * .value[0].f32: gap between lines, in vp.\n 6457 * \n 6458 * Format of the return value {@link ArkUI_AttributeItem}:\n 6459 * .value[0].f32: gap between lines, in vp.\n 6460 * 6461 */ 6462 NODE_WATER_FLOW_ROW_GAP, 6463 6464 /** 6465 * @brief Defines the water flow section configuration. 6466 * This attribute can be set, reset, and obtained as required through APIs. 6467 * 6468 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6469 * .value[0].i32: zero-based index of the water flow item section to update. 6470 * The value is converted to an integer. \n 6471 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 6472 * \n 6473 * Format of the return value {@link ArkUI_AttributeItem}:\n 6474 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 6475 * 6476 */ 6477 NODE_WATER_FLOW_SECTION_OPTION, 6478 6479 /** 6480 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 6481 * 6482 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6483 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6484 * \n 6485 * Format of the return value {@link ArkUI_AttributeItem}:\n 6486 * .object: {@link ArkUI_NodeAdapter} object. \n 6487 */ 6488 NODE_WATER_FLOW_NODE_ADAPTER, 6489 6490 /** 6491 * @brief Sets the number of cached items in the water flow adapter. 6492 * This attribute can be set, reset, and obtained as required through APIs. 6493 * 6494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 6495 * .value[0].i32: number of cached items in the water flow adapter. \n 6496 * .value[1]?.i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 6497 * This parameter is supported since API version 16. \n 6498 * \n 6499 * Format of the return value {@link ArkUI_AttributeItem}: \n 6500 * .value[0].i32: number of cached items in the water flow adapter. \n 6501 * .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed. 6502 * This parameter is supported since API version 16. \n 6503 */ 6504 NODE_WATER_FLOW_CACHED_COUNT, 6505 /** 6506 * @brief 设置瀑布流组件末尾的自定义显示组件。 6507 * 6508 * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n 6509 * .object:参数类型{@Link ArkUI_NodeHandle}。 6510 * 6511 */ 6512 NODE_WATER_FLOW_FOOTER, 6513 /** 6514 * @brief Scroll to the specified index. 6515 * 6516 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 6517 * lead to performance issues when loading a large number of items.\n 6518 * \n 6519 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6520 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 6521 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 6522 * 1 indicates an action and 0 indicates no action. Default value is 0.\n 6523 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 6524 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>.\n 6525 * 6526 */ 6527 NODE_WATER_FLOW_SCROLL_TO_INDEX, 6528 6529 /** 6530 * @brief Defines the size constraints to apply to water flow items. 6531 * This attribute can be set, reset, and obtained as required through APIs. 6532 * 6533 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6534 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 6535 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 6536 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 6537 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 6538 * \n 6539 * Format of the return value {@link ArkUI_AttributeItem}:\n 6540 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 6541 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 6542 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 6543 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 6544 * 6545 */ 6546 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 6547 6548 /** 6549 * @brief Sets the layout mode for this <b>WaterFlow</b> component. 6550 * This attribute can be set, reset, and obtained as required through APIs. 6551 * 6552 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6553 * .value[0].i32: layout mode. The parameter type is {@link ArkUI_WaterFlowLayoutMode}. 6554 * \n 6555 * Format of the return value {@link ArkUI_AttributeItem}:\n 6556 * .value[0].i32: layout mode. The parameter type is {@link ArkUI_WaterFlowLayoutMode}. 6557 * 6558 * @since 16 6559 */ 6560 NODE_WATER_FLOW_LAYOUT_MODE, 6561 6562 /** 6563 * @brief Defines whether the <b>WaterFlow</b> component loads child nodes synchronously. 6564 * This attribute can be set, reset, and obtained as required through APIs. 6565 * 6566 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6567 * .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes. 6568 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6569 * \n 6570 * Format of the return value {@link ArkUI_AttributeItem}:\n 6571 * .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes. 6572 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6573 * 6574 * @since 20 6575 */ 6576 NODE_WATER_FLOW_SYNC_LOAD = 1010012, 6577 6578 /** 6579 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used by 6580 * default. This attribute can be set, reset, and obtained as required through APIs. 6581 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6582 * component's full width, the second column 1/4, and the third column 2/4. 6583 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6584 * columns based on the specified column width <b>track-size</b>. 6585 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 6586 * a valid number. 6587 * 6588 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6589 * .string: number of columns in the layout.\n 6590 * \n 6591 * Format of the return value {@link ArkUI_AttributeItem}:\n 6592 * .string: number of columns in the layout.\n 6593 * 6594 */ 6595 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 6596 6597 /** 6598 * @brief Sets the number of rows or the minimum row height in the grid layout. If this parameter is not set, one 6599 * row is used by default. This attribute can be set, reset, and obtained as required through APIs. 6600 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6601 * component's full height, the second row 1/4, and the third row 2/4. 6602 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6603 * based on the specified row height <b>track-size</b>. 6604 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 6605 * a valid number. 6606 * 6607 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6608 * .string: number of rows in the layout. \n 6609 * \n 6610 * Format of the return value {@link ArkUI_AttributeItem}:\n 6611 * .string: number of rows in the layout. \n 6612 * 6613 */ 6614 NODE_GRID_ROW_TEMPLATE, 6615 6616 /** 6617 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 6618 * 6619 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6620 * .value[0].f32: gap between columns, in vp.\n 6621 * \n 6622 * Format of the return value {@link ArkUI_AttributeItem}:\n 6623 * .value[0].f32: gap between columns, in vp.\n 6624 * 6625 */ 6626 NODE_GRID_COLUMN_GAP, 6627 6628 /** 6629 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 6630 * 6631 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6632 * .value[0].f32: gap between lines, in vp.\n 6633 * \n 6634 * Format of the return value {@link ArkUI_AttributeItem}:\n 6635 * .value[0].f32: gap between lines, in vp.\n 6636 * 6637 */ 6638 NODE_GRID_ROW_GAP, 6639 6640 /** 6641 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 6642 * 6643 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6644 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6645 * \n 6646 * Format of the return value {@link ArkUI_AttributeItem}:\n 6647 * .object: {@link ArkUI_NodeAdapter} object. \n 6648 */ 6649 NODE_GRID_NODE_ADAPTER, 6650 6651 /** 6652 * @brief Sets the number of cached items in the grid adapter. 6653 * This attribute can be set, reset, and obtained as required through APIs. 6654 * 6655 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6656 * .value[0].i32: number of cached items in the water flow adapter. \n 6657 */ 6658 NODE_GRID_CACHED_COUNT, 6659 6660 /** 6661 * @brief Defines the focus wrap mode for the <b>Grid</b> component. 6662 * This attribute can be set, reset, and obtained as required through APIs. 6663 * 6664 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6665 * .value[0].i32: focus wrap mode of the <b>Grid</b> component. 6666 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 6667 * \n 6668 * Format of the return value {@link ArkUI_AttributeItem}:\n 6669 * .value[0].i32: focus wrap mode of the <b>Grid</b> component. 6670 * The parameter type is {@link ArkUI_FocusWrapMode}. \n 6671 * 6672 * @since 20 6673 */ 6674 NODE_GRID_FOCUS_WRAP_MODE = 1013006, 6675 6676 /** 6677 * @brief Defines whether the <b>Grid</b> component loads child nodes synchronously. 6678 * This attribute can be set, reset, and obtained as required through APIs. 6679 * 6680 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6681 * .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes. 6682 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6683 * \n 6684 * Format of the return value {@link ArkUI_AttributeItem}:\n 6685 * .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes. 6686 * The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading. \n 6687 * 6688 * @since 20 6689 */ 6690 NODE_GRID_SYNC_LOAD = 1013007, 6691 6692 /** 6693 * @brief Defines the column width of the text picker. 6694 * This attribute can be set, reset, and obtained as required through APIs. 6695 * 6696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6697 * .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.\n 6698 * .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6699 * .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6700 * ...\n 6701 * .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6702 * \n 6703 * Format of the return value {@link ArkUI_AttributeItem}:\n 6704 * value[0].f32: percentage of total width.\n 6705 * value[1].f32: percentage of total width.\n 6706 * value[2].f32: percentage of total width.\n 6707 * ...\n 6708 * value[n].f32: percentage of total width.\n 6709 * 6710 * @since 18 6711 */ 6712 NODE_TEXT_PICKER_COLUMN_WIDTHS = 15009, 6713 /** 6714 * @brief 设置RelativeContaine容器内的辅助线,支持属性设置,属性重置和属性获取接口。 6715 * 6716 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6717 * .object: RelativeContaine容器内的辅助线: \n 6718 * \n 6719 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6720 * .object: RelativeContaine容器内的辅助线: \n 6721 * 6722 */ 6723 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 6724 6725 /** 6726 * @brief 设置RelativeContaine容器内的屏障,支持属性设置,属性重置和属性获取接口。 6727 * 6728 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6729 * .object: RelativeContaine容器内的辅助线: \n 6730 * \n 6731 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6732 * .object: RelativeContaine容器内的屏障: \n 6733 * 6734 */ 6735 NODE_RELATIVE_CONTAINER_BARRIER, 6736 6737 /** 6738 * @brief 设置帧动画组件的图片帧信息集合。不支持动态更新。支持属性设置,属性重置和属性获取接口。 6739 * 6740 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6741 * .size:图片帧的数量; \n 6742 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 6743 * \n 6744 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6745 * .size:图片帧的数量; \n 6746 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 6747 * 6748 */ 6749 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 6750 /** 6751 * @brief 控制帧动画组件的播放状态。支持属性设置,属性重置和属性获取接口。 6752 * 6753 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6754 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus},默认值为初始状态。 \n 6755 * 6756 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6757 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus}。 \n 6758 * 6759 */ 6760 NODE_IMAGE_ANIMATOR_STATE = 19001, 6761 /** 6762 * @brief 设置帧动画的播放时长,当数组中任意一帧图片单独设置了duration属性后,该属性设置无效。 6763 * 支持属性设置,属性重置和属性获取接口。 6764 * 6765 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6766 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 6767 * 6768 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6769 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 6770 * 6771 */ 6772 NODE_IMAGE_ANIMATOR_DURATION = 19002, 6773 /** 6774 * @brief 设置帧动画的播放方向。支持属性设置,属性重置和属性获取接口。 6775 * 6776 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6777 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张,默认值为0。 \n 6778 * 6779 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6780 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张。 \n 6781 * 6782 */ 6783 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 6784 /** 6785 * @brief 设置图片大小是否固定为组件大小。支持属性设置,属性重置和属性获取接口。 6786 * 6787 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6788 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置,默认值为1。\n 6789 * 6790 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6791 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置。 \n 6792 * 6793 */ 6794 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 6795 /** 6796 * @brief 设置帧动画在当前播放方向下,动画开始前和结束后的状态。支持属性设置,属性重置和属性获取接口。 6797 * 6798 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6799 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode},默认值为FORWARDS。 \n 6800 * 6801 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6802 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode}。 \n 6803 * 6804 */ 6805 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 6806 /** 6807 * @brief 设置帧动画的播放次数。支持属性设置,属性重置和属性获取接口。 6808 * 6809 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6810 * .value[0].i32:播放次数。 \n 6811 * 6812 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6813 * .value[0].i32:播放次数。 \n 6814 * 6815 */ 6816 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 6817 /** 6818 * @brief Defines the disabled date range of the calendar picker. 6819 * This attribute can be set, reset, and obtained as required through APIs. 6820 * 6821 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6822 * .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`, 6823 * ...,`nth start date`,`nth end date` of the disabled date range.\n 6824 * Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31\n 6825 * \n 6826 * Format of the return value {@link ArkUI_AttributeItem}:\n 6827 * .string: A string of dates.\n 6828 * 6829 * @since 19 6830 */ 6831 NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE = 16006, 6832 /** 6833 * @brief Defines whether the calendar picker marks today. 6834 * This attribute can be set, reset, and obtained as required through APIs. 6835 * 6836 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6837 * .value[0].i32: whether to the calendar picker marks today. The default value is: <b>false</b>.\n 6838 * \n 6839 * Format of the return value {@link ArkUI_AttributeItem}:\n 6840 * .value[0].i32: whether to the calendar picker marks today. 6841 * 6842 * @since 19 6843 */ 6844 NODE_CALENDAR_PICKER_MARK_TODAY = 16007, 6845 6846 /** 6847 * @brief Defines the want used to start EmbeddedAbility. 6848 * This attribute can be set as required through APIs. 6849 * 6850 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6851 * .object: The want of EmbeddedComponent, with parameter type {@AbilityBase_Want}. The default value is <b>nullptr</b>.\n 6852 * 6853 * @since 20 6854 */ 6855 NODE_EMBEDDED_COMPONENT_WANT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_EMBEDDED_COMPONENT, 6856 6857 /** 6858 * @brief Set onError and onTerminated callbacks for EMBEDDED_COMPONENT. 6859 * This attribute can be set as required through APIs. 6860 * 6861 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6862 * .object: The option for EmbeddedComponent, with parameter type {@ArkUI_EmbeddedComponentOption}.\n 6863 * 6864 * @since 20 6865 */ 6866 NODE_EMBEDDED_COMPONENT_OPTION, 6867 } ArkUI_NodeAttributeType; 6868 6869 #define MAX_COMPONENT_EVENT_ARG_NUM 12 6870 /** 6871 * @brief Defines the parameter type of the component callback event. 6872 * 6873 * @since 12 6874 */ 6875 typedef struct { 6876 /** Data array object. */ 6877 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 6878 } ArkUI_NodeComponentEvent; 6879 6880 /** 6881 * @brief Defines the string type parameter used by the component callback event. 6882 * 6883 * @since 12 6884 */ 6885 typedef struct { 6886 /** String. */ 6887 const char* pStr; 6888 } ArkUI_StringAsyncEvent; 6889 6890 /** 6891 * @brief Defines a hybrid data structure for component events. 6892 * 6893 * @since 16 6894 */ 6895 typedef struct { 6896 /** String data */ 6897 const char* pStr; 6898 /** Extended string data */ 6899 const char* pExtendStr; 6900 /** Numeric data */ 6901 int32_t number; 6902 } ArkUI_TextChangeEvent; 6903 6904 /** 6905 * @brief Enumerates the event types supported by the NativeNode component. 6906 * 6907 * @since 12 6908 */ 6909 typedef enum { 6910 /** 6911 * @brief Defines the gesture event type. 6912 * 6913 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6914 * {@link ArkUI_UIInputEvent}. 6915 */ 6916 NODE_TOUCH_EVENT = 0, 6917 6918 /** 6919 * @brief Defines the mount event. 6920 * 6921 * This event is triggered when the component is mounted and displayed. \n 6922 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6923 * {@link ArkUI_NodeComponentEvent}. \n 6924 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6925 */ 6926 NODE_EVENT_ON_APPEAR, 6927 /** 6928 * @brief Defines the unmount event. 6929 * 6930 * This event is triggered when the component is unmounted and hidden. \n 6931 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6932 * {@link ArkUI_NodeComponentEvent}. \n 6933 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6934 */ 6935 NODE_EVENT_ON_DISAPPEAR, 6936 6937 /** 6938 * @brief Defines the area change event. 6939 * 6940 * This event is triggered when the component's size, position, or any other attribute that may 6941 * affect its display area changes. \n 6942 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6943 * {@link ArkUI_NodeComponentEvent}. \n 6944 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6945 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 6946 * The value is a number. \n 6947 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 6948 * The value is a number. \n 6949 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 6950 * relative to the parent element's, in vp. The value is a number. \n 6951 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 6952 * relative to the parent element's, in vp. The value is a number. \n 6953 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 6954 * relative to the page's, in vp. The value is a number. \n 6955 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 6956 * relative to the page's, in vp. The value is a number. \n 6957 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 6958 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 6959 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 6960 * to the parent element's, in vp. The value is a number. \n 6961 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 6962 * to the parent element's, in vp. The value is a number. \n 6963 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 6964 * to the page's, in vp. The value is a number. \n 6965 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 6966 * to the page's, in vp. The value is a number. \n 6967 */ 6968 NODE_EVENT_ON_AREA_CHANGE, 6969 /** 6970 * @brief Defines the focus event. 6971 * 6972 * This event is triggered when the component obtains the focus. \n 6973 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6974 * {@link ArkUI_NodeComponentEvent}. \n 6975 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6976 */ 6977 NODE_ON_FOCUS, 6978 /** 6979 * @brief Defines the blur event. 6980 * 6981 * This event is triggered when the component loses the focus. \n 6982 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6983 * {@link ArkUI_NodeComponentEvent}. \n 6984 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6985 */ 6986 NODE_ON_BLUR, 6987 /** 6988 * @brief Defines the click event. 6989 * 6990 * This event is triggered when the component is clicked. \n 6991 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6992 * {@link ArkUI_NodeComponentEvent}. \n 6993 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6994 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 6995 * clicked component's original area, in vp. \n 6996 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 6997 * clicked component's original area, in vp. \n 6998 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 6999 * is triggered and the time when the system starts, in microseconds. \n 7000 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 7001 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 7002 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 7003 * application window, in vp. \n 7004 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 7005 * application window, in vp. \n 7006 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 7007 * application screen, in vp. \n 7008 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 7009 * application screen, in vp. \n 7010 */ 7011 NODE_ON_CLICK, 7012 /** 7013 * @brief Defines event interception. 7014 * 7015 * This event is triggered when the component is touched. \n 7016 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7017 * {@link ArkUI_UIInputEvent}. \n 7018 */ 7019 NODE_ON_TOUCH_INTERCEPT, 7020 /** 7021 * @brief Defines the visible area change event. 7022 * 7023 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 7024 * than the threshold. 7025 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 7026 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7027 * {@link ArkUI_NodeComponentEvent}. \n 7028 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7029 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 7030 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 7031 * decrease. \n 7032 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 7033 * callback is invoked. \n 7034 */ 7035 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 7036 /** 7037 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 7038 * 7039 \n 7040 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7041 * {@link ArkUI_NodeComponentEvent}. \n 7042 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7043 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 7044 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 7045 * the mouse pointer is moved away from the component. \n 7046 */ 7047 NODE_ON_HOVER, 7048 /** 7049 * @brief Defines the click event. 7050 * 7051 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 7052 * within the component. \n 7053 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7054 * {@link ArkUI_UIInputEvent}. \n 7055 */ 7056 NODE_ON_MOUSE, 7057 /** 7058 * @brief Defines the mount event. 7059 * 7060 * This event is triggered when the component is mounted. \n 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} does not contain parameters. 7064 */ 7065 NODE_EVENT_ON_ATTACH, 7066 /** 7067 * @brief Defines the unmount event. 7068 * 7069 * This event is triggered when the component is unmount. \n 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. 7073 */ 7074 NODE_EVENT_ON_DETACH, 7075 /** 7076 * @brief Defines the event triggered when an accessibility action of the preconfigured type is performed. 7077 * 7078 * \n 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].u32</b>: action type. The parameter type is 7083 * {@link ArkUI_AccessibilityActionType}. \n 7084 * 7085 */ 7086 NODE_ON_ACCESSIBILITY_ACTIONS, 7087 7088 /** 7089 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 7090 * 7091 * This event is triggered when a drag operation is about to start on a draggable item. \n 7092 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7093 * {@link ArkUI_NodeComponentEvent}. \n 7094 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7095 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 7096 */ 7097 NODE_ON_PRE_DRAG = 14, 7098 /** 7099 * @brief Called when the user starts to drag an ite 7100 * 7101 * A drag operation is recognized only when the dragged item is moved far enough. \n 7102 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7103 * {@link ArkUI_NodeEvent} object. \n 7104 */ 7105 NODE_ON_DRAG_START = 15, 7106 /** 7107 * @brief Called when a dragged item enters the boundaries of the current component. 7108 * 7109 * The current component refers to the component that listens for this event. \n 7110 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7111 * {@link ArkUI_NodeEvent} object. \n 7112 */ 7113 NODE_ON_DRAG_ENTER = 16, 7114 /** 7115 * @brief Called when a dragged item moves in the current component. 7116 * 7117 * The current component refers to the component that listens for this event. \n 7118 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7119 * {@link ArkUI_NodeEvent} object. \n 7120 */ 7121 NODE_ON_DRAG_MOVE = 17, 7122 /** 7123 * @brief Called when a dragged item leaves the boundaries of the current component. 7124 * 7125 * The current component refers to the component that listens for this event. \n 7126 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7127 * {@link ArkUI_NodeEvent} object. \n 7128 */ 7129 NODE_ON_DRAG_LEAVE = 18, 7130 /** 7131 * @brief Called when a dragged item is dropped on the current component. 7132 * The component can obtain the drag data for processing through the callback. 7133 * 7134 * The current component refers to the component that listens for this event. \n 7135 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7136 * {@link ArkUI_NodeEvent} object. \n 7137 */ 7138 NODE_ON_DROP = 19, 7139 /** 7140 * @brief Called when a drag operation ends. 7141 * The drag source can obtain the drag result by registering this callback. 7142 * 7143 * A drag operation ends when the dragged item is released. 7144 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 7145 * {@link ArkUI_NodeEvent} object. \n 7146 */ 7147 NODE_ON_DRAG_END = 20, 7148 /** 7149 * @brief Defines the event triggered when a key event occurs. 7150 * 7151 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 7152 * device. \n 7153 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7154 * {@link ArkUI_NodeComponentEvent}. \n 7155 * 7156 * @since 14 7157 */ 7158 NODE_ON_KEY_EVENT = 21, 7159 /** 7160 * @brief Defines the event triggered before the input method responds to the key action. 7161 * 7162 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 7163 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 7164 * and no longer triggered. 7165 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 7166 * device. \n 7167 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7168 * {@link ArkUI_NodeComponentEvent}. \n 7169 * 7170 * @since 14 7171 */ 7172 NODE_ON_KEY_PRE_IME = 22, 7173 7174 /** 7175 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 7176 * 7177 * The event callback is triggered by interactions with a joystick and a focused component. \n 7178 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7179 * {@link ArkUI_UIInputEvent}. \n 7180 * 7181 * @since 15 7182 */ 7183 NODE_ON_FOCUS_AXIS = 23, 7184 7185 /** 7186 * @brief Dispatch key event on the component node. 7187 * 7188 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 7189 * children. \n 7190 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7191 * {@link ArkUI_NodeComponentEvent}. \n 7192 * 7193 * @since 15 7194 */ 7195 NODE_DISPATCH_KEY_EVENT = 24, 7196 7197 /** 7198 * @brief Defines the event triggered when the bound component receives an axis event. 7199 * 7200 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7201 * {@link ArkUI_UIInputEvent}. \n 7202 * 7203 * @since 17 7204 */ 7205 NODE_ON_AXIS = 25, 7206 7207 /** 7208 * @brief Defines the event triggered when the bound component is clicked. 7209 * 7210 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7211 * {@link ArkUI_UIInputEvent}. \n 7212 * 7213 * @since 18 7214 */ 7215 NODE_ON_CLICK_EVENT = 26, 7216 7217 /** 7218 * @brief Defines the event triggered when the mouse pointer hovers over or moves away from a component. 7219 * 7220 * This event is triggered when the mouse pointer enters or leaves the component's bounding box. \n 7221 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7222 * {@link ArkUI_UIInputEvent}. \n 7223 * 7224 *@since 17 7225 */ 7226 NODE_ON_HOVER_EVENT = 27, 7227 7228 /** 7229 * @brief Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval. 7230 * 7231 * The callback is triggered when the ratio of the component's visible area to its total area is greater than or 7232 * less than the threshold. Before registering the callback, you must configure the threshold and update interval 7233 * using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>. \n 7234 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7235 * {@link ArkUI_NodeComponentEvent}. \n 7236 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7237 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 7238 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates 7239 * a decrease. \n 7240 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area 7241 * when this callback is invoked. \n 7242 * 7243 * @since 17 7244 */ 7245 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT = 28, 7246 7247 /** 7248 * @brief Defines the hover event. 7249 * 7250 * The event is triggered when the pointer is hovered by a pen device. 7251 * within the component. \n 7252 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 7253 * {@link ArkUI_UIInputEvent} object. \n 7254 * @since15 7255 */ 7256 NODE_ON_HOVER_MOVE = 29, 7257 7258 /** 7259 * @brief Triggers onDetectResultUpdate callback 7260 * when the text is set to TextDataDetectorConfig and recognized successfully. 7261 * 7262 * Trigger this event when TextDataDetectorConfig is set and recognized successfully.\n 7263 * When the event callback occurs, the event parameter{@link ArkUI_NodeEvent}The union type in the object is 7264 * {@link ArkUI_StringAsyncEvent}.\n 7265 * {@link ArkUI_StringAsyncEvent}contains 1 parameter\n 7266 * <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.\n 7267 * 7268 */ 7269 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 7270 /** 7271 * @brief Defines the long press event for span 7272 * 7273 * The event is triggered when the span is long pressed. 7274 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 7275 * {@link ArkUI_UIInputEvent} object.\n 7276 *@since 20 7277 */ 7278 NODE_TEXT_SPAN_ON_LONG_PRESS = 1001, 7279 /** 7280 * @brief Defines the image loading success event. 7281 * 7282 * This event is triggered when an image is successfully loaded or decoded. \n 7283 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7284 * {@link ArkUI_NodeComponentEvent}. \n 7285 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 7286 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 7287 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 7288 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 7289 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 7290 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 7291 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 7292 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 7293 * x-axis, in px. \n 7294 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 7295 * y-axis, in px. \n 7296 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 7297 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 7298 */ 7299 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 7300 /** 7301 * @brief Defines the image loading failure event. 7302 * 7303 * This event is triggered when an error occurs during image loading. \n 7304 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7305 * {@link ArkUI_NodeComponentEvent}. \n 7306 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7307 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 7308 * 401: The image could not be obtained because the image path is invalid. \n 7309 * 103101: The image format is not supported. \n 7310 */ 7311 NODE_IMAGE_ON_ERROR, 7312 /** 7313 * @brief Defines the SVG animation playback completion event. 7314 * 7315 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 7316 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7317 * {@link ArkUI_NodeComponentEvent}. \n 7318 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 7319 */ 7320 NODE_IMAGE_ON_SVG_PLAY_FINISH, 7321 /** 7322 * @brief Defines image download process event. 7323 * 7324 * This event is triggered when downloading webpage images from page components.\n 7325 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7326 * {@link ArkUI_NodeComponentEvent}. \n 7327 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 7328 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 7329 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 7330 */ 7331 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 7332 /** 7333 * @brief Defines the event triggered when the toggle status changes. 7334 * 7335 \n 7336 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7337 * {@link ArkUI_NodeComponentEvent}. \n 7338 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7339 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 7340 * 7341 */ 7342 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 7343 /** 7344 * @brief Defines the event triggered when TextInput's content changes. 7345 * 7346 \n 7347 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7348 * {@link ArkUI_StringAsyncEvent}. \n 7349 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7350 * <b>ArkUI_StringAsyncEvent.pStr</b>: TextInput. 7351 * 7352 */ 7353 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 7354 /** 7355 * @brief Defines the event triggered when the Enter key of the TextInput method is pressed. 7356 * 7357 \n 7358 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7359 * {@link ArkUI_NodeComponentEvent}. \n 7360 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7361 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 7362 * 7363 */ 7364 NODE_TEXT_INPUT_ON_SUBMIT, 7365 /** 7366 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 7367 * is long pressed, is clicked. 7368 * 7369 \n 7370 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7371 * {@link ArkUI_StringAsyncEvent}. \n 7372 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7373 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 7374 * 7375 */ 7376 NODE_TEXT_INPUT_ON_CUT, 7377 /** 7378 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 7379 * is long pressed, is clicked. 7380 * 7381 \n 7382 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7383 * {@link ArkUI_StringAsyncEvent}. \n 7384 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7385 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 7386 * 7387 */ 7388 NODE_TEXT_INPUT_ON_PASTE, 7389 /** 7390 * @brief Defines the event triggered when the text selection position changes. 7391 * 7392 \n 7393 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7394 * {@link ArkUI_NodeComponentEvent}. \n 7395 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7396 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 7397 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 7398 * 7399 */ 7400 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 7401 7402 /** 7403 * @brief Defines the event triggered when the input status changes. 7404 * 7405 \n 7406 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7407 * {@link ArkUI_NodeComponentEvent}. \n 7408 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7409 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that TextInput is in progress. \n 7410 * 7411 */ 7412 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 7413 7414 /** 7415 * @brief This event is triggered when the input content of TextInput changes. 7416 * 7417 * Conditions for triggering this event: When the input content changes. \n 7418 * When the event callback occurs, the union type in the event parameter 7419 * {@link ArkUI_NodeEvent} object is {@link ArkUI_NodeComponentEvent}. \n 7420 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 7421 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 7422 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 7423 * 7424 */ 7425 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 7426 7427 /** 7428 * @brief Defines the event triggered when matching with the regular expression specified by 7429 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 7430 * 7431 \n 7432 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7433 * {@link ArkUI_StringAsyncEvent}. \n 7434 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7435 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 7436 * 7437 */ 7438 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 7439 /** 7440 * @brief This callback is triggered when the text content is scrolled. 7441 * 7442 \n 7443 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7444 * {@link ArkUI_NodeComponentEvent}. \n 7445 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7446 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 7447 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 7448 * the text in the content area. \n 7449 * 7450 */ 7451 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 7452 /** 7453 * @brief Defines the event triggered when text is about to be entered. 7454 * 7455 * The event parameter is {@link ArkUI_NodeEvent}. \n 7456 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7457 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7458 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7459 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7460 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 7461 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7462 */ 7463 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 7464 /** 7465 * @brief Defines the event triggered when text is entered. 7466 * 7467 * The event parameter is {@link ArkUI_NodeEvent}. \n 7468 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7469 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7470 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7471 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7472 */ 7473 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 7474 /** 7475 * @brief Defines the event triggered when text is about to be deleted. 7476 * 7477 * The event parameter is {@link ArkUI_NodeEvent}. \n 7478 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 7479 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7480 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7481 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7482 * forward-delete. \n 7483 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7484 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7485 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 7486 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7487 */ 7488 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 7489 /** 7490 * @brief Defines the event triggered when text is deleted. 7491 * 7492 * The event parameter is {@link ArkUI_NodeEvent}. \n 7493 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 7494 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7495 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7496 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7497 * forward-delete. \n 7498 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7499 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7500 */ 7501 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 7502 /** 7503 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextInput</b> 7504 * component. 7505 * 7506 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7507 * {@link ArkUI_TextChangeEvent} contains the following parameters:\n 7508 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 7509 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 7510 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 7511 * 7512 * @since 16 7513 */ 7514 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 7515 7516 /** 7517 * @brief Defines the event triggered before content changes. 7518 * 7519 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7520 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7521 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 7522 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 7523 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 7524 * 7525 * @since 20 7526 */ 7527 NODE_TEXT_INPUT_ON_WILL_CHANGE = 7014, 7528 7529 /** 7530 * @brief Defines the event triggered when the input in the text box changes. 7531 * 7532 \n 7533 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7534 * {@link ArkUI_StringAsyncEvent}. \n 7535 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7536 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 7537 * 7538 */ 7539 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 7540 /** 7541 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 7542 * long pressed, is clicked. 7543 * 7544 \n 7545 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7546 * {@link ArkUI_StringAsyncEvent}. \n 7547 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7548 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 7549 * 7550 */ 7551 NODE_TEXT_AREA_ON_PASTE, 7552 /** 7553 * @brief Defines the event triggered when the text selection position changes. 7554 * 7555 \n 7556 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7557 * {@link ArkUI_NodeComponentEvent}. \n 7558 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7559 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 7560 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 7561 * 7562 */ 7563 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 7564 /** 7565 * @brief Defines the event triggered when matching with the regular expression specified by 7566 * <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails. 7567 * 7568 * \n 7569 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7570 * {@link ArkUI_StringAsyncEvent}. \n 7571 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 7572 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 7573 * 7574 */ 7575 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 7576 /** 7577 * @brief This callback is triggered when the text content is scrolled. 7578 * 7579 * \n 7580 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7581 * {@link ArkUI_NodeComponentEvent}. \n 7582 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7583 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 7584 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 7585 * the text in the content area. \n 7586 * 7587 */ 7588 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 7589 7590 /** 7591 * @brief Defines the event triggered when the input status changes. 7592 * 7593 * \n 7594 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 7595 * {@link ArkUI_NodeComponentEvent}. \n 7596 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7597 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that TextInput is in progress. \n 7598 * 7599 */ 7600 NODE_TEXT_AREA_ON_EDIT_CHANGE, 7601 7602 /** 7603 * @brief Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box. 7604 * 7605 * This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>. \n 7606 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 7607 * {@link ArkUI_NodeComponentEvent}. \n 7608 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7609 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key. 7610 * 7611 */ 7612 NODE_TEXT_AREA_ON_SUBMIT, 7613 7614 /** 7615 * @brief This event is triggered when the input content of TextArea changes. 7616 * 7617 * Conditions for triggering this event: When the input content changes. \n 7618 * When the event callback occurs, the union type in the event parameter {@link ArkUI_NodeEvent} object is \n 7619 * {@link ArkUI_NodeComponentEvent}.\n 7620 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 7621 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 7622 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 7623 * 7624 */ 7625 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 7626 /** 7627 * @brief Defines the event triggered when text is about to be entered. 7628 * 7629 * The event parameter is {@link ArkUI_NodeEvent}. \n 7630 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7631 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7632 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7633 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7634 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 7635 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7636 */ 7637 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 7638 /** 7639 * @brief Defines the event triggered when text is entered. 7640 * 7641 * The event parameter is {@link ArkUI_NodeEvent}. \n 7642 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7643 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7644 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7645 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7646 */ 7647 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 7648 /** 7649 * @brief Defines the event triggered when text is about to be deleted. 7650 * 7651 * The event parameter is {@link ArkUI_NodeEvent}. \n 7652 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 7653 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7654 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7655 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7656 * forward-delete. \n 7657 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7658 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7659 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 7660 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7661 */ 7662 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 7663 /** 7664 * @brief Defines the event triggered when text is deleted. 7665 * 7666 * The event parameter is {@link ArkUI_NodeEvent}. \n 7667 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 7668 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7669 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7670 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7671 * forward-delete. \n 7672 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7673 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7674 */ 7675 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 7676 /** 7677 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextArea</b> 7678 * component. 7679 * 7680 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7681 * {@link ArkUI_TextChangeEvent} contains the following parameters:\n 7682 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 7683 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 7684 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 7685 * 7686 * @since 16 7687 */ 7688 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 7689 /** 7690 * @brief Defines the event triggered before content changes 7691 * 7692 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7693 * {@link ArkUI_TextChangeEvent} contains the following parameters: \n 7694 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 7695 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 7696 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 7697 * 7698 * @since 20 7699 */ 7700 NODE_TEXT_AREA_ON_WILL_CHANGE = 8013, 7701 /** 7702 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 7703 * 7704 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7705 * {@link ArkUI_NodeComponentEvent}. \n 7706 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 7707 */ 7708 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 7709 7710 /** 7711 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 7712 * 7713 \n 7714 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7715 * {@link ArkUI_NodeComponentEvent}. \n 7716 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7717 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 7718 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 7719 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 7720 */ 7721 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 7722 7723 /** 7724 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 7725 * 7726 \n 7727 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7728 * {@link ArkUI_NodeComponentEvent}. \n 7729 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7730 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 7731 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 7732 */ 7733 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 7734 7735 /** 7736 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 7737 * 7738 \n 7739 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7740 * {@link ArkUI_NodeComponentEvent}. \n 7741 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7742 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7743 */ 7744 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 7745 7746 /** 7747 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 7748 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 7749 * 7750 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7751 * {@link ArkUI_NodeComponentEvent}. \n 7752 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7753 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7754 * 7755 * @since 14 7756 */ 7757 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 7758 7759 /** 7760 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 7761 * 7762 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7763 * {@link ArkUI_NodeComponentEvent}. \n 7764 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 7765 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 7766 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 7767 */ 7768 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 7769 7770 /** 7771 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 7772 * 7773 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7774 * {@link ArkUI_NodeComponentEvent}. \n 7775 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7776 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 7777 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 7778 */ 7779 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 7780 7781 /** 7782 * @brief Defines the event triggered when the <b>ARKUI_NODE_RADIO</b> component is dragged or clicked. 7783 * 7784 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7785 * {@link ArkUI_NodeComponentEvent}. \n 7786 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7787 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: status of the radio button. \n 7788 */ 7789 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 7790 7791 /** 7792 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 7793 * or checkbox changes. 7794 * 7795 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7796 * {@link ArkUI_StringAsyncEvent}. \n 7797 * <b>ArkUI_StringAsyncEvent.pStr</b> 7798 * Name: The names of the selected checkboxes; 7799 * Status: 7800 * 0: All checkboxes are selected. 7801 * 1: Some checkboxes are selected. 7802 * 2: No checkboxes are selected. \n 7803 * 7804 * @since 15 7805 */ 7806 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 7807 7808 /** 7809 * @brief Defines the event triggered when the index of the currently displayed element of this 7810 * <b>ARKUI_NODE_SWIPER</b> instance changes. 7811 * 7812 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7813 * {@link ArkUI_NodeComponentEvent}. \n 7814 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7815 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7816 */ 7817 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 7818 7819 /** 7820 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 7821 * 7822 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7823 * {@link ArkUI_NodeComponentEvent}. \n 7824 * {@link ArkUI_NodeComponentEvent} contains five parameters:\n 7825 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7826 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 7827 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 7828 * start position of the swiper along the main axis. \n 7829 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 7830 * of the swiper along the main axis. \n 7831 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 7832 */ 7833 NODE_SWIPER_EVENT_ON_ANIMATION_START, 7834 7835 /** 7836 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 7837 * 7838 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7839 * {@link ArkUI_NodeComponentEvent}. \n 7840 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7841 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7842 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7843 * start position of the swiper along the main axis. \n 7844 */ 7845 NODE_SWIPER_EVENT_ON_ANIMATION_END, 7846 7847 /** 7848 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 7849 * <b>ARKUI_NODE_SWIPER</b> instance. 7850 * 7851 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7852 * {@link ArkUI_NodeComponentEvent}. \n 7853 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7854 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7855 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7856 * start position of the swiper along the main axis. \n 7857 */ 7858 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 7859 7860 /** 7861 * @brief Defines the event triggered when content in the swiper component scrolls. 7862 * Instructions:\n 7863 * 1. This API does not work when {@link ArkUI_SwiperDisplayModeType} is set to 7864 * <b>ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR</b>. \n 7865 * 2. This API does not work when <b>prevMargin</b> and <b>nextMargin</b> are set in such a way that the 7866 * swiper frontend and backend display the same page during loop playback. \n 7867 * 3. During page scrolling, the </b>ContentDidScrollCallback</b> callback is invoked for all pages in the viewport 7868 * on a frame-by-frame basis. \n 7869 * For example, when there are two pages whose subscripts are 0 and 1 in the viewport, two callbacks whose indexes 7870 * are 0 and 1 are invoked in each frame. \n 7871 * 4. When the </b>swipeByGroup</b> parameter of the </b>displayCount</b> attribute is set to </b>true</b>, 7872 * the callback is invoked for all pages in a group if any page in the group is within the viewport. \n \n 7873 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7874 * {@link ArkUI_NodeComponentEvent}. \n 7875 * {@link ArkUI_NodeComponentEvent} contains four parameters:\n 7876 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the swiper component, which is the same as the index in the 7877 * <b>onChange</b> event. \n 7878 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of a page in the viewport. \n 7879 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: position of the page relative to the start position of the swiper 7880 * main axis (start position of the page corresponding to <b>selectedIndex</b>). \n 7881 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: length of the page in the main axis direction. \n 7882 */ 7883 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 7884 7885 /** 7886 * @brief Defines the event triggered when a new <b>ARKUI_NODE_SWIPER</b> instance becomes selected. 7887 * Animation is not necessarily complete. 7888 * 7889 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7890 * {@link ArkUI_NodeComponentEvent}. \n 7891 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7892 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes selected. \n 7893 */ 7894 NODE_SWIPER_EVENT_ON_SELECTED, 7895 7896 /** 7897 * @brief Defines the event triggered when a new <b>ARKUI_NODE_SWIPER</b> instance becomes unselected. 7898 * Animation is not necessarily complete. 7899 * 7900 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7901 * {@link ArkUI_NodeComponentEvent}. \n 7902 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7903 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected. \n 7904 */ 7905 NODE_SWIPER_EVENT_ON_UNSELECTED = 1001006, 7906 7907 /** 7908 * @brief Defines the event triggered when content in the swiper component will scroll. 7909 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 7910 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7911 * {@link ArkUI_NodeComponentEvent}. \n 7912 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7913 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 7914 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 7915 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 7916 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 7917 * slide forward(e.g. from index=0 to index=1). \n 7918 */ 7919 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 7920 7921 /** 7922 * @brief Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event. 7923 * This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging, 7924 * during the animation phase after the user lifts their finger, or upon stopping of scrolling. 7925 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7926 * {@link ArkUI_NodeComponentEvent}. \n 7927 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7928 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is 7929 * {@link ArkUI_ScrollState}. \n 7930 * 7931 * @since 20 7932 */ 7933 NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED = 1001008, 7934 7935 /** 7936 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 7937 * 7938 * Notes for triggering the event:\n 7939 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7940 * settings, such as keyboard and mouse operations. \n 7941 * 2. Scrolling can be initiated by calling the controller API. \n 7942 * 3. The out-of-bounds bounce effect is supported. \n 7943 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7944 * {@link ArkUI_NodeComponentEvent}. \n 7945 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7946 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 7947 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 7948 */ 7949 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 7950 /** 7951 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 7952 * 7953 * Notes for triggering the event:\n 7954 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7955 * settings, such as keyboard and mouse operations. \n 7956 * 2. This event is not triggered when the controller API is called. \n 7957 * 3. This event does not support the out-of-bounds bounce effect. \n 7958 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7959 * {@link ArkUI_NodeComponentEvent}. \n 7960 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7961 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 7962 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 7963 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 7964 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 7965 * needs to scroll based on the real-world situation and return the result in this parameter. \n 7966 */ 7967 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 7968 /** 7969 * @brief Defines the event triggered when the container is about to scroll. 7970 * 7971 * Notes for triggering the event:\n 7972 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7973 * settings, such as keyboard and mouse operations. \n 7974 * 2. Scrolling can be initiated by calling the controller API. \n 7975 * 3. The out-of-bounds bounce effect is supported. \n 7976 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7977 * {@link ArkUI_NodeComponentEvent}. \n 7978 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7979 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when 7980 * the content is scrolled left and negative when the content is scrolled right. \n 7981 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when 7982 * the content is scrolled up and negative when the content is scrolled down. \n 7983 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. 7984 * The parameter type is {@link ArkUI_ScrollState}. \n 7985 */ 7986 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 7987 /** 7988 * @brief Defines the event triggered when the container scrolls. 7989 * 7990 * Notes for triggering the event:\n 7991 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7992 * settings, such as keyboard and mouse operations. \n 7993 * 2. Scrolling can be initiated by calling the controller API. \n 7994 * 3. The out-of-bounds bounce effect is supported. \n 7995 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7996 * {@link ArkUI_NodeComponentEvent}. \n 7997 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7998 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 7999 * content is scrolled left and negative when the content is scrolled right. \n 8000 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 8001 * content is scrolled up and negative when the content is scrolled down. \n 8002 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. The parameter type is 8003 * {@link ArkUI_ScrollState}. \n 8004 */ 8005 NODE_SCROLL_EVENT_ON_DID_SCROLL, 8006 /** 8007 * @brief Defines the event triggered when the container starts scrolling. 8008 * 8009 * Notes for triggering the event:\n 8010 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 8011 * and mouse operations. \n 8012 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 8013 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8014 * {@link ArkUI_NodeComponentEvent}. \n 8015 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8016 */ 8017 NODE_SCROLL_EVENT_ON_SCROLL_START, 8018 /** 8019 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 8020 * 8021 * Notes for triggering the event:\n 8022 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 8023 * settings, such as keyboard and mouse operations. \n 8024 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 8025 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8026 * {@link ArkUI_NodeComponentEvent}. \n 8027 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8028 */ 8029 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 8030 /** 8031 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 8032 * one of the edges. 8033 * 8034 * Notes for triggering the event:\n 8035 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 8036 * component or other input settings, such as keyboard and mouse operations. \n 8037 * 2. Scrolling can be initiated by calling the controller API. \n 8038 * 3. The out-of-bounds bounce effect is supported. \n 8039 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8040 * {@link ArkUI_NodeComponentEvent}. \n 8041 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 8042 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 8043 */ 8044 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 8045 /** 8046 * @brief Define that a callback is triggered 8047 * when the scrolling container component reaches the start position. 8048 * Condition for triggering the event:\n 8049 * Triggered when the component reaches the start position. \n 8050 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 8051 * {@Link ArkUI_NodeComponentEvent}. \n 8052 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 8053 */ 8054 NODE_SCROLL_EVENT_ON_REACH_START, 8055 /** 8056 * @brief Define that a callback is triggered when the scrolling container component ends. \n 8057 * Condition for triggering the event:\n 8058 * Triggered when the component reaches the end. \n 8059 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8060 * {@Link ArkUI_NodeComponentEvent}. \n 8061 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 8062 */ 8063 NODE_SCROLL_EVENT_ON_REACH_END, 8064 /** 8065 * @brief Defines the callback for when the user is about to release the drag on the scrollable container component. 8066 * 8067 * Notes for triggering the event:\n 8068 * This event is triggered when the user is about to release the drag on the scrollable container component. \n 8069 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8070 * is {@link ArkUI_NodeComponentEvent}. \n 8071 * {@link ArkUI_NodeComponentEvent} contains two parameters: \n 8072 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp. \n 8073 * 8074 * @since 20 8075 */ 8076 NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING, 8077 /** 8078 * @brief Defines the callback for the <b>Scroll</b> component's zoom event, 8079 * triggered at the end of each frame during zooming. \n 8080 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8081 * is {@link ArkUI_NodeComponentEvent}. \n 8082 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8083 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale. \n 8084 * 8085 * @since 20 8086 */ 8087 NODE_SCROLL_EVENT_ON_DID_ZOOM, 8088 /** 8089 * @brief Defines the callback for the <b>Scroll</b> component's zoom start event, 8090 * triggered when zooming begins. \n 8091 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8092 * is {@link ArkUI_NodeComponentEvent}. \n 8093 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8094 * 8095 * @since 20 8096 */ 8097 NODE_SCROLL_EVENT_ON_ZOOM_START, 8098 /** 8099 * @brief Defines the callback for the <b>Scroll</b> component's zoom end event, 8100 * triggered when zooming ends. \n 8101 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object 8102 * is {@link ArkUI_NodeComponentEvent}. \n 8103 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 8104 * 8105 * @since 20 8106 */ 8107 NODE_SCROLL_EVENT_ON_ZOOM_STOP, 8108 8109 /** 8110 * @brief Defines the event triggered when a child component enters or leaves the list display area. 8111 * 8112 * Notes for triggering the event:\n 8113 * This event is triggered once when the list is initialized and when the index of the first child component or the 8114 * next child component in the list display area changes. \n 8115 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8116 * {@link ArkUI_NodeComponentEvent}. \n 8117 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 8118 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 8119 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the list display area. \n 8120 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the center child component in the list display area. \n 8121 */ 8122 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 8123 /** 8124 * @brief Defines the event triggered when the list is about to scroll. 8125 * 8126 * Notes for triggering the event:\n 8127 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 8128 * settings, such as keyboard and mouse operations. \n 8129 * 2. Scrolling can be initiated by calling the controller API. \n 8130 * 3. The out-of-bounds bounce effect is supported. \n 8131 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8132 * {@link ArkUI_NodeComponentEvent}. \n 8133 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 8134 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 8135 * is scrolled up and negative when the list is scrolled down. \n 8136 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 8137 */ 8138 NODE_LIST_ON_WILL_SCROLL, 8139 /** 8140 * @brief Defines the event triggered when the list scrolls. 8141 * 8142 * Notes for triggering the event:\n 8143 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 8144 * settings, such as keyboard and mouse operations. \n 8145 * 2. Scrolling can be initiated by calling the controller API. \n 8146 * 3. The out-of-bounds bounce effect is supported. \n 8147 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8148 * {@link ArkUI_NodeComponentEvent}. \n 8149 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 8150 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 8151 * is scrolled up and negative when the list is scrolled down. \n 8152 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 8153 */ 8154 NODE_LIST_ON_DID_SCROLL, 8155 8156 /** 8157 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 8158 * 8159 * Notes for triggering the event:\n 8160 * This event is triggered once when the list is initialized and when the index of the first child component or the 8161 * next child component in the list display area changes. 8162 * During index calculation, the list item, header of the list item group, and footer of the list item group each 8163 * are counted as a child component. \n 8164 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8165 * {@link ArkUI_NodeComponentEvent}. \n 8166 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 8167 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 8168 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 8169 * The type is {@link ArkUI_ListItemGroupArea}. \n 8170 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 8171 * in the list item group. 8172 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 8173 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: index of the last child component in the list display area. \n 8174 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: area in the list item group where the list display area ends. 8175 * The type is {@link ArkUI_ListItemGroupArea}. \n 8176 * <b>ArkUI_NodeComponentEvent.data[6].i32</b>: index of the list item at the end of the list display area in the 8177 * list item group. 8178 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 8179 * 8180 * @since 15 8181 */ 8182 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 8183 8184 /** 8185 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 8186 * 8187 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8188 * {@link ArkUI_NodeComponentEvent}. \n 8189 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8190 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 8191 */ 8192 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 8193 /** 8194 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 8195 * 8196 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8197 * {@link ArkUI_NodeComponentEvent}. \n 8198 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 8199 */ 8200 NODE_REFRESH_ON_REFRESH, 8201 /** 8202 * @brief Defines the event triggered when the pull-down distance of <b>ARKUI_NODE_REFRESH</b> changes. 8203 * 8204 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8205 * {@link ArkUI_NodeComponentEvent}. \n 8206 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 8207 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: pull-down distance. \n 8208 */ 8209 NODE_REFRESH_ON_OFFSET_CHANGE = 1009002, 8210 8211 /** 8212 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 8213 * 8214 * Notes for triggering the event:\n 8215 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 8216 * input settings, such as keyboard and mouse operations. \n 8217 * 2. Scrolling can be initiated by calling the controller API. \n 8218 * 3. The out-of-bounds bounce effect is supported. \n 8219 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8220 * {@link ArkUI_NodeComponentEvent}. \n 8221 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 8222 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 8223 * component is scrolled up and negative when the component is scrolled down. \n 8224 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 8225 */ 8226 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 8227 /** 8228 * @brief Defines the event triggered when the water flow container scrolls. 8229 * 8230 * Notes for triggering the event:\n 8231 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 8232 * settings, such as keyboard and mouse operations. \n 8233 * 2. Scrolling can be initiated by calling the controller API. \n 8234 * 3. The out-of-bounds bounce effect is supported. \n 8235 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 8236 * {@link ArkUI_NodeComponentEvent}. \n 8237 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 8238 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 8239 * content is scrolled up and negative when the content is scrolled down. \n 8240 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 8241 */ 8242 NODE_WATER_FLOW_ON_DID_SCROLL, 8243 /** 8244 * @brief Defines the enumerated values of the event triggered, 8245 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 8246 * Condition for triggering the event:\n 8247 * This event is triggered when the index value of the first or last subcomponent \n 8248 * in the waterfall display area changes. \n 8249 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 8250 * {@Link ArkUI_NodeComponentEvent}. \n 8251 * {@Link ArkUI_NodeComponentEvent} contains three parameters:\n 8252 * ArkUI_NodeComponentEvent.data[0].i32: The index value of \n 8253 * the start position of the currently displayed WaterFlow. \n 8254 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 8255 * the end position of the currently displayed waterfall. \n 8256 */ 8257 NODE_WATER_FLOW_ON_SCROLL_INDEX, 8258 8259 /** 8260 * @brief 定义帧动画开始的状态回调。 8261 * 8262 * 触发该事件的条件:\n 8263 * 1、帧动画开始播放时。\n 8264 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 8265 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 8266 * 8267 */ 8268 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 8269 /** 8270 * @brief 定义帧动画播放暂停时的状态回调。 8271 * 8272 * 触发该事件的条件:\n 8273 * 1、帧动画暂停播放时。\n 8274 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 8275 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 8276 * 8277 */ 8278 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 8279 /** 8280 * @brief 定义帧动画c重复播放时的状态回调。 8281 * 8282 * 触发该事件的条件:\n 8283 * 1、帧动画重复播放时。\n 8284 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 8285 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 8286 * 8287 */ 8288 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 8289 /** 8290 * @brief 定义帧动画返回最初状态时的状态回调。 8291 * 8292 * 触发该事件的条件:\n 8293 * 1、帧动画返回最初状态时。\n 8294 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 8295 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 8296 * 8297 */ 8298 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 8299 /** 8300 * @brief 定义帧动画播放完成时或者停止播放时的状态回调。 8301 * 8302 * 触发该事件的条件:\n 8303 * 1、帧动画播放完成时或停止播放时。\n 8304 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 8305 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 8306 * 8307 */ 8308 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 8309 } ArkUI_NodeEventType; 8310 8311 /** 8312 * @brief Defines the common structure type of a component event. 8313 * 8314 * @since 12 8315 */ 8316 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 8317 8318 /** 8319 * @brief Obtains the type of a component event. 8320 * 8321 * @param event Indicates the pointer to the component event. 8322 * @return Returns the type of the component event. 8323 * @since 12 8324 */ 8325 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 8326 8327 /** 8328 * @brief Obtains the custom ID of a component event. 8329 * 8330 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 8331 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 8332 * 8333 * @param event Indicates the pointer to the component event. 8334 * @return Returns the custom ID of the component event. 8335 * @since 12 8336 */ 8337 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 8338 8339 /** 8340 * @brief Obtains the component object that triggers a component event. 8341 * 8342 * @param event Indicates the pointer to the component event. 8343 * @return Returns the component object that triggers the component event. 8344 * @since 12 8345 */ 8346 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 8347 8348 /** 8349 * @brief Obtains input event (for example, touch event) data for a component event. 8350 * 8351 * @param event Indicates the pointer to the component event. 8352 * @return Returns the pointer to the input event data. 8353 * @since 12 8354 */ 8355 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 8356 8357 /** 8358 * @brief Obtains the numerical data in a component event. 8359 * 8360 * @param event Indicates the pointer to the component event. 8361 * @return Returns the pointer to the numerical data. 8362 * @since 12 8363 */ 8364 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 8365 8366 /** 8367 * @brief Obtains the string data in a component event. 8368 * 8369 * @param event Indicates the pointer to the component event. 8370 * @return Returns the pointer to the string data. 8371 * @since 12 8372 */ 8373 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 8374 8375 /** 8376 * @brief 获取ArkUI_TextChangeEvent的数据。 8377 * 8378 * @param event ArkUI_NodeEvent的指针,不应为空。 8379 * @return 返回ArkUI_TextChangeEvent对象的指针。 8380 * @since 16 8381 */ 8382 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 8383 8384 /** 8385 * @brief Obtains the custom data in a component event. 8386 * 8387 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 8388 * is triggered. 8389 * 8390 * @param event Indicates the pointer to the component event. 8391 * @return Returns the pointer to the custom data. 8392 * @since 12 8393 */ 8394 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 8395 8396 /** 8397 * @brief 获取组件回调事件的数字类型参数。 8398 * 8399 * @param event 组件事件指针。 8400 * @param index 返回值索引。 8401 * @param value 具体返回值。 8402 * @return 错误码。 8403 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8404 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中参数长度超限。 8405 * @since 12 8406 */ 8407 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 8408 8409 /** 8410 * @brief 获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。 8411 * 8412 * @param event 组件事件指针。 8413 * @param index 返回值索引。 8414 * @param string 字符串数组的指针。 8415 * @param stringSize 字符串数组的长度。 8416 * @return 错误码。 8417 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8418 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} 组件事件中参数长度超限。 8419 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中不存在该数据。 8420 * @since 12 8421 */ 8422 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 8423 8424 /** 8425 * @brief 设置组件回调事件的返回值。 8426 * 8427 * @param event 组件事件指针。 8428 * @param value 事件数字类型数组。 8429 * @param size 数组长度。 8430 * @return 错误码。 8431 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8432 * @since 12 8433 */ 8434 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 8435 8436 /** 8437 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 8438 * 8439 * @since 12 8440 */ 8441 typedef enum { 8442 /** 8443 * @brief Remeasure. 8444 * 8445 * When this type of flag is specified, re-layout is triggered by default. 8446 */ 8447 NODE_NEED_MEASURE = 1, 8448 8449 /** Re-layout. */ 8450 NODE_NEED_LAYOUT, 8451 /** Re-rendering. */ 8452 NODE_NEED_RENDER, 8453 } ArkUI_NodeDirtyFlag; 8454 8455 /** 8456 * @brief Defines the custom component event type. 8457 * 8458 * @since 12 8459 */ 8460 typedef enum { 8461 /** Measure type. */ 8462 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 8463 /** Layout type. */ 8464 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 8465 /** Draw type. */ 8466 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 8467 /** Foreground type. */ 8468 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 8469 /** Overlay type. */ 8470 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 8471 /** Draw front type. */ 8472 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT = 1 << 5, 8473 /** Draw behind type. */ 8474 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND = 1 << 6, 8475 } ArkUI_NodeCustomEventType; 8476 8477 /** 8478 * @brief Defines the general structure of a custom component event. 8479 * 8480 * @since 12 8481 */ 8482 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 8483 8484 /** 8485 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 8486 * 8487 * @since 12 8488 */ 8489 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 8490 8491 /** 8492 * @brief Defines the component adapter event. 8493 * 8494 * @since 12 8495 */ 8496 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 8497 8498 /** 8499 * @brief Enumerates component adapter events. 8500 * 8501 * @since 12 8502 */ 8503 typedef enum { 8504 /** This event occurs when the component is attached to the adapter. */ 8505 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 8506 /** This event occurs when the component is detached from the adapter. */ 8507 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 8508 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 8509 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 8510 /** This event occurs when the adapter obtains the content of the new element to add. */ 8511 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 8512 /** This event occurs when the adapter removes an element. */ 8513 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 8514 } ArkUI_NodeAdapterEventType; 8515 8516 /** 8517 * @brief Creates a component adapter. 8518 * 8519 * @since 12 8520 */ 8521 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(void); 8522 8523 /** 8524 * @brief Destroys a component adapter. 8525 * 8526 * @param handle Indicates the target component adapter. 8527 * @since 12 8528 */ 8529 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 8530 8531 /** 8532 * @brief Sets the total number of elements in the specified adapter. 8533 * 8534 * @param handle Indicates the target component adapter. 8535 * @param size Indicates the number of elements. 8536 * @return Returns the error code. 8537 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8538 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8539 * @since 12 8540 */ 8541 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 8542 8543 /** 8544 * @brief Obtains the total number of elements in the specified adapter. 8545 * 8546 * @param handle Indicates the target component adapter. 8547 * @return Returns the total number of elements in the adapter. 8548 * @since 12 8549 */ 8550 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 8551 8552 /** 8553 * @brief Registers an event callback for the adapter. 8554 * 8555 * @param handle Indicates the target component adapter. 8556 * @param userData Indicates custom data. 8557 * @param receiver Indicates the event receiver callback. 8558 * @return Returns the error code. 8559 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8560 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8561 * @since 12 8562 */ 8563 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 8564 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 8565 8566 /** 8567 * @brief Deregisters an event callback for the adapter. 8568 * 8569 * @param handle Indicates the target component adapter. 8570 * @since 12 8571 */ 8572 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 8573 8574 /** 8575 * @brief Instructs the specified adapter to reload all elements. 8576 * 8577 * @param handle Indicates the target component adapter. 8578 * @return Returns the error code. 8579 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8580 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8581 * @since 12 8582 */ 8583 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 8584 8585 /** 8586 * @brief Instructs the specified adapter to reload certain elements. 8587 * 8588 * @param handle Indicates the target component adapter. 8589 * @param startPosition Indicates the start position of the elements to reload. 8590 * @param itemCount Indicates the number of the elements to reload. 8591 * @return Returns the error code. 8592 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8593 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8594 * @since 12 8595 */ 8596 int32_t OH_ArkUI_NodeAdapter_ReloadItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8597 8598 /** 8599 * @brief Instructs the specified adapter to remove certain elements. 8600 * 8601 * @param handle Indicates the target component adapter. 8602 * @param startPosition Indicates the start position of the elements to remove. 8603 * @param itemCount Indicates the number of the elements to remove. 8604 * @return Returns the error code. 8605 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8606 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8607 * @since 12 8608 */ 8609 int32_t OH_ArkUI_NodeAdapter_RemoveItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8610 8611 /** 8612 * @brief Instructs the specified adapter to insert certain elements. 8613 * 8614 * @param handle Indicates the target component adapter. 8615 * @param startPosition Indicates the start position of the elements to insert. 8616 * @param itemCount Indicates the number of the elements to insert. 8617 * @return Returns the error code. 8618 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8619 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8620 * @since 12 8621 */ 8622 int32_t OH_ArkUI_NodeAdapter_InsertItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 8623 8624 /** 8625 * @brief Instructs the specified adapter to move certain elements. 8626 * 8627 * @param handle Indicates the target component adapter. 8628 * @param from Indicates the start position of the elements to move. 8629 * @param to Indicates the end position of the elements to move. 8630 * @return Returns the error code. 8631 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8632 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8633 * @since 12 8634 */ 8635 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 8636 8637 /** 8638 * @brief Obtains all elements stored in the specified adapter. 8639 * 8640 * This API returns the pointer to the array of the elements. You need to manually release the memory data 8641 * to which the pointer points. 8642 * 8643 * @param handle Indicates the target component adapter. 8644 * @param items Indicates the pointer to the array of the elements in the adapter. 8645 * @param size Indicates the number of elements. 8646 * @return Returns the error code. 8647 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8648 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8649 * @since 12 8650 */ 8651 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 8652 8653 /** 8654 * @brief Obtains the custom data passed in during registration of the specified event. 8655 * 8656 * @param event Indicates the target adapter event. 8657 * @since 12 8658 */ 8659 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 8660 8661 /** 8662 * @brief Obtains the event type. 8663 * 8664 * @param event Indicates the target adapter event. 8665 * @return Returns the event type. 8666 * @since 12 8667 */ 8668 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 8669 8670 /** 8671 * @brief Obtains the element to be removed for the event to be destroyed. 8672 * 8673 * @param event Indicates the target adapter event. 8674 * @return Returns the element to be removed. 8675 * @since 12 8676 */ 8677 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 8678 8679 /** 8680 * @brief Obtains the index of the element to be operated for the specified adapter event. 8681 * 8682 * @param event Indicates the target adapter event. 8683 * @return Returns the index of the element. 8684 * @since 12 8685 */ 8686 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 8687 8688 /** 8689 * @brief Obtains the scrollable container node that uses the specified adapter. 8690 * 8691 * @param event Indicates the target adapter event. 8692 * @return Returns the error code. 8693 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8694 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8695 * @since 12 8696 */ 8697 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 8698 8699 /** 8700 * @brief Sets the component to be added to the specified adapter. 8701 * 8702 * @param event Indicates the target adapter event. 8703 * @param node Indicates the component to be added. 8704 * @return Returns the error code. 8705 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8706 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8707 * @since 12 8708 */ 8709 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 8710 8711 /** 8712 * @brief Sets the component ID to be generated. 8713 * 8714 * @param event Indicates the target adapter event. 8715 * @param id Indicates the component ID to set. 8716 * @return Returns the error code. 8717 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8718 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8719 * @since 12 8720 */ 8721 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 8722 8723 /** 8724 * @brief Declares a collection of native node APIs provided by ArkUI. 8725 * 8726 * The APIs related to the native node must be called in the main thread. 8727 * 8728 * @version 1 8729 * @since 12 8730 */ 8731 typedef struct { 8732 /** Struct version. */ 8733 int32_t version; 8734 8735 /** 8736 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 8737 * 8738 * @param type Indicates the type of component to create. 8739 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 8740 */ 8741 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 8742 8743 /** 8744 * @brief Destroys the component to which the specified pointer points. 8745 * 8746 * @param node Indicates the pointer. 8747 */ 8748 void (*disposeNode)(ArkUI_NodeHandle node); 8749 8750 /** 8751 * @brief Adds a component to a parent node. 8752 * 8753 * @param parent Indicates the pointer to the parent node. 8754 * @param child Indicates the pointer to the child node. 8755 * @return Returns the error code. 8756 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8757 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8758 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8759 * on BuilderNode generated nodes: 8760 * setting or resetting attributes, setting events, or adding or editing subnodes. 8761 */ 8762 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8763 8764 /** 8765 * @brief Removes a component from its parent node. 8766 * 8767 * @param parent Indicates the pointer to the parent node. 8768 * @param child Indicates the pointer to the child node. 8769 * @return Returns the error code. 8770 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8771 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8772 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8773 * on BuilderNode generated nodes: 8774 * setting or resetting attributes, setting events, or adding or editing subnodes. 8775 */ 8776 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8777 8778 /** 8779 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 8780 * 8781 * @param parent Indicates the pointer to the parent node. 8782 * @param child Indicates the pointer to the child node. 8783 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 8784 * If the value is null, the node is inserted at the start of the parent node. 8785 * @return Returns the error code. 8786 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8787 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8788 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8789 * on BuilderNode generated nodes: 8790 * setting or resetting attributes, setting events, or adding or editing subnodes. 8791 */ 8792 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8793 8794 /** 8795 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 8796 * 8797 * @param parent Indicates the pointer to the parent node. 8798 * @param child Indicates the pointer to the child node. 8799 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 8800 * If the value is null, the node is inserted at the end of the parent node. 8801 * @return Returns the error code. 8802 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8803 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8804 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8805 * on BuilderNode generated nodes: 8806 * setting or resetting attributes, setting events, or adding or editing subnodes. 8807 */ 8808 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8809 8810 /** 8811 * @brief Inserts a component to the specified position in a parent node. 8812 * 8813 * @param parent Indicates the pointer to the parent node. 8814 * @param child Indicates the pointer to the child node. 8815 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 8816 * negative number or invalid, the node is inserted at the end of the parent node. 8817 * @return Returns the error code. 8818 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8819 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8820 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8821 * on BuilderNode generated nodes: 8822 * setting or resetting attributes, setting events, or adding or editing subnodes. 8823 */ 8824 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 8825 8826 /** 8827 * @brief Sets the attribute of a node. 8828 * 8829 * @param node Indicates the node whose attribute needs to be set. 8830 * @param attribute Indicates the type of attribute to set. 8831 * @param item Indicates the attribute value. 8832 * @return Returns the error code. 8833 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8834 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8835 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8836 * of the native API was not found. 8837 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8838 * on BuilderNode generated nodes: 8839 * setting or resetting attributes, setting events, or adding or editing subnodes. 8840 */ 8841 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 8842 8843 /** 8844 * @brief Obtains an attribute. 8845 * 8846 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 8847 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 8848 * time. Otherwise, the pointer may be overwritten by other values. 8849 * 8850 * @param node Indicates the node whose attribute needs to be obtained. 8851 * @param attribute Indicates the type of attribute to obtain. 8852 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 8853 */ 8854 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8855 8856 /** 8857 * @brief Resets an attribute. 8858 * 8859 * @param node Indicates the node whose attribute needs to be reset. 8860 * @param attribute Indicates the type of attribute to reset. 8861 * @return Returns the error code. 8862 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8863 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8864 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8865 * of the native API was not found. 8866 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8867 * on BuilderNode generated nodes: 8868 * setting or resetting attributes, setting events, or adding or editing subnodes. 8869 */ 8870 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8871 8872 /** 8873 * @brief Registers an event for the specified node. 8874 * 8875 * @param node Indicates the target node. 8876 * @param eventType Indicates the type of event to register. 8877 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 8878 * when the event is triggered. 8879 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 8880 * when the event is triggered. 8881 * @return Returns the error code. 8882 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8883 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8884 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8885 * of the native API was not found. 8886 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8887 * on BuilderNode generated nodes: 8888 * setting or resetting attributes, setting events, or adding or editing subnodes. 8889 */ 8890 int32_t (*registerNodeEvent)( 8891 ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, int32_t targetId, void* userData); 8892 8893 /** 8894 * @brief Unregisters an event for the specified node. 8895 * 8896 * @param node Indicates the target node. 8897 * @param eventType Indicates the type of event to unregister. 8898 */ 8899 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 8900 8901 /** 8902 * @brief Registers an event receiver. 8903 * 8904 * The ArkUI framework collects component events generated during the process and calls back the events through 8905 * the registered event receiver. \n 8906 * A new call to this API will overwrite the previously registered event receiver. \n 8907 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the callback 8908 * is complete. \n 8909 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 8910 * 8911 * @param eventReceiver Indicates the event receiver to register. 8912 */ 8913 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 8914 8915 /** 8916 * @brief Unregisters the event receiver. 8917 * 8918 */ 8919 void (*unregisterNodeEventReceiver)(); 8920 8921 /** 8922 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 8923 * 8924 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 8925 * measuring, layout, or rendering again. In this case, you do not need to call this API. 8926 * 8927 * @param node Indicates the node for which you want to mark as dirty area. 8928 * @param dirtyFlag Indicates type of dirty area. 8929 */ 8930 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 8931 8932 /** 8933 * @brief Obtains the number of subnodes. 8934 * 8935 * @param node Indicates the target node. 8936 * @return Returns the error code. 8937 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8938 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8939 */ 8940 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 8941 8942 /** 8943 * @brief Obtains a subnode. 8944 * 8945 * @param node Indicates the target node. 8946 * @param position Indicates the position of the subnode. 8947 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8948 */ 8949 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 8950 8951 /** 8952 * @brief Obtains the first subnode. 8953 * 8954 * @param node Indicates the target node. 8955 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8956 */ 8957 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 8958 8959 /** 8960 * @brief Obtains the last subnode. 8961 * 8962 * When the component is being displayed, this API must be called in the main thread. 8963 * 8964 * @param node Indicates the target node. 8965 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8966 */ 8967 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 8968 8969 /** 8970 * @brief Obtains the previous sibling node. 8971 * 8972 * @param node Indicates the target node. 8973 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8974 */ 8975 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 8976 8977 /** 8978 * @brief Obtains the next sibling node. 8979 * 8980 * @param node Indicates the target node. 8981 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8982 */ 8983 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 8984 8985 /** 8986 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 8987 * point function registered by <b>registerNodeCustomEventReceiver</b>. 8988 * 8989 * @param node Indicates the target node. 8990 * @param eventType Indicates the type of event to register. 8991 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 8992 * when the event is triggered. 8993 * @param userData Indicates the custom event parameter, which is passed in the callback of 8994 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 8995 * @return Returns the error code. 8996 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8997 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8998 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8999 * of the native API was not found. 9000 */ 9001 int32_t (*registerNodeCustomEvent)( 9002 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 9003 9004 /** 9005 * @brief Unregisters a custom event for a node. 9006 * 9007 * @param node Indicates the target node. 9008 * @param eventType Indicates the type of event to unregister. 9009 */ 9010 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 9011 9012 /** 9013 * @brief Registers a unified entry point function for custom node event callbacks. 9014 * 9015 * The ArkUI framework collects custom component events generated during the process and calls back the events 9016 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 9017 * A new call to this API will overwrite the previously registered event receiver. 9018 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 9019 * The data will be destroyed after the callback is complete. \n 9020 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 9021 * 9022 * @param eventReceiver Indicates the event receiver to register. 9023 */ 9024 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9025 9026 /** 9027 * @brief Unregisters the unified entry point function for custom node event callbacks. 9028 * 9029 */ 9030 void (*unregisterNodeCustomEventReceiver)(); 9031 9032 /** 9033 * @brief Sets the width and height for a component after the measurement. 9034 * 9035 * @param node Indicates the target node. 9036 * @param width Indicates the width. 9037 * @param height Indicates the height. 9038 * @return Returns the error code. 9039 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9040 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9041 */ 9042 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 9043 9044 /** 9045 * @brief Sets the position for a component. 9046 * 9047 * @param node Indicates the target node. 9048 * @param positionX Indicates the X coordinate. 9049 * @param positionY Indicates the Y coordinate. 9050 * @return Returns the error code. 9051 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9052 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9053 */ 9054 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 9055 9056 /** 9057 * @brief Obtains the width and height of a component after measurement. 9058 * 9059 * @param node Indicates the target node. 9060 * @return Returns the width and height of the component. 9061 */ 9062 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 9063 9064 /** 9065 * @brief Obtains the position of a component after the layout is complete. 9066 * 9067 * @param node Indicates the target node. 9068 * @return Returns the position of the component. 9069 */ 9070 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 9071 9072 /** 9073 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 9074 * 9075 * @param node Indicates the target node. 9076 * @param Constraint Indicates the size constraint. 9077 * @return Returns the error code. 9078 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9079 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9080 */ 9081 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 9082 9083 /** 9084 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 9085 * 9086 * @param node Indicates the target node. 9087 * @param positionX Indicates the X coordinate. 9088 * @param positionY Indicates the Y coordinate. 9089 * @return Returns the error code. 9090 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9091 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9092 */ 9093 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 9094 9095 /** 9096 * @brief Adds a component event callback function to a component to receive component events generated 9097 * by the component. 9098 * 9099 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 9100 * receivers to be added to the same component. \n 9101 * The callback added by this API is triggered before the global callback registered by 9102 * <b>registerNodeEventReceiver</b>. \n 9103 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 9104 * The data will be destroyed after the callback is complete. \n 9105 * 9106 * @param node Indicates the component for which you want to add the event callback function. 9107 * @param eventReceiver Indicates the component event callback function to add. 9108 * @return Returns the error code. 9109 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9110 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9111 */ 9112 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 9113 9114 /** 9115 * @brief Removes the registered component event callback function from a component. 9116 * 9117 * @param node Indicates the component from which you want to remove the event callback function. 9118 * @param eventReceiver Indicates the component event callback function to remove. 9119 * @return Returns the error code. 9120 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9121 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9122 */ 9123 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 9124 9125 /** 9126 * @brief Adds a custom event callback function to a component to receive custom events 9127 * (such as layout and drawing events) generated by the component. 9128 * 9129 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 9130 * multiple event receivers to be added to the same component. \n 9131 * The callback added by this API is triggered before the global callback registered by 9132 * <b>registerNodeCustomEventReceiver</b>. \n 9133 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 9134 * The data will be destroyed after the callback is complete. \n 9135 * 9136 * @param node Indicates the component for which you want to add the custom event callback function. 9137 * @param eventReceiver Indicates the custom event callback function to add. 9138 * @return Returns the error code. 9139 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9140 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9141 */ 9142 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9143 9144 /** 9145 * @brief Removes a registered custom event callback function from a component. 9146 * 9147 * @param node Indicates the component from which you want to remove the custom event callback function. 9148 * @param eventReceiver Indicates the custom event callback function to remove. 9149 * @return Returns the error code. 9150 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9151 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9152 */ 9153 int32_t (*removeNodeCustomEventReceiver)( 9154 ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 9155 9156 /** 9157 * @brief Saves custom data on the specified component. 9158 * 9159 * @param node Indicates the component on which the custom data will be saved. 9160 * @param userData Indicates the custom data to be saved. 9161 * @return Returns the error code. 9162 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9163 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9164 */ 9165 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 9166 9167 /** 9168 * @brief Obtains the custom data saved on the specified component. 9169 * 9170 * @param node Indicates the target component. 9171 * @return Returns the custom data. 9172 */ 9173 void* (*getUserData)(ArkUI_NodeHandle node); 9174 9175 /** 9176 * @brief Sets the unit for a component. 9177 * 9178 * @param node Indicates the component for which you want to set the unit. 9179 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 9180 * @return Returns the error code. 9181 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9182 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9183 */ 9184 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 9185 9186 /** 9187 * @brief Obtains the parent node. 9188 * 9189 * @param node Indicates the target node. 9190 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 9191 */ 9192 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 9193 9194 /** 9195 * @brief Remove all child nodes from the parent component. 9196 * 9197 * @param parent target node object. 9198 * @return Returns the error code. 9199 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9200 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9201 * @since 12 9202 */ 9203 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 9204 } ArkUI_NativeNodeAPI_1; 9205 9206 /** 9207 * @brief Obtains the size constraint for measurement through a custom component event. 9208 * 9209 * @param event Indicates the pointer to the custom component event. 9210 * @return Returns the pointer to the size constraint. 9211 * @since 12 9212 */ 9213 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 9214 9215 /** 9216 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 9217 * custom component event. 9218 * 9219 * @param event Indicates the pointer to the custom component event. 9220 * @return Returns the expected position relative to the parent component. 9221 * @since 12 9222 */ 9223 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 9224 9225 /** 9226 * @brief Obtains the drawing context through a custom component event. 9227 * 9228 * @param event Indicates the pointer to the custom component event. 9229 * @return Returns the drawing context. 9230 * @since 12 9231 */ 9232 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 9233 9234 /** 9235 * @brief Obtains the ID of a custom component event. 9236 * 9237 * @param event Indicates the pointer to the custom component event. 9238 * @return Returns the ID of the custom component event. 9239 * @since 12 9240 */ 9241 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 9242 9243 /** 9244 * @brief Obtains custom event parameters through a custom component event. 9245 * 9246 * @param event Indicates the pointer to the custom component event. 9247 * @return Returns the custom event parameters. 9248 * @since 12 9249 */ 9250 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 9251 9252 /** 9253 * @brief Obtains a component object through a custom component event. 9254 * 9255 * @param event Indicates the pointer to the custom component event. 9256 * @return Returns the component object. 9257 * @since 12 9258 */ 9259 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 9260 9261 /** 9262 * @brief Obtains the event type through a custom component event. 9263 * 9264 * @param event Indicates the pointer to the custom component event. 9265 * @return Returns the type of the custom component event. 9266 * @since 12 9267 */ 9268 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 9269 9270 /** 9271 * @brief 通过自定义组件事件获取自定义段落组件的测量信息。 9272 * 9273 * @param event 自定义组件事件。 9274 * @param info 需要获取的测量信息。 9275 * @return 错误码。 9276 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 9277 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 9278 * @since 12 9279 */ 9280 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 9281 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 9282 9283 /** 9284 * @brief 通过自定义组件事件设置自定义段落的度量指标。 9285 * 9286 * @param event 自定义组件事件。 9287 * @param metrics 需要获取的度量指标信息。 9288 * @return 错误码。 9289 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 9290 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 9291 * @since 12 9292 */ 9293 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 9294 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 9295 9296 /** 9297 * @brief 通过自定义组件事件获取自定义段落组件的绘制信息。 9298 * 9299 * @param event 自定义组件事件。 9300 * @param event 需要获取的绘制信息。 9301 * @return 错误码。 9302 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 9303 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 9304 * @since 12 9305 */ 9306 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 9307 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 9308 9309 /** 9310 * @brief Adds a component to a node content. 9311 * 9312 * @param content Indicates the pointer to the node content instance. 9313 * @param node Indicates the pointer to the node. 9314 * @return Returns 0 if success. 9315 * Returns 401 if a parameter exception occurs. 9316 * @since 12 9317 */ 9318 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 9319 9320 /** 9321 * @brief Adds a component to a node content. 9322 * 9323 * @param content Indicates the pointer to the node content instance. 9324 * @param node Indicates the pointer to the node. 9325 * @return Returns 0 if success. 9326 * Returns 401 if a parameter exception occurs. 9327 * @since 12 9328 */ 9329 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 9330 9331 /** 9332 * @brief Removes a component from a node content. 9333 * 9334 * @param content Indicates the pointer to the node content. 9335 * @param node Indicates the pointer to the node. 9336 * @return Returns 0 if success. 9337 * Returns 401 if a parameter exception occurs. 9338 * @since 12 9339 */ 9340 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 9341 9342 /** 9343 * @brief Defines the node content event type. 9344 * 9345 * @since 12 9346 */ 9347 typedef enum { 9348 /** Defines the mount event. */ 9349 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 9350 /** Defines the unmount event. */ 9351 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 9352 } ArkUI_NodeContentEventType; 9353 9354 9355 /** 9356 * @brief Enumerates the inspector error codes. 9357 * @since 15 9358 */ 9359 typedef enum { 9360 /** 9361 * @error Success. 9362 */ 9363 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 9364 /** 9365 * @error Invalid parameter. 9366 */ 9367 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 9368 } ArkUI_InspectorErrorCode; 9369 9370 /** 9371 * @brief Defines the general structure of a node content event. 9372 * 9373 * @since 12 9374 */ 9375 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 9376 9377 /** 9378 * @brief Defines the node content event callback function. 9379 * 9380 * @since 12 9381 */ 9382 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 9383 9384 /** 9385 * @brief Register a callback for this <b>ArkUI_NodeContentHandle</b> instance. 9386 * 9387 * @param content Indicates the <b>ArkUI_NodeContentHandle</b> instance. 9388 * @param callback Indicates the callback of <b>ArkUI_NodeContentHandle</b> 9389 * @return Returns the status code 9390 * @since 12 9391 */ 9392 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 9393 9394 /** 9395 * @brief Obtains the type of a node content. 9396 * 9397 * @param event Indicates the pointer to the node content. 9398 * @return Returns the type of the node content. 9399 * @since 12 9400 */ 9401 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 9402 9403 /** 9404 * @brief Obtains the node content object that triggers a node content event. 9405 * 9406 * @param event Indicates the pointer to the node content event. 9407 * @return Returns the node content object that triggers the node content event. 9408 * @since 12 9409 */ 9410 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 9411 9412 /** 9413 * @brief Saves custom data on the specified node content. 9414 * 9415 * @param content Indicates the node content on which the custom data will be saved. 9416 * @param userData Indicates the custom data to be saved. 9417 * @return Returns the error code. 9418 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9419 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9420 * @since 12 9421 */ 9422 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 9423 9424 /** 9425 * @brief Obtains the custom data saved on the specified node content. 9426 * 9427 * @param content Indicates the target node content. 9428 * @return Returns the custom data. 9429 * @since 12 9430 */ 9431 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 9432 9433 /** 9434 * @brief Get the size of the component layout area. 9435 * The layout area size does not include graphic variation attributes such as scaling. 9436 * 9437 * @param node ArkUI_NodeHandle pointer. 9438 * @param size The drawing area size of the component handle, in px. 9439 * @return Error code. 9440 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9441 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9442 * @since 12 9443 */ 9444 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 9445 9446 /** 9447 * @brief Obtain the position of the component layout area relative to the parent component. 9448 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9449 * 9450 * @param node ArkUI_NodeHandle pointer. 9451 * @param localOffset The offset value of the component handle relative to the parent component, in px. 9452 * @return Error code. 9453 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9454 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9455 * @since 12 9456 */ 9457 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 9458 9459 /** 9460 * @brief Obtain the position of the component layout area relative to the window. 9461 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9462 * 9463 * @param node ArkUI_NodeHandle pointer. 9464 * @param globalOffset The offset value of the component handle relative to the window, in px. 9465 * @return Error code. 9466 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9467 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9468 * @since 12 9469 */ 9470 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9471 9472 /** 9473 * @brief Obtain the position of the component layout area relative to the screen. 9474 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9475 * 9476 * @param node ArkUI_NodeHandle pointer. 9477 * @param screenOffset The offset value of the component handle relative to the screen, in px. 9478 * @return Error code. 9479 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9480 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9481 * @since 12 9482 */ 9483 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 9484 9485 /** 9486 * @brief Obtains the offset of a component relative to the global display. 9487 * The relative position does not count in transformation attributes, such as translate. 9488 * 9489 * @param node Pointer to the <b>ArkUI_NodeHandle</b> representing the component. 9490 * @param offset Offset of the component relative to the global display, in px. 9491 * @return Result code. 9492 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9493 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9494 * @since 20 9495 */ 9496 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(ArkUI_NodeHandle node, ArkUI_IntOffset* offset); 9497 9498 /** 9499 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 9500 * 9501 * @param node ArkUI_NodeHandle pointer. 9502 * @param translateOffset The cumulative offset value of the component handle itself, 9503 * parent components, and ancestor nodes, in px. 9504 * @return Error code. 9505 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9506 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9507 * @since 12 9508 */ 9509 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 9510 9511 /** 9512 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 9513 * 9514 * @param node ArkUI_NodeHandle pointer. 9515 * @param translateOffset The cumulative offset value of the component handle itself, 9516 * parent components, and ancestor nodes, in px. 9517 * @return Error code. 9518 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9519 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9520 * @since 12 9521 */ 9522 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 9523 9524 /** 9525 * @brief Add the custom property of the component. This interface only works on the main thread. 9526 * 9527 * @param node ArkUI_NodeHandle pointer. 9528 * @param name The name of the custom property. Passing null pointers is not allowed. 9529 * @param value The value of the custom property. Passing null pointers is not allowed. 9530 * @since 13 9531 */ 9532 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 9533 9534 /** 9535 * @brief Remove the custom property of the component. 9536 * 9537 * @param node ArkUI_NodeHandle pointer. 9538 * @param name The name of the custom property. 9539 * @since 13 9540 */ 9541 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 9542 9543 /** 9544 * @brief Get the value of the custom property of the component. 9545 * 9546 * @param node ArkUI-NodeHandle pointer. 9547 * @param name The name of the custom attribute. 9548 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 9549 * @return Error code. 9550 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9551 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9552 * @since 14 9553 */ 9554 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 9555 9556 /** 9557 * @brief Get the parent node to obtain the component nodes created by ArkTs. 9558 * 9559 * @param node Target node object. 9560 * @return Return the pointer of the component. 9561 * @since 14 9562 */ 9563 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 9564 9565 /** 9566 * @brief Retrieve all active child nodes of a node. Span and ImageSpan will not be counted in the children. 9567 * 9568 * @param head Pass in the node that needs to be obtained. 9569 * @param handle The structure corresponding to the sub node information of the head node. 9570 * @return Error code. 9571 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9572 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9573 * @since 14 9574 */ 9575 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 9576 9577 /** 9578 * @brief Retrieve the root node of the current page. 9579 * 9580 * @param node Target node object. 9581 * @return Return the pointer of the component. 9582 * @since 14 9583 */ 9584 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 9585 9586 /** 9587 * @brief Retrieve whether the component is labeled by C-API. 9588 * 9589 * @param node Target node object. 9590 * @return Return whether the node is a Tag created by C-API, 9591 * true represents created by C-API, false represents not created by C-API. 9592 * @since 14 9593 */ 9594 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 9595 9596 /** 9597 * @brief Get the type of node. 9598 * 9599 * @param node Target node object. 9600 * @return Return the type of the node. 9601 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 9602 * @since 14 9603 */ 9604 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 9605 9606 /** 9607 * @brief Get the node handle by id. This interface only works on the main thread. 9608 * 9609 * @param id The id of the target node handle. 9610 * @param node The handle of target node handle. 9611 * @return Error code. 9612 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9613 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9614 * @since 15 9615 */ 9616 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 9617 9618 /** 9619 * @brief Get the node handle by uniqueId. 9620 * 9621 * @param uniqueId The uniqueId of the target node handle. 9622 * @param node The handle of target node handle. 9623 * @return Error code. 9624 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9625 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9626 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9627 * @since 20 9628 */ 9629 int32_t OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(const uint32_t uniqueId, ArkUI_NodeHandle* node); 9630 9631 /** 9632 * @brief Get the uniqueId of the target node handle. 9633 * 9634 * @param node The ArkUI-NodeHandle pointer. 9635 * @param uniqueId The uniqueId of the target node handle, default value is -1. 9636 * @return Error code. 9637 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9638 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9639 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9640 * @since 20 9641 */ 9642 int32_t OH_ArkUI_NodeUtils_GetNodeUniqueId(ArkUI_NodeHandle node, int32_t* uniqueId); 9643 9644 /** 9645 * @brief Get info of the window to which the node belongs. 9646 * 9647 * @param node Target node object. 9648 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 9649 * @return Error code. 9650 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9651 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9652 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 9653 * @since 15 9654 */ 9655 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 9656 9657 /** 9658 * @brief Move the node handle to target parent node as child. 9659 * 9660 * @param node The node handle of the node to move. 9661 * @param target_parent The node handle of target parent. 9662 * @param index Indicates the index which the node is moved to. If the value is a nagative number of invalid, the 9663 * node is moved to the end of the target parent node. 9664 * @return Error code. 9665 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9666 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9667 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9668 * @since 16 9669 */ 9670 int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index); 9671 9672 /** 9673 * @brief Triggers node updates in the current frame. 9674 * 9675 * When node attributes are modified after the current frame's build phase (i.e., after 9676 * the unified processing of dirty nodes), the node updates will be deferred to the next 9677 * frame. This function forces immediate node updates within the current frame to 9678 * ensure rendering effects are applied synchronously. 9679 * 9680 * @param node ArkUI_NodeHandle pointer. 9681 * @return Error code. 9682 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9683 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9684 * @since 21 9685 */ 9686 int32_t OH_ArkUI_NativeModule_InvalidateAttributes(ArkUI_NodeHandle node); 9687 9688 /** 9689 * @brief The event called when the sliding operation offset changes. 9690 * 9691 * @param node Indicates the target node. 9692 * @param userData Indicates the custom data to be saved. 9693 * @param onFinish Callback Events. 9694 * offset Slide offset. 9695 * @return Error code. 9696 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9697 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9698 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 9699 * @since 12 9700 */ 9701 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 9702 9703 /** 9704 * @brief Obtain the UIContext pointer to the page where the node is located. 9705 * 9706 * @param node The node. 9707 * @return The UIContext pointer. 9708 * If a null pointer is returned, it may be because the node is empty. 9709 * @since 12 9710 */ 9711 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 9712 9713 /** 9714 * @brief The event called when the system color mode changes. 9715 * Only one system color change callback can be registered for the same component. 9716 * 9717 * @param node Indicates the target node. 9718 * @param userData Indicates the custom data to be saved. 9719 * @param onColorModeChange Callback Events. 9720 * @return Error code. 9721 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9722 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9723 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 9724 * @since 12 9725 */ 9726 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent( 9727 ArkUI_NodeHandle node, void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 9728 9729 /** 9730 * @brief Unregister the event callback when the system color mode changes. 9731 * 9732 * @param node Indicates the target node. 9733 * @since 12 9734 */ 9735 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 9736 9737 /** 9738 * @brief The event called when the system font style changes. 9739 * Only one system font change callback can be registered for the same component. 9740 * 9741 * @param node Indicates the target node. 9742 * @param userData Indicates the custom data to be saved. 9743 * @param onFontStyleChange Callback Events. 9744 * @return Error code. 9745 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9746 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9747 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 9748 * @since 12 9749 */ 9750 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, void* userData, 9751 void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 9752 9753 /** 9754 * @brief Unregister the event callback when the system font style changes. 9755 * 9756 * @param node Indicates the target node. 9757 * @since 12 9758 */ 9759 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 9760 9761 /** 9762 * @brief Retrieve the font size value for system font change events. 9763 * 9764 * @param event Indicates a pointer to the current system font change event. 9765 * @return Updated system font size scaling factor. Default value: 1.0. 9766 * -1 indicates a retrieval error. 9767 * @since 12 9768 */ 9769 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 9770 9771 /** 9772 * @brief Retrieve the font thickness values for system font change events. 9773 * 9774 * @param event Indicates a pointer to the current system font change event. 9775 * @return The updated system font thickness scaling factor. Default value: 1.0. 9776 * -1 indicates a retrieval error. 9777 * @since 12 9778 */ 9779 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 9780 9781 /** 9782 * @brief Registers a callback for node when layout is completed. 9783 * 9784 * @param node Indicates the target node. 9785 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 9786 * @param onLayoutCompleted Indicates the function when layout completed is callback. 9787 * @return error code 9788 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9789 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9790 * @since 15 9791 */ 9792 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 9793 void* userData, void (*onLayoutCompleted)(void* userData)); 9794 9795 9796 /** 9797 * @brief Registers a callback for node when draw is completed. 9798 * 9799 * @param node Indicates the target node. 9800 * @param userData Indicates the custom data used in onDrawCompleted callback function. 9801 * @param onDrawCompleted Indicates the function when draw completed is callback. 9802 * @return error code 9803 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9804 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9805 * @since 15 9806 */ 9807 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 9808 void* userData, void (*onDrawCompleted)(void* userData)); 9809 9810 /** 9811 * @brief Unregisters the layout completed callback for node. 9812 * 9813 * @param node Indicates the target node. 9814 * @return error code 9815 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9816 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9817 * @since 15 9818 */ 9819 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 9820 9821 /** 9822 * @brief Unregisters the draw completed callback for node. 9823 * 9824 * @param node Indicates the target node. 9825 * @return error code 9826 * {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9827 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter is incorrect. 9828 * @since 15 9829 */ 9830 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 9831 9832 /** 9833 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 9834 * tree or is not rendered yet. 9835 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 9836 * 9837 * @param node Indicates the target node. 9838 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 9839 * @param pixelmap Pixelmap pointer created by system, it's the out result. 9840 * @return Returns the result code. 9841 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9842 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9843 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 9844 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 9845 * @since 15 9846 */ 9847 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 9848 OH_PixelmapNative** pixelmap); 9849 9850 /** 9851 * @brief Set the cross-language option of the target node handle. 9852 * 9853 * @param node The target node handle. 9854 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9855 * @return Error code. 9856 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9857 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9858 * @since 15 9859 */ 9860 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9861 9862 /** 9863 * @brief Get the cross-language option of the target node handle. 9864 * 9865 * @param node The target node handle. 9866 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9867 * @return Error code. 9868 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9869 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9870 * @since 15 9871 */ 9872 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9873 9874 /** 9875 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 9876 * 9877 * @param node Indicates the target node. 9878 * @param index The index of the subnode. 9879 * @return Error code. 9880 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9881 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9882 * @since 15 9883 */ 9884 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9885 9886 /** 9887 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 9888 * 9889 * @param node Indicates the target node. 9890 * @param index the index of the subnode. 9891 * @return Error code. 9892 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9893 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9894 * @since 15 9895 */ 9896 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9897 9898 /** 9899 * @brief Obtains a subnode by position with the expand mode. 9900 * 9901 * @param node Indicates the target node. 9902 * @param position Indicates the position of the subnode. 9903 * @param subnode The pointer to the subnode. 9904 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 9905 * @return Error code. 9906 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9907 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9908 * @since 15 9909 */ 9910 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 9911 ArkUI_NodeHandle* subnode, uint32_t expandMode); 9912 9913 /** 9914 * @brief Obtain the position of the component layout area relative to the window. 9915 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9916 * 9917 * @param node ArkUI_NodeHandle pointer. 9918 * @param globalOffset The offset value of the component handle relative to the window, in px. 9919 * @return Error code. 9920 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9921 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9922 * @since 15 9923 */ 9924 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9925 9926 /** 9927 * @brief Run a custom function inside the UIContext scope. 9928 * 9929 * @param uiContext ArkUI_ContextHandle. 9930 * @param userData Indicates the pointer to the custom data. 9931 * @param callback The custom function. 9932 * @return Returns the result code. 9933 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9934 * Returns {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 9935 * Returns {@link ARKUI_ERROR_CODE_UI_CONTEXT_INVALID} if the uiContext is invalid. 9936 * Returns {@link ARKUI_ERROR_CODE_CALLBACK_INVALID} if the callback function is invalid. 9937 * @since 20 9938 */ 9939 int32_t OH_ArkUI_RunTaskInScope(ArkUI_ContextHandle uiContext, void* userData, void(*callback)(void* userData)); 9940 9941 9942 /** 9943 * @brief Adds the polymorphic style states supported by the component. To handle states efficiently, specify the 9944 * states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed. 9945 * - You can adjust the UI style based on the current state within the callback. If this API is called multiple 9946 * times on the same node, the last set of states and handler will take precedence. 9947 * - Some component types have default system handling for certain states. For example, the <b>Button</b> 9948 * component has a default style effect for the PRESSED state. When custom state handling is implemented on such 9949 * components, the default style effect will be applied first, followed by the custom style changes, resulting in 9950 * a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed 9951 * by the system implementation. 9952 * - And when this API is called, the provided handler function will be executed immediately. 9953 * - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered, 9954 * the system will automatically notify your application when the state changes back to NORMAL. 9955 * 9956 * @param node Target node. 9957 * @param uiStates Target UI states to be handled on the node. 9958 * The combined result of all target UI states can be calculated using the <b>|</b> operator. 9959 * Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>. 9960 * @param statesChangeHandler Handler for UI state changes. 9961 * It returns the current UI status. The value is the result of combining all current state enum values using the 9962 * <b>|</b> operator. You can determine the state using the <b>&</b> operator. 9963 * Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b> 9964 * However, for checking the normal state, use the equality operator directly. 9965 * Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>. 9966 * @param excludeInner Whether to disable the default state styles. 9967 * @param userData Custom data used in the <b>onDrawCompleted</b> callback. 9968 * @return Returns the result code. 9969 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9970 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. * @since 20 9971 */ 9972 ArkUI_ErrorCode OH_ArkUI_AddSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates, 9973 void (statesChangeHandler)(int32_t currentStates, void* userData), bool excludeInner, void* userData); 9974 9975 /** 9976 * @brief Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b> 9977 * are removed, the registered <b>stateChangeHandler</b> will no longer be executed. 9978 * 9979 * @param node Target node. 9980 * @param uiStates Target UI states to be removed. 9981 * @return Returns the result code. 9982 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9983 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9984 * @since 20 9985 */ 9986 ArkUI_ErrorCode OH_ArkUI_RemoveSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates); 9987 9988 /** 9989 * @brief Post UI task to background threads. 9990 * 9991 * @param context UIContext pointer of the page where the UI task located. 9992 * @param asyncUITaskData Parameter of asyncUITask and onFinish. 9993 * @param asyncUITask Function executed by a background thread. 9994 * @param onFinish Function executed by UI thread after async UI task is executed. 9995 * @return Returns the result code. 9996 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9997 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9998 * @since 20 9999 */ 10000 int32_t OH_ArkUI_PostAsyncUITask(ArkUI_ContextHandle context, void* asyncUITaskData, 10001 void (*asyncUITask)(void* asyncUITaskData), void (*onFinish)(void* asyncUITaskData)); 10002 10003 /** 10004 * @brief Post UI task to UI thread. 10005 * 10006 * @param context UIContext pointer of the page where the UI task located. 10007 * @param taskData Parameter of task. 10008 * @param task Function executed by UI thread. 10009 * @return Returns the result code. 10010 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 10011 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 10012 * @since 20 10013 */ 10014 int32_t OH_ArkUI_PostUITask(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData)); 10015 10016 /** 10017 * @brief Post UI task to UI thread and wait until UI task finished. 10018 * 10019 * @param context UIContext pointer of the page where the UI task located. 10020 * @param taskData Parameter of task. 10021 * @param task Function executed by UI thread. 10022 * @return Returns the result code. 10023 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 10024 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 10025 * @since 20 10026 */ 10027 int32_t OH_ArkUI_PostUITaskAndWait(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData)); 10028 10029 /** 10030 * @brief Sets the inverse color algorithm for components and instances. 10031 * 10032 * @param uiContext Indicates the context in which the inverse color feature should take effect. If the value is null, 10033 * the feature applies to the entire application process. 10034 * @param forceDark Indicates whether the inverse color feature is enabled. 10035 * @param nodeType Indicates the component type for which to enable the inverse color feature. If the value is null, 10036 * enabling the feature for all components. 10037 * @param colorInvertFunc Indicates the user-defined inverse color algorithm. 10038 * @return Returns the error code. 10039 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 10040 * Returns {@link ERROR_CODE_CAPI_INIT_ERROR} if CAPI init error. 10041 Returns {@link ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID} if force dark config is invalid. 10042 * @since 20 10043 */ 10044 int32_t OH_ArkUI_SetForceDarkConfig(ArkUI_ContextHandle uiContext, bool forceDark, ArkUI_NodeType nodeType, 10045 uint32_t (*colorInvertFunc)(uint32_t color)); 10046 10047 #ifdef __cplusplus 10048 } 10049 #endif 10050 10051 #endif // ARKUI_NATIVE_NODE_H 10052 /** @}*/ 10053