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