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 * @since 12 34 */ 35 36 #ifndef ARKUI_NATIVE_NODE_H 37 #define ARKUI_NATIVE_NODE_H 38 39 #include "native_type.h" 40 #include "ui_input_event.h" 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 #define MAX_NODE_SCOPE_NUM 1000 47 48 /** 49 * @brief Enumerates ArkUI component types that can be created on the native side. 50 * 51 * @since 12 52 */ 53 typedef enum { 54 /** Custom node. */ 55 ARKUI_NODE_CUSTOM = 0, 56 /** Text. */ 57 ARKUI_NODE_TEXT = 1, 58 /** Text span. */ 59 ARKUI_NODE_SPAN = 2, 60 /** Image span. */ 61 ARKUI_NODE_IMAGE_SPAN = 3, 62 /** Image. */ 63 ARKUI_NODE_IMAGE = 4, 64 /** Toggle. */ 65 ARKUI_NODE_TOGGLE = 5, 66 /** Loading icon. */ 67 ARKUI_NODE_LOADING_PROGRESS = 6, 68 /** Single-line text input. */ 69 ARKUI_NODE_TEXT_INPUT = 7, 70 /** Multi-line text input. */ 71 ARKUI_NODE_TEXT_AREA = 8, 72 /** Button. */ 73 ARKUI_NODE_BUTTON = 9, 74 /** Progress indicator. */ 75 ARKUI_NODE_PROGRESS = 10, 76 /** Check box. */ 77 ARKUI_NODE_CHECKBOX = 11, 78 /** XComponent. */ 79 ARKUI_NODE_XCOMPONENT = 12, 80 /** Date picker. */ 81 ARKUI_NODE_DATE_PICKER = 13, 82 /** Time picker. */ 83 ARKUI_NODE_TIME_PICKER = 14, 84 /** Text picker. */ 85 ARKUI_NODE_TEXT_PICKER = 15, 86 /** Calendar picker. */ 87 ARKUI_NODE_CALENDAR_PICKER = 16, 88 /** Slider. */ 89 ARKUI_NODE_SLIDER = 17, 90 /** Radio button. */ 91 ARKUI_NODE_RADIO = 18, 92 /** Frame-by-frame animation component. */ 93 ARKUI_NODE_IMAGE_ANIMATOR = 19, 94 /** XComponent of type TEXTURE. 95 * @since 16 96 */ 97 ARKUI_NODE_XCOMPONENT_TEXTURE, 98 /** Check box group. 99 * @since 15 100 */ 101 ARKUI_NODE_CHECKBOX_GROUP = 21, 102 /** Stack container. */ 103 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 104 /** Swiper. */ 105 ARKUI_NODE_SWIPER, 106 /** Scrolling container. */ 107 ARKUI_NODE_SCROLL, 108 /** List. */ 109 ARKUI_NODE_LIST, 110 /** List item. */ 111 ARKUI_NODE_LIST_ITEM, 112 /** List item group. */ 113 ARKUI_NODE_LIST_ITEM_GROUP, 114 /** Column container. */ 115 ARKUI_NODE_COLUMN, 116 /** Row container. */ 117 ARKUI_NODE_ROW, 118 /** Flex container. */ 119 ARKUI_NODE_FLEX, 120 /** Refresh component. */ 121 ARKUI_NODE_REFRESH, 122 /** Water flow container. */ 123 ARKUI_NODE_WATER_FLOW, 124 /** Water flow item. */ 125 ARKUI_NODE_FLOW_ITEM, 126 /** Relative layout component. */ 127 ARKUI_NODE_RELATIVE_CONTAINER, 128 /** Grid. */ 129 ARKUI_NODE_GRID, 130 /** Grid item. */ 131 ARKUI_NODE_GRID_ITEM, 132 /** Custom_Span. */ 133 ARKUI_NODE_CUSTOM_SPAN, 134 } ArkUI_NodeType; 135 136 /** 137 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 138 * 139 * @since 12 140 */ 141 typedef struct { 142 /** Numeric array. */ 143 const ArkUI_NumberValue* value; 144 /** Size of the numeric array. */ 145 int32_t size; 146 /** String type. */ 147 const char* string; 148 /** Object type. */ 149 void* object; 150 } ArkUI_AttributeItem; 151 152 /** 153 * @brief Defines the ArkUI style attributes that can be set on the native side. 154 * 155 * @since 12 156 */ 157 typedef enum { 158 /** 159 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 160 * 161 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 162 * .value[0].f32: width, in vp.\n 163 * \n 164 * Format of the return value {@link ArkUI_AttributeItem}:\n 165 * .value[0].f32: width, in vp.\n 166 * 167 */ 168 NODE_WIDTH = 0, 169 /** 170 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 171 * 172 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 173 * .value[0].f32: height, in vp.\n 174 * \n 175 * Format of the return value {@link ArkUI_AttributeItem}:\n 176 * .value[0].f32: height, in vp.\n 177 * 178 */ 179 NODE_HEIGHT, 180 /** 181 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 182 * 183 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 184 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 185 * \n 186 * Format of the return value {@link ArkUI_AttributeItem}:\n 187 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 188 * 189 */ 190 NODE_BACKGROUND_COLOR, 191 /** 192 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 193 * 194 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 195 * .string: image address;\n 196 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 197 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 198 * \n 199 * Format of the return value {@link ArkUI_AttributeItem}:\n 200 * .string: image address;\n 201 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 202 * 203 */ 204 NODE_BACKGROUND_IMAGE, 205 /** 206 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 207 * 208 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 209 * 1: Specify the same padding for the four directions. \n 210 * .value[0].f32: padding, in vp.\n 211 * 2: Specify different paddings for different directions. \n 212 * .value[0].f32: top padding, in vp.\n 213 * .value[1].f32: right padding, in vp.\n 214 * .value[2].f32: bottom padding, in vp.\n 215 * .value[3].f32: left padding, in vp.\n 216 * \n 217 * Format of the return value {@link ArkUI_AttributeItem}:\n 218 * .value[0].f32: top padding, in vp.\n 219 * .value[1].f32: right padding, in vp.\n 220 * .value[2].f32: bottom padding, in vp.\n 221 * .value[3].f32: left padding, in vp.\n 222 * 223 */ 224 NODE_PADDING, 225 /** 226 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 227 * 228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 229 * .string: component ID.\n 230 * \n 231 * Format of the return value {@link ArkUI_AttributeItem}:\n 232 * .string: component ID.\n 233 * 234 */ 235 NODE_ID, 236 /** 237 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 238 * 239 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 240 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means 241 * the opposite.\n 242 * \n 243 * Format of the return value {@link ArkUI_AttributeItem}:\n 244 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means 245 * the opposite. \n 246 * 247 */ 248 NODE_ENABLED, 249 /** 250 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 251 * 252 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 253 * 1: Specify the same margin for the four directions. \n 254 * .value[0].f32: margin, in vp.\n 255 * 2: Specify different margins for different directions. \n 256 * .value[0].f32: top margin, in vp.\n 257 * .value[1].f32: right margin, in vp.\n 258 * .value[2].f32: bottom margin, in vp.\n 259 * .value[3].f32: left margin, in vp.\n 260 * \n 261 * Format of the return value {@link ArkUI_AttributeItem}:\n 262 * .value[0].f32: top margin, in vp.\n 263 * .value[1].f32: right margin, in vp.\n 264 * .value[2].f32: bottom margin, in vp.\n 265 * .value[3].f32: left margin, in vp.\n 266 * 267 */ 268 NODE_MARGIN, 269 /** 270 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 271 * 272 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 273 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 274 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 275 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 276 * \n 277 * Format of the return value {@link ArkUI_AttributeItem}:\n 278 * .value[0].f32: distance to translate along the x-axis, in vp.\n 279 * .value[1].f32: distance to translate along the y-axis, in vp.\n 280 * .value[2].f32: distance to translate along the z-axis, in vp. \n 281 * 282 */ 283 NODE_TRANSLATE, 284 /** 285 * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs. 286 * 287 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 288 * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n 289 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 290 * \n 291 * Format of the return value {@link ArkUI_AttributeItem}:\n 292 * .value[0].f32: scale factor along the x-axis.\n 293 * .value[1].f32: scale factor along the y-axis. \n 294 * 295 */ 296 NODE_SCALE, 297 /** 298 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 299 * 300 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 301 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 302 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 303 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 304 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 305 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 306 * The default value is <b>0</b>. \n 307 * \n 308 * Format of the return value {@link ArkUI_AttributeItem}:\n 309 * .value[0].f32: X coordinate of the rotation axis vector.\n 310 * .value[1].f32: Y coordinate of the rotation axis vector.\n 311 * .value[2].f32: Z coordinate of the rotation axis vector.\n 312 * .value[3].f32: rotation angle.\n 313 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 314 * 315 */ 316 NODE_ROTATE, 317 /** 318 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 319 * 320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 321 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 322 * \n 323 * Format of the return value {@link ArkUI_AttributeItem}:\n 324 * .value[0].f32: brightness value. \n 325 * 326 */ 327 NODE_BRIGHTNESS, 328 /** 329 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 330 * 331 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 332 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50]. \n 333 * \n 334 * Format of the return value {@link ArkUI_AttributeItem}: \n 335 * .value[0].f32: saturation value. \n 336 * 337 */ 338 NODE_SATURATION, 339 /** 340 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 341 * 342 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 343 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 344 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 345 * \n 346 * Format of the return value {@link ArkUI_AttributeItem}:\n 347 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 348 * the image is not blurred. The unit is vp. \n 349 * 350 */ 351 NODE_BLUR, 352 /** 353 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 354 * 355 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 356 * .value[0].f32: start angle of the linear gradient. A positive value indicates a clockwise rotation from the 357 * origin, (0, 0). The default value is <b>180</b>.\n 358 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. 359 * The parameter type is {@link ArkUI_LinearGradientDirection}. \n 360 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 361 * .object: array of color stops, each of which consists of a color and its stop position. 362 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 363 * colors: colors of the color stops. \n 364 * stops: stop positions of the color stops. \n 365 * size: number of colors. \n 366 * \n 367 * Format of the return value {@link ArkUI_AttributeItem}:\n 368 * .value[0].f32: start angle of the linear gradient. \n 369 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 370 * .value[2].i32: whether the colors are repeated. \n 371 * .object: array of color stops, each of which consists of a color and its stop position. 372 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 373 * colors: colors of the color stops. \n 374 * stops: stop positions of the color stops. \n 375 * size: number of colors. \n 376 * 377 */ 378 NODE_LINEAR_GRADIENT, 379 /** 380 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 381 * 382 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 383 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 384 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 385 * \n 386 * Format of the return value {@link ArkUI_AttributeItem}:\n 387 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 388 * 389 */ 390 NODE_ALIGNMENT, 391 /** 392 * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs. 393 * 394 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 395 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 396 * \n 397 * Format of the return value {@link ArkUI_AttributeItem}:\n 398 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 399 * 400 */ 401 NODE_OPACITY, 402 /** 403 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 404 * 405 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 406 * 1: .value[0].f32: width of the four borders. \n 407 * 2: .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 * \n 412 * Format of the return value {@link ArkUI_AttributeItem}:\n 413 * .value[0].f32: width of the top border. \n 414 * .value[1].f32: width of the right border. \n 415 * .value[2].f32: width of the bottom border. \n 416 * .value[3].f32: width of the left border. \n 417 * 418 */ 419 NODE_BORDER_WIDTH, 420 /** 421 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 422 * 423 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 424 * 1: .value[0].f32: radius of the four corners. \n 425 * 2: .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 * \n 430 * Format of the return value {@link ArkUI_AttributeItem}:\n 431 * .value[0].f32: radius of the upper left corner. \n 432 * .value[1].f32: radius of the upper right corner. \n 433 * .value[2].f32: radius of the lower left corner. \n 434 * .value[3].f32: radius of the lower right corner. \n 435 * 436 */ 437 NODE_BORDER_RADIUS, 438 /** 439 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 440 * 441 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 442 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 443 * 2: .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 * \n 448 * Format of the return value {@link ArkUI_AttributeItem}:\n 449 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 450 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 451 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 452 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 453 * 454 */ 455 NODE_BORDER_COLOR, 456 /** 457 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 458 * 459 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 460 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 461 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 462 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 463 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 464 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 465 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 466 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 467 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 468 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 469 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 470 * \n 471 * Format of the return value {@link ArkUI_AttributeItem}:\n 472 * .value[0].i32: line style of the top border. \n 473 * .value[1].i32: line style of the right border. \n 474 * .value[2].i32: line style of the bottom border. \n 475 * .value[3].i32: line style of the left border. \n 476 * 477 */ 478 NODE_BORDER_STYLE, 479 /** 480 * @brief Defines the z-index attribute for the stack sequence. 481 * This attribute can be set, reset, and obtained as required through APIs. 482 * 483 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 484 * .value[0].f32: z-index value. \n 485 * \n 486 * Format of the return value {@link ArkUI_AttributeItem}:\n 487 * .value[0].f32: z-index value. \n 488 * 489 */ 490 NODE_Z_INDEX, 491 /** 492 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 493 * 494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 495 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 496 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 497 * \n 498 * Format of the return value {@link ArkUI_AttributeItem}:\n 499 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 500 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 501 * 502 */ 503 NODE_VISIBILITY, 504 /** 505 * @brief Defines the clip attribute, which can be set, reset, and obtained as required through APIs. 506 * 507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 508 * .value[0].i32: whether to clip the component based on the parent container bounds. 509 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 510 * \n 511 * Format of the return value {@link ArkUI_AttributeItem}:\n 512 * .value[0].i32: whether to clip the component based on the parent container bounds. 513 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 514 * 515 */ 516 NODE_CLIP, 517 /** 518 * @brief Defines the clipping region on the component. 519 * This attribute can be set and obtained as required through APIs. 520 * 521 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 522 * which supports five types of shapes:\n 523 * 1. Rectangle:\n 524 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 525 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 526 * .value[1].f32: width of the rectangle.\n 527 * .value[2].f32: height of rectangle.\n 528 * .value[3].f32: width of the rounded corner of the rectangle.\n 529 * .value[4].f32: height of the rounded corner of the rectangle.\n 530 * 2. Circle:\n 531 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 532 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 533 * .value[1].f32: width of the circle.\n 534 * .value[2].f32: height of the circle.\n 535 * 3. Ellipse:\n 536 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 537 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 538 * .value[1].f32: width of the ellipse.\n 539 * .value[2].f32: height of the ellipse.\n 540 * 4. Path:\n 541 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 542 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 543 * .value[1].f32: width of the path.\n 544 * .value[2].f32: height of the path.\n 545 * .string: command for drawing the path.\n 546 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 547 * 1. Rectangle:\n 548 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 549 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 550 * .value[1].f32: width of the rectangle.\n 551 * .value[2].f32: height of rectangle.\n 552 * .value[3].f32: width of the rounded corner of the rectangle.\n 553 * .value[4].f32: height of the rounded corner of the rectangle.\n 554 * 2. Circle:\n 555 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 556 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 557 * .value[1].f32: width of the circle.\n 558 * .value[2].f32: height of the circle.\n 559 * 3. Ellipse:\n 560 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 561 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 562 * .value[1].f32: width of the ellipse.\n 563 * .value[2].f32: height of the ellipse.\n 564 * 4. Path:\n 565 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 566 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 567 * .value[1].f32: width of the path.\n 568 * .value[2].f32: height of the path.\n 569 * .string: command for drawing the path.\n 570 * 571 */ 572 NODE_CLIP_SHAPE, 573 /** 574 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 575 * This attribute can be set, reset, and obtained as required through APIs. 576 * 577 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 578 * .data[0...15].f32: 16 floating-point numbers. \n 579 * \n 580 * Format of the return value {@link ArkUI_AttributeItem}:\n 581 * .data[0...15].f32: 16 floating-point numbers. \n 582 * 583 */ 584 NODE_TRANSFORM, 585 /** 586 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 587 * 588 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 589 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 590 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 591 * \n 592 * Format of the return value {@link ArkUI_AttributeItem}:\n 593 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 594 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 595 * 596 */ 597 NODE_HIT_TEST_BEHAVIOR, 598 /** 599 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 600 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 601 * 602 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 603 * .value[0].f32: X coordinate. \n 604 * .value[1].f32: Y coordinate. \n 605 * \n 606 * Format of the return value {@link ArkUI_AttributeItem}:\n 607 * .value[0].f32: X coordinate. \n 608 * .value[1].f32: Y coordinate. \n 609 * 610 */ 611 NODE_POSITION, 612 /** 613 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 614 * 615 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 616 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 617 * \n 618 * Format of the return value {@link ArkUI_AttributeItem}:\n 619 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 620 * 621 */ 622 NODE_SHADOW, 623 /** 624 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 625 * 626 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 627 * .value[0]?.f32: blur radius of the shadow, in vp.\n 628 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 629 * strategy, and <b>0</b> (default value) means the opposite.\n 630 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 631 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 632 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 633 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 634 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 635 * means the opposite.\n 636 * 637 * \n 638 * Format of the return value {@link ArkUI_AttributeItem}:\n 639 * .value[0].f32: blur radius of the shadow, in vp.\n 640 * .value[1].i32: whether to enable the coloring strategy. \n 641 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 642 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 643 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 644 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 645 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 646 * means the opposite.\n 647 * 648 */ 649 NODE_CUSTOM_SHADOW, 650 /** 651 * @brief Defines the background image width and height. 652 * This attribute can be set, reset, and obtained as required through APIs. 653 * 654 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 655 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 656 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 657 * \n 658 * Format of the return value {@link ArkUI_AttributeItem}:\n 659 * .value[0].f32: width of the image, in vp. \n 660 * .value[1].f32: height of the image, in vp. \n 661 * 662 */ 663 NODE_BACKGROUND_IMAGE_SIZE, 664 /** 665 * @brief Defines the background image size. 666 * This attribute can be set, reset, and obtained as required through APIs. 667 * 668 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 669 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 670 * \n 671 * Format of the return value {@link ArkUI_AttributeItem}:\n 672 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 673 * 674 */ 675 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 676 /** 677 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 678 * 679 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 680 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 681 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 682 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 683 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 684 * .value[4]?.f32: start boundary of grayscale blur. \n 685 * .value[5]?.f32: end boundary of grayscale blur. \n 686 * \n 687 * Format of the return value {@link ArkUI_AttributeItem}:\n 688 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 689 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 690 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 691 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 692 * .value[4].f32: start boundary of grayscale blur. \n 693 * .value[5].f32: end boundary of grayscale blur. \n 694 * 695 */ 696 NODE_BACKGROUND_BLUR_STYLE, 697 /** 698 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 699 * 700 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 701 * .value[0]?.f32: X coordinate of the center point, in vp.\n 702 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 703 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 704 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 705 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 706 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 707 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 708 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 709 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 710 * \n 711 * Format of the return value {@link ArkUI_AttributeItem}:\n 712 * .value[0].f32: X coordinate of the center point, in vp.\n 713 * .value[1].f32: Y coordinate of the center point, in vp.\n 714 * .value[2].f32: Z coordinate of the center point, in vp.\n 715 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 716 * returns the calculated value in vp. 717 * 718 */ 719 NODE_TRANSFORM_CENTER, 720 /** 721 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 722 * 723 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 724 * .value[0].f32: opacity values of the start and end points.\n 725 * .value[1].i32: animation duration, in milliseconds.\n 726 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 727 * .value[3]?.i32: animation delay duration, in milliseconds.\n 728 * .value[4]?.i32: number of times that the animation is played.\n 729 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 730 * .value[6]?.f32: animation playback speed.\n 731 * \n 732 * Format of the return value {@link ArkUI_AttributeItem}:\n 733 * .value[0].f32: opacity values of the start and end points.\n 734 * .value[1].i32: animation duration, in milliseconds.\n 735 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 736 * .value[3].i32: animation delay duration, in milliseconds. \n 737 * .value[4].i32: number of times that the animation is played. \n 738 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 739 * .value[6].f32: animation playback speed. \n 740 * 741 */ 742 NODE_OPACITY_TRANSITION, 743 /** 744 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 745 * 746 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 747 * .value[0].f32: X-component of the rotation vector. \n 748 * .value[1].f32: Y-component of the rotation vector. \n 749 * .value[2].f32: Z-component of the rotation vector \n 750 * .value[3].f32: angle. \n 751 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 752 * .value[5].i32: animation duration, in milliseconds. \n 753 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 754 * .value[7]?.i32: animation delay duration, in milliseconds. \n 755 * .value[8]?.i32: number of times that the animation is played. \n 756 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 757 * .value[10]?.f32: animation playback speed. \n 758 * \n 759 * Format of the return value {@link ArkUI_AttributeItem}:\n 760 * .value[0].f32: X-component of the rotation vector. \n 761 * .value[1].f32: Y-component of the rotation vector. \n 762 * .value[2].f32: Z-component of the rotation vector \n 763 * .value[3].f32: angle. \n 764 * .value[4].f32: line of sight. \n 765 * .value[5].i32: animation duration, in milliseconds. \n 766 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 767 * .value[7].i32: animation delay duration, in milliseconds. \n 768 * .value[8].i32: number of times that the animation is played. \n 769 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 770 * .value[10].f32: animation playback speed. \n 771 * 772 */ 773 NODE_ROTATE_TRANSITION, 774 /** 775 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 776 * 777 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 778 * .value[0].f32: scale factor along the x-axis. \n 779 * .value[1].f32: scale factor along the y-axis. \n 780 * .value[2].f32: scale factor along the z-axis. \n 781 * .value[3].i32: animation duration, in milliseconds. \n 782 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 783 * .value[5]?.i32: animation delay duration, in milliseconds. \n 784 * .value[6]?.i32: number of times that the animation is played. \n 785 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 786 * .value[8]?.f32: animation playback speed. \n 787 * \n 788 * Format of the return value {@link ArkUI_AttributeItem}:\n 789 * .value[0].f32: scale factor along the x-axis. \n 790 * .value[1].f32: scale factor along the y-axis. \n 791 * .value[2].f32: scale factor along the z-axis. \n 792 * .value[3].i32: animation duration, in milliseconds. \n 793 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 794 * .value[5].i32: animation delay duration, in milliseconds. \n 795 * .value[6].i32: number of times that the animation is played. \n 796 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 797 * .value[8].f32: animation playback speed. \n 798 * 799 */ 800 NODE_SCALE_TRANSITION, 801 /** 802 * @brief Defines the transition translation attribute. 803 * This attribute can be set, reset, and obtained as required through APIs. 804 * 805 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 806 * value[0].f32: translation distance along the x-axis, in vp.\n 807 * value[1].f32: translation distance along the y-axis, in vp.\n 808 * value[2].f32: translation distance along the z-axis, in vp.\n 809 * value[3].i32: animation duration, in milliseconds. \n 810 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 811 * value[5]?.i32: animation delay duration, in milliseconds. \n 812 * value[6]?.i32: number of times that the animation is played. \n 813 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 814 * value[8]?.f32: animation playback speed. \n 815 * \n 816 * Format of the return value {@link ArkUI_AttributeItem}:\n 817 * value[0].f32: translation distance along the x-axis, in vp.\n 818 * value[1].f32: translation distance along the y-axis, in vp.\n 819 * value[2].f32: translation distance along the z-axis, in vp.\n 820 * value[3].i32: animation duration, in milliseconds. \n 821 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 822 * value[5].i32: animation delay duration, in milliseconds. \n 823 * value[6].i32: number of times that the animation is played. \n 824 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 825 * value[8].f32: animation playback speed. \n 826 * 827 */ 828 NODE_TRANSLATE_TRANSITION, 829 /** 830 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 831 * This attribute can be set, reset, and obtained as required through APIs. 832 * 833 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 834 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 835 * .value[1].i32: animation duration, in milliseconds.\n 836 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 837 * .value[3]?.i32: animation delay duration, in milliseconds. \n 838 * .value[4]?.i32: number of times that the animation is played. \n 839 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 840 * .value[6]?.f32: animation playback speed. \n 841 * \n 842 * Format of the return value {@link ArkUI_AttributeItem}:\n 843 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 844 * .value[1].i32: animation duration, in milliseconds.\n 845 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 846 * .value[3].i32: animation delay duration, in milliseconds. \n 847 * .value[4].i32: number of times that the animation is played. \n 848 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 849 * .value[6].f32: animation playback speed. \n 850 * 851 */ 852 NODE_MOVE_TRANSITION, 853 854 /** 855 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 856 * 857 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 858 * .value[0].i32: The parameter type is 1 or 0. 859 * \n 860 * Format of the return value {@link ArkUI_AttributeItem}:\n 861 * .value[0].i32: The parameter type is 1 or 0. 862 * 863 */ 864 NODE_FOCUSABLE, 865 866 /** 867 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 868 * 869 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 870 * value[0].i32: The parameter type is 1 or 0. 871 * \n 872 * Format of the return value {@link ArkUI_AttributeItem}:\n 873 * value[0].i32: The parameter type is 1 or 0. 874 * 875 */ 876 NODE_DEFAULT_FOCUS, 877 878 /** 879 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 880 * 881 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 882 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 883 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 884 * .data[2].f32: width of the touch target, in %. \n 885 * .data[3].f32: height of the touch target, in %. \n 886 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 887 * \n 888 * Format of the return value {@link ArkUI_AttributeItem}:\n 889 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 890 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 891 * .data[2].f32: width of the touch target, in %. \n 892 * .data[3].f32: height of the touch target, in %. \n 893 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 894 * 895 */ 896 NODE_RESPONSE_REGION, 897 898 /** 899 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 900 * 901 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 902 * .string: mask text.\n 903 * .value[0]?.i32: position of the overlay relative to the component. Optional. 904 * The parameter type is {@link ArkUI_Alignment}. 905 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 906 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 907 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 908 * \n 909 * Format of the return value {@link ArkUI_AttributeItem}:\n 910 * .string: mask text.\n 911 * .value[0].i32: position of the overlay relative to the component. 912 * The parameter type is {@link ArkUI_Alignment}. 913 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 914 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 915 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 916 * 917 * 918 */ 919 NODE_OVERLAY, 920 /** 921 * @brief Defines the sweep gradient effect. 922 * This attribute can be set, reset, and obtained as required through APIs. 923 * 924 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 925 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 926 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 927 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 928 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 929 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 930 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 931 * and <b>0</b> means the opposite.\n 932 * .object: array of color stops, each of which consists of a color and its stop position. 933 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 934 * colors: colors of the color stops. \n 935 * stops: stop positions of the color stops. \n 936 * size: number of colors. \n 937 * \n 938 * Format of the return value {@link ArkUI_AttributeItem}:\n 939 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 940 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 941 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 942 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 943 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 944 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 945 * and <b>0</b> means the opposite.\n 946 * .object: array of color stops, each of which consists of a color and its stop position. 947 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 948 * colors: colors of the color stops. \n 949 * stops: stop positions of the color stops. \n 950 * size: number of colors. \n 951 * 952 */ 953 NODE_SWEEP_GRADIENT, 954 /** 955 * @brief Defines the radial gradient effect. 956 * This attribute can be set, reset, and obtained as required through APIs. 957 * 958 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 959 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 960 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 961 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 962 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 963 * and <b>0</b> means the opposite. \n 964 * .object: array of color stops, each of which consists of a color and its stop position. 965 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 966 * colors: colors of the color stops. \n 967 * stops: stop positions of the color stops. \n 968 * size: number of colors. \n 969 * \n 970 * Format of the return value {@link ArkUI_AttributeItem}:\n 971 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 972 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 973 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 974 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 975 * and <b>0</b> means the opposite.\n 976 * .object: array of color stops, each of which consists of a color and its stop position. 977 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 978 * colors: colors of the color stops. \n 979 * stops: stop positions of the color stops. \n 980 * size: number of colors. \n 981 * 982 */ 983 NODE_RADIAL_GRADIENT, 984 /** 985 * @brief Adds a mask of the specified shape to the component. 986 * This attribute can be set, reset, and obtained as required through APIs. 987 * 988 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 989 * shapes:\n 990 * 1. Rectangle:\n 991 * .value[0].u32 fill color, in 0xARGB format. \n 992 * .value[1].u32: stroke color, in 0xARGB format. \n 993 * .value[2].f32: stroke width, in vp. \n 994 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 995 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 996 * .value[4].f32: width of the rectangle.\n 997 * .value[5].f32: height of the rectangle.\n 998 * .value[6].f32: width of the rounded corner of the rectangle.\n 999 * .value[7].f32: height of the rounded corner of the rectangle.\n 1000 * 2. Circle:\n 1001 * .value[0].u32 fill color, in 0xARGB format. \n 1002 * .value[1].u32: stroke color, in 0xARGB format. \n 1003 * .value[2].f32: stroke width, in vp. \n 1004 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1005 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1006 * .value[4].f32: width of the circle.\n 1007 * .value[5].f32: height of the circle.\n 1008 * 3. Ellipse:\n 1009 * .value[0].u32 fill color, in 0xARGB format. \n 1010 * .value[1].u32: stroke color, in 0xARGB format. \n 1011 * .value[2].f32: stroke width, in vp. \n 1012 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1013 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1014 * .value[4].f32: width of the ellipse.\n 1015 * .value[5].f32: height of the ellipse.\n 1016 * 4. Path:\n 1017 * .value[0].u32 fill color, in 0xARGB format. \n 1018 * .value[1].u32: stroke color, in 0xARGB format. \n 1019 * .value[2].f32: stroke width, in vp. \n 1020 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1021 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1022 * .value[4].f32: width of the path.\n 1023 * .value[5].f32: height of the path.\n 1024 * .string: command for drawing the path.\n 1025 * 5. Progress:\n 1026 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1027 * The value is <b>ARKUI_MASK_TYPE_PROSGRESS</b> for the progress shape.\n 1028 * .value[1].f32: current value of the progress indicator.\n 1029 * .value[2].f32: maximum value of the progress indicator.\n 1030 * .value[3].u32: color of the progress indicator.\n 1031 * \n 1032 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1033 * 1. Rectangle:\n 1034 * .value[0].u32 fill color, in 0xARGB format. \n 1035 * .value[1].u32: stroke color, in 0xARGB format. \n 1036 * .value[2].f32: stroke width, in vp. \n 1037 * .value[3].i32: mask type.\n 1038 * .value[4].f32: width of the rectangle.\n 1039 * .value[5].f32: height of the rectangle.\n 1040 * .value[6].f32: width of the rounded corner of the rectangle.\n 1041 * .value[7].f32: height of the rounded corner of the rectangle.\n 1042 * 2. Circle:\n 1043 * .value[0].u32 fill color, in 0xARGB format. \n 1044 * .value[1].u32: stroke color, in 0xARGB format. \n 1045 * .value[2].f32: stroke width, in vp. \n 1046 * .value[3].i32: mask type.\n 1047 * .value[4].f32: width of the circle.\n 1048 * .value[5].f32: height of the circle.\n 1049 * 3. Ellipse:\n 1050 * .value[0].u32 fill color, in 0xARGB format. \n 1051 * .value[1].u32: stroke color, in 0xARGB format. \n 1052 * .value[2].f32: stroke width, in vp. \n 1053 * .value[3].i32: mask type.\n 1054 * .value[4].f32: width of the ellipse.\n 1055 * .value[5].f32: height of the ellipse.\n 1056 * 4. Path:\n 1057 * .value[0].u32 fill color, in 0xARGB format. \n 1058 * .value[1].u32: stroke color, in 0xARGB format. \n 1059 * .value[2].f32: stroke width, in vp. \n 1060 * .value[3].i32: mask type.\n 1061 * .value[4].f32: width of the path.\n 1062 * .value[5].f32: height of the path.\n 1063 * .string: command for drawing the path.\n 1064 * 5. Progress:\n 1065 * .value[0].i32: mask type.\n 1066 * .value[1].f32: current value of the progress indicator.\n 1067 * .value[2].f32: maximum value of the progress indicator.\n 1068 * .value[3].u32: color of the progress indicator.\n 1069 * 1070 */ 1071 NODE_MASK, 1072 /** 1073 * @brief Blends the component's background with the content of the component's child node. 1074 * This attribute can be set, reset, and obtained as required through APIs. 1075 * 1076 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1077 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1078 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1079 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1080 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1081 * \n 1082 * Format of the return value {@link ArkUI_AttributeItem}:\n 1083 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1084 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1085 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1086 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1087 * 1088 */ 1089 NODE_BLEND_MODE, 1090 /** 1091 * @brief Sets the direction of the main axis. 1092 * This attribute can be set, reset, and obtained as required through APIs. 1093 * 1094 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1095 * .value[0].i32: direction of the main axis.\n 1096 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1097 * \n 1098 * Format of the return value {@link ArkUI_AttributeItem}:\n 1099 * .value[0].i32: direction of the main axis.\n 1100 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1101 * 1102 */ 1103 NODE_DIRECTION, 1104 /** 1105 * @brief Defines the size constraints. 1106 * This attribute can be set, reset, and obtained as required through APIs. 1107 * 1108 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1109 * .value[0].f32: minimum width, in vp.\n 1110 * .value[1].f32: maximum width, in vp.\n 1111 * .value[2].f32: minimum height, in vp.\n 1112 * .value[3].f32: maximum height, in vp.\n 1113 * \n 1114 * Format of the return value {@link ArkUI_AttributeItem}:\n 1115 * .value[0].f32: minimum width, in vp.\n 1116 * .value[1].f32: maximum width, in vp.\n 1117 * .value[2].f32: minimum height, in vp.\n 1118 * .value[3].f32: maximum height, in vp.\n 1119 * 1120 */ 1121 NODE_CONSTRAINT_SIZE, 1122 /** 1123 * @brief Defines the grayscale effect. 1124 * This attribute can be set, reset, and obtained as required through APIs. 1125 * 1126 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1127 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1128 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1129 * \n 1130 * Format of the return value {@link ArkUI_AttributeItem}:\n 1131 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1132 * 1133 */ 1134 NODE_GRAY_SCALE, 1135 /** 1136 * @brief Inverts the image. 1137 * This attribute can be set, reset, and obtained as required through APIs. 1138 * 1139 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1140 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1141 * For example, 0.5 indicates a 50% image inversion ratio.\n 1142 * \n 1143 * Format of the return value {@link ArkUI_AttributeItem}:\n 1144 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1145 * 1146 */ 1147 NODE_INVERT, 1148 /** 1149 * @brief Defines the sepia conversion ratio. 1150 * This attribute can be set, reset, and obtained as required through APIs. 1151 * 1152 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1153 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1154 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1155 * \n 1156 * Format of the return value {@link ArkUI_AttributeItem}:\n 1157 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1158 * 1159 */ 1160 NODE_SEPIA, 1161 /** 1162 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1163 * 1164 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1165 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1166 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1167 * \n 1168 * Format of the return value {@link ArkUI_AttributeItem}:\n 1169 * .value[0].f32: contrast. Value range: [0, 10).\n 1170 * 1171 */ 1172 NODE_CONTRAST, 1173 /** 1174 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1175 * 1176 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1177 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1178 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1179 * \n 1180 * Format of the return value {@link ArkUI_AttributeItem}:\n 1181 * .value[0].u32: color value, in 0xARGB format.\n 1182 * 1183 */ 1184 NODE_FOREGROUND_COLOR, 1185 1186 /** 1187 * @brief Defines the offset of the component's child relative to the component. 1188 * This attribute can be set, reset, and obtained as required through APIs. 1189 * 1190 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1191 * .value[0].f32 : offset along the x-axis, in vp. \n 1192 * .value[1].f32 : offset along the y-axis, in vp. \n 1193 * \n 1194 * Format of the return value {@link ArkUI_AttributeItem}:\n 1195 * .value[0].f32 : offset along the x-axis, in vp. \n 1196 * .value[1].f32 : offset along the y-axis, in vp. \n 1197 * 1198 */ 1199 NODE_OFFSET, 1200 /** 1201 * @brief Sets the anchor for locating the component's child. 1202 * This attribute can be set, reset, and obtained as required through APIs. 1203 * 1204 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1205 * .value[0].f32: X coordinate of the anchor, in vp.\n 1206 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1207 * \n 1208 * Format of the return value {@link ArkUI_AttributeItem}:\n 1209 * .value[0].f32: X coordinate of the anchor, in vp.\n 1210 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1211 * 1212 */ 1213 NODE_MARK_ANCHOR, 1214 /** 1215 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1216 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1217 * 1218 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1219 * .value[0].f32: position along the x-axis, in px. \n 1220 * .value[1].f32: position along the y-axis, in px. \n 1221 * \n 1222 * Format of the return value {@link ArkUI_AttributeItem}:\n 1223 * .value[0].f32: position along the x-axis, in px. \n 1224 * .value[1].f32: position along the y-axis, in px. \n 1225 * 1226 */ 1227 NODE_BACKGROUND_IMAGE_POSITION, 1228 /** 1229 * @brief Sets the alignment rules in the relative container. 1230 * This attribute can be set, reset, and obtained as required through APIs. 1231 * 1232 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1233 * .value[0]?.i32: ID of the component that functions as the anchor point for left alignment. \n 1234 * .value[1]?.i32: alignment mode relative to the anchor component for left alignment. 1235 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1236 * .value[2]?.i32: ID of the component that functions as the anchor point for center alignment. \n 1237 * .value[3]?.i32: alignment mode relative to the anchor component for center alignment. 1238 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1239 * .value[4]?.i32: ID of the component that functions as the anchor point for right alignment. \n 1240 * .value[5]?.i32: alignment mode relative to the anchor component for right alignment. 1241 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1242 * .value[6]?.i32: ID of the component that functions as the anchor point for top alignment. \n 1243 * .value[7]?.i32: alignment mode relative to the anchor component for top alignment. 1244 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1245 * .value[8]?.i32: ID of the component that functions as the anchor point for center alignment in the 1246 * vertical direction. \n 1247 * .value[9]?.i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1248 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1249 * .value[10]?.i32: ID of the component that functions as the anchor point for bottom alignment. \n 1250 * .value[11]?.i32: alignment mode relative to the anchor component for bottom alignment. 1251 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1252 * .value[12]?.f32: bias value in the horizontal direction. \n 1253 * .value[13]?.f32: bias value in the vertical direction. \n 1254 * \n 1255 * Format of the return value {@link ArkUI_AttributeItem}:\n 1256 * .value[0].i32: ID of the component that functions as the anchor point for left alignment. \n 1257 * .value[1].i32: alignment mode relative to the anchor component for left alignment. 1258 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1259 * .value[2].i32: ID of the component that functions as the anchor point for center alignment. \n 1260 * .value[3].i32: alignment mode relative to the anchor component for center alignment. 1261 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1262 * .value[4].i32: ID of the component that functions as the anchor point for right alignment. \n 1263 * .value[5].i32: alignment mode relative to the anchor component for right alignment. 1264 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1265 * .value[6].i32: ID of the component that functions as the anchor point for top alignment. \n 1266 * .value[7].i32: alignment mode relative to the anchor component for top alignment. 1267 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1268 * .value[8].i32: ID of the component that functions as the anchor point for center alignment in the 1269 * vertical direction. \n 1270 * .value[9].i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1271 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1272 * .value[10].i32: ID of the component that functions as the anchor point for bottom alignment. \n 1273 * .value[11].i32: alignment mode relative to the anchor component for bottom alignment. 1274 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1275 * .value[12].f32: bias value in the horizontal direction. \n 1276 * .value[13].f32: bias value in the vertical direction. \n 1277 * 1278 */ 1279 NODE_ALIGN_RULES, 1280 /** 1281 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1282 * This attribute can be set, reset, and obtained as required through APIs. 1283 * 1284 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1285 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1286 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1287 * \n 1288 * Format of the return value {@link ArkUI_AttributeItem}:\n 1289 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1290 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1291 * 1292 */ 1293 NODE_ALIGN_SELF, 1294 /** 1295 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1296 * This attribute can be set, reset, and obtained as required through APIs. 1297 * 1298 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1299 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1300 * \n 1301 * Format of the return value {@link ArkUI_AttributeItem}:\n 1302 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1303 * 1304 */ 1305 NODE_FLEX_GROW, 1306 /** 1307 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1308 * This attribute can be set, reset, and obtained as required through APIs. 1309 * 1310 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1311 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1312 * \n 1313 * Format of the return value {@link ArkUI_AttributeItem}:\n 1314 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1315 * 1316 */ 1317 NODE_FLEX_SHRINK, 1318 /** 1319 * @brief Sets the base size of the component. 1320 * This attribute can be set, reset, and obtained as required through APIs. 1321 * 1322 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1323 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1324 * \n 1325 * Format of the return value {@link ArkUI_AttributeItem}:\n 1326 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1327 * 1328 */ 1329 NODE_FLEX_BASIS, 1330 /** 1331 * @brief Sets the accessibility group. 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 group. The value <b>1</b> means that the component and all its child components 1335 * form an entire selectable component. 1336 * In this case, the accessibility service will no longer be available for the content of its child components. 1337 * The value is <b>1</b> or <b>0</b>. 1338 * \n 1339 * Format of the return value {@link ArkUI_AttributeItem}:\n 1340 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1341 * form an entire selectable component. 1342 * In this case, the accessibility service will no longer be available for the content of its child components. 1343 * The value is <b>1</b> or <b>0</b>. 1344 * 1345 */ 1346 NODE_ACCESSIBILITY_GROUP, 1347 1348 /** 1349 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1350 * 1351 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1352 * .string: accessibility text. 1353 * \n 1354 * Format of the return value {@link ArkUI_AttributeItem}:\n 1355 * .string: accessibility text. 1356 * 1357 */ 1358 NODE_ACCESSIBILITY_TEXT, 1359 1360 /** 1361 * @brief Sets the accessibility mode. This attribute can be set, reset, and obtained as required through APIs. 1362 * 1363 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1364 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1365 * \n 1366 * Format of the return value {@link ArkUI_AttributeItem}:\n 1367 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1368 * 1369 */ 1370 NODE_ACCESSIBILITY_MODE, 1371 1372 /** 1373 * @brief Sets the accessibility description. 1374 * This attribute can be set, reset, and obtained as required through APIs. 1375 * 1376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1377 * .string: accessibility description. 1378 * \n 1379 * Format of the return value {@link ArkUI_AttributeItem}:\n 1380 * .string: accessibility description. 1381 * 1382 */ 1383 NODE_ACCESSIBILITY_DESCRIPTION, 1384 1385 /** 1386 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1387 * 1388 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1389 * .value[0].i32: The parameter type is 1 or 0. 1390 * \n 1391 * Format of the return value {@link ArkUI_AttributeItem}:\n 1392 * .value[0].i32: The parameter type is 1 or 0. 1393 * 1394 */ 1395 NODE_FOCUS_STATUS, 1396 /** 1397 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1398 * 1399 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1400 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1401 * \n 1402 * Format of the return value {@link ArkUI_AttributeItem}:\n 1403 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1404 * 1405 */ 1406 NODE_ASPECT_RATIO, 1407 /** 1408 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1409 * distribution of available space within the container. 1410 * This attribute can be set, reset, and obtained as required through APIs. 1411 * 1412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1413 * .value[0].f32: weight of the component along the main axis. \n 1414 * \n 1415 * Format of the return value {@link ArkUI_AttributeItem}:\n 1416 * .value[0].f32: weight of the component along the main axis. \n 1417 * 1418 */ 1419 NODE_LAYOUT_WEIGHT, 1420 /** 1421 * @brief Sets the display priority for the component in the row, column, or flex (single-line) container. 1422 * This attribute 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].u32: display priority of the component in the container. \n 1426 * \n 1427 * Format of the return value {@link ArkUI_AttributeItem}:\n 1428 * .value[0].u32: display priority of the component in the container. \n 1429 * 1430 */ 1431 NODE_DISPLAY_PRIORITY, 1432 /** 1433 * @brief Sets the thickness of an element's outline. 1434 * 1435 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1436 * .value[0].f32: thickness of the left outline. \n 1437 * .value[1].f32: thickness of the top outline. \n 1438 * .value[2].f32: thickness of the right outline. \n 1439 * .value[3].f32: thickness of the bottom outline. \n 1440 * \n 1441 * Format of the return value {@link ArkUI_AttributeItem}:\n 1442 * .value[0].f32: thickness of the left outline. \n 1443 * .value[1].f32: thickness of the top outline. \n 1444 * .value[2].f32: thickness of the right outline. \n 1445 * .value[3].f32: thickness of the bottom outline. \n 1446 * 1447 */ 1448 NODE_OUTLINE_WIDTH, 1449 /** 1450 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 1451 * 1452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1453 * .value[0].f32: width, in percentage.\n 1454 * \n 1455 * Format of the return value {@link ArkUI_AttributeItem}:\n 1456 * .value[0].f32: width, in percentage.\n 1457 * 1458 */ 1459 NODE_WIDTH_PERCENT, 1460 /** 1461 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 1462 * 1463 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1464 * .value[0].f32: height, in percentage.\n 1465 * \n 1466 * Format of the return value {@link ArkUI_AttributeItem}:\n 1467 * .value[0].f32: height, in percentage.\n 1468 * 1469 */ 1470 NODE_HEIGHT_PERCENT, 1471 /** 1472 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 1473 * 1474 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1475 * 1: Specify the same padding for the four directions. \n 1476 * .value[0].f32: padding, in percentage.\n 1477 * 2: Specify different paddings for different directions. \n 1478 * .value[0].f32: top padding, in percentage.\n 1479 * .value[1].f32: right padding, in percentage.\n 1480 * .value[2].f32: bottom padding, in percentage.\n 1481 * .value[3].f32: left padding, in percentage.\n 1482 * \n 1483 * Format of the return value {@link ArkUI_AttributeItem}:\n 1484 * .value[0].f32: top padding, in percentage.\n 1485 * .value[1].f32: right padding, in percentage.\n 1486 * .value[2].f32: bottom padding, in percentage.\n 1487 * .value[3].f32: left padding, in percentage.\n 1488 * 1489 */ 1490 NODE_PADDING_PERCENT, 1491 /** 1492 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 1493 * 1494 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1495 * 1: Specify the same margin for the four directions. \n 1496 * .value[0].f32: margin, in percentage.\n 1497 * 2: Specify different margins for different directions. \n 1498 * .value[0].f32: top margin, in percentage.\n 1499 * .value[1].f32: right margin, in percentage.\n 1500 * .value[2].f32: bottom margin, in percentage.\n 1501 * .value[3].f32: left margin, in percentage.\n 1502 * \n 1503 * Format of the return value {@link ArkUI_AttributeItem}:\n 1504 * .value[0].f32: top margin, in percentage.\n 1505 * .value[1].f32: right margin, in percentage.\n 1506 * .value[2].f32: bottom margin, in percentage.\n 1507 * .value[3].f32: left margin, in percentage.\n 1508 * 1509 */ 1510 NODE_MARGIN_PERCENT, 1511 1512 /** 1513 * @brief The implicit shared element transition within the component supports attribute setting, 1514 * attribute reset, and attribute acquisition interfaces. 1515 * 1516 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1517 * .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings, 1518 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1519 * the default is false, and the original position will remain unchanged if not involved. \n 1520 * .string is used to set the binding relationship. Set the id to "" to 1521 * clear the binding relationship to avoid participating in sharing behavior. \n 1522 * The id can be changed and the binding relationship re-established. 1523 * The same ID can only be bound to two components and they are in/out roles of different types. 1524 * Multiple components cannot be bound to the same id. \n 1525 *\n 1526 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format: \n 1527 * .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings, 1528 * Whether to continue to participate in the shared element animation when the appearance element is not deleted, 1529 * the default is not false, if not involved, the original position will remain unchanged. \n 1530 * .string is used to set the binding relationship. Set the id to "" to 1531 * clear the binding relationship to avoid participating in sharing behavior. \n 1532 * The id can be changed and the binding relationship re-established. 1533 * The same ID can only be bound to two components and they are in/out roles of different types. 1534 * Multiple components cannot be bound to the same id. \n 1535 */ 1536 NODE_GEOMETRY_TRANSITION, 1537 1538 /** 1539 * @brief Specifies the parameters of the chain formed by this component as the chain head, 1540 * and supports attribute setting, attribute reset and attribute acquisition interfaces. 1541 * 1542 * Only takes effect when the parent container is RelativeContainer 1543 * 1544 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 1545 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1546 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1547 *\n 1548 * .value[0].i32: The direction of the chain. Enum {@link ArkUI_Axis}. \n 1549 * .value[1].i32: Chain style. Enum {@link ArkUI_RelativeLayoutChainStyle}. \n 1550 */ 1551 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1552 1553 /** 1554 * @brief Set the component content filling method in the process of width and height animation, 1555 * support property setting, property reset, property acquisition interface. 1556 * 1557 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1558 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1559 * \n 1560 * Format of the return value {@link ArkUI_AttributeItem}:\n 1561 * .value[0].i32 Content filling mode {@link ArkUI_RenderFit}.\n 1562 * 1563 */ 1564 NODE_RENDER_FIT, 1565 1566 /** 1567 * @brief External stroke color properties, support property setting, 1568 * property reset and property acquisition interface. 1569 * 1570 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1571 * 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF. \n 1572 * 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1573 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1574 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1575 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1576 * \n 1577 * Format of the return value {@link ArkUI_AttributeItem}:\n 1578 * .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF. \n 1579 * .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF. \n 1580 * .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF. \n 1581 * .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF. \n 1582 * 1583 */ 1584 NODE_OUTLINE_COLOR, 1585 1586 /** 1587 * @brief Set the height and width dimensions, support property setting, 1588 * property reset and property acquisition interface. 1589 * 1590 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1591 * .value[0].f32: Width value, unit is vp;\n 1592 * .value[1].f32: Height value, unit is vp;\n 1593 * \n 1594 * Format of the return value {@link ArkUI_AttributeItem}:\n 1595 * .value[0].f32: Width value, unit is vp;\n 1596 * .value[1].f32: Height value, unit is vp;\n 1597 * 1598 */ 1599 NODE_SIZE, 1600 1601 /** 1602 * @brief Set whether the current component and child component are 1603 * rendered off the screen first and then fused with the parent control, 1604 * supporting property setting, property reset and property acquisition. 1605 * 1606 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1607 * .value[0].i32: The parameter type is 1 or 0. 1608 * \n 1609 * Format of the return value {@link ArkUI_AttributeItem}:\n 1610 * .value[0].i32: The parameter type is 1 or 0. 1611 * 1612 */ 1613 NODE_RENDER_GROUP, 1614 1615 /** 1616 * @brief Add color overlay effect to components, support property setting, 1617 * property reset and property acquisition interface. 1618 * 1619 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1620 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1621 * \n 1622 * Format of the return value {@link ArkUI_AttributeItem}:\n 1623 * .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF. \n 1624 * 1625 */ 1626 NODE_COLOR_BLEND, 1627 1628 /** 1629 * @brief Provide content ambiguity capability for the current component, 1630 * support property setting, property reset, property acquisition interface. 1631 * 1632 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1633 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1634 * .value[1]?.i32 Represents the dark and light mode used by the content blur effect,\n 1635 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1636 * .value[2]?.i32 The color extraction mode used to represent the content blur effect takes\n 1637 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1638 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 1639 * .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1640 * .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1641 * \n 1642 * Format of the return value {@link ArkUI_AttributeItem}:\n 1643 * .value[0].i32 Represents the content blurring style, and uses the {@link ArkUI_BlurStyle} enumeration value.\n 1644 * .value[1].i32 Represents the dark and light mode used by the content blur effect,\n 1645 * with the {@link ArkUI_ThemeColorMode} enumeration value.\n 1646 * .value[2].i32 The color extraction mode used to represent the content blur effect takes\n 1647 * the {@link ArkUI_AdaptiveColor} enumeration value.\n 1648 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 1649 * .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1650 * .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].\n 1651 * 1652 */ 1653 NODE_FOREGROUND_BLUR_STYLE, 1654 1655 /** 1656 * @brief Defines the component size and position for layout. 1657 * This attribute can be set, reset, and obtained as required through APIs. 1658 * 1659 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1660 * .value[0].i32: X coordinate of the component, in px. \n 1661 * .value[1].i32: Y coordinate of the component, in px. \n 1662 * .value[2].i32: width of the component, in px. \n 1663 * .value[3].i32: height of the component, in px. \n 1664 * \n 1665 * Format of the return value {@link ArkUI_AttributeItem}:\n 1666 * .value[0].i32: X coordinate of the component, in px. \n 1667 * .value[1].i32: Y coordinate of the component, in px. \n 1668 * .value[2].i32: width of the component, in px. \n 1669 * .value[3].i32: height of the component, in px. \n 1670 * 1671 */ 1672 NODE_LAYOUT_RECT, 1673 1674 /** 1675 * @brief Whether the current component supports click-to-focus capability, 1676 * which can be set, reset, and obtained as required through APIs. 1677 * 1678 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1679 * .value[0].i32: The parameter type is 1 or 0. 1680 * \n 1681 * Format of the return value {@link ArkUI_AttributeItem}:\n 1682 * .value[0].i32: The parameter type is 1 or 0. 1683 * 1684 */ 1685 NODE_FOCUS_ON_TOUCH, 1686 1687 /** 1688 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 1689 * 1690 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1691 * 1: .value[0].f32: width of the four borders, in percentage. \n 1692 * 2: .value[0].f32: width of the top border, in percentage. \n 1693 * .value[1].f32: width of the right border, in percentage. \n 1694 * .value[2].f32: width of the bottom border, in percentage. \n 1695 * .value[3].f32: width of the left border, in percentage. \n 1696 * \n 1697 * Format of the return value {@link ArkUI_AttributeItem}:\n 1698 * .value[0].f32: width of the top border, in percentage. \n 1699 * .value[1].f32: width of the right border, in percentage. \n 1700 * .value[2].f32: width of the bottom border, in percentage. \n 1701 * .value[3].f32: width of the left border, in percentage. \n 1702 * 1703 */ 1704 NODE_BORDER_WIDTH_PERCENT, 1705 /** 1706 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 1707 * 1708 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1709 * 1: .value[0].f32: radius of the four corners, in percentage. \n 1710 * 2: .value[0].f32: radius of the upper left corner, in percentage. \n 1711 * .value[1].f32: radius of the upper right corner, in percentage. \n 1712 * .value[2].f32: radius of the lower left corner, in percentage. \n 1713 * .value[3].f32: radius of the lower right corner, in percentage. \n 1714 * \n 1715 * Format of the return value {@link ArkUI_AttributeItem}:\n 1716 * .value[0].f32: radius of the upper left corner, in percentage. \n 1717 * .value[1].f32: radius of the upper right corner, in percentage. \n 1718 * .value[2].f32: radius of the lower left corner, in percentage. \n 1719 * .value[3].f32: radius of the lower right corner, in percentage. \n 1720 * 1721 */ 1722 NODE_BORDER_RADIUS_PERCENT, 1723 1724 /** 1725 * @brief Accessible ID, which can be obtained as required through APIs. 1726 * 1727 * Format of the return value {@link ArkUI_AttributeItem}:\n 1728 * .value[0].i32:Accessible ID.\n 1729 * 1730 */ 1731 NODE_ACCESSIBILITY_ID = 87, 1732 1733 /** 1734 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1735 * 1736 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1737 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1738 * \n 1739 * Format of the return value {@link ArkUI_AttributeItem}:\n 1740 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1741 * 1742 */ 1743 NODE_ACCESSIBILITY_ACTIONS = 88, 1744 1745 /** 1746 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1747 * 1748 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1749 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1750 * \n 1751 * Format of the return value {@link ArkUI_AttributeItem}:\n 1752 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1753 * 1754 */ 1755 NODE_ACCESSIBILITY_ROLE = 89, 1756 1757 /** 1758 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1759 * 1760 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1761 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1762 * \n 1763 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1764 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1765 * 1766 */ 1767 NODE_ACCESSIBILITY_STATE = 90, 1768 1769 /** 1770 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1771 * 1772 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1773 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1774 * \n 1775 * Format of the return value {@link ArkUI_AttributeItem}:\n 1776 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1777 * 1778 */ 1779 NODE_ACCESSIBILITY_VALUE = 91, 1780 1781 /** 1782 * @brief defines control components to extend their security zones, 1783 * supporting property setting, property reset, and property fetching. 1784 * 1785 * Attribute setting method {@link ArkUI_AttributeItem} Parameter format:\n 1786 * .value[0]? .u32: Set of extended security zone enumerated values {@link ArkUI_SafeAreaType}, 1787 * For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT; \n 1788 * .value[1]? .u32: set of directional enum values for extended security zones {@link ArkUI_SafeAreaEdge}; \n 1789 * For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM; \n 1790 * \n 1791 * Attribute fetch method return value {@link ArkUI_AttributeItem} format:\n 1792 *.value[0].u32: extends the security zone. \n. \n 1793 *.value[1].u32: indicates the direction to extend the security zone. \n. \n 1794 * 1795 */ 1796 NODE_EXPAND_SAFE_AREA = 92, 1797 /** 1798 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1799 * visible area change event of the component. 1800 * 1801 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1802 * .value[...].f32: threshold array. The value range is 0 to 1. 1803 * \n 1804 * Format of the return value {@link ArkUI_AttributeItem}:\n 1805 * .value[...].f32: threshold array. \n 1806 * 1807 */ 1808 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1809 1810 /** 1811 * @brief Sets the transition effect when the component is inserted or deleted. 1812 * This attribute can be set, and obtained as required through APIs. 1813 * 1814 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1815 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1816 * \n 1817 * Format of the return value {@link ArkUI_AttributeItem}:\n 1818 * .object: transition effect. The parameter type is {@link ArkUI_TransitionEffect}. \n 1819 * 1820 */ 1821 NODE_TRANSITION = 94, 1822 1823 /** 1824 * @brief Defines the component ID. 1825 * This attribute can be obtained through APIs. 1826 * 1827 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1828 * .value[0].i32: component ID. \n 1829 * 1830 */ 1831 NODE_UNIQUE_ID = 95, 1832 1833 /** 1834 * @brief Set the current component system focus box style. 1835 * 1836 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1837 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1838 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1839 * Percentage is not supported. \n 1840 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1841 * .value[2].u32: Focus box color. \n 1842 * \n 1843 * 1844 */ 1845 NODE_FOCUS_BOX = 96, 1846 1847 /** 1848 * @brief Defines the moving distance limit for the component-bound tap gesture. 1849 * This attribute can be set as required through APIs. 1850 * 1851 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1852 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1853 * 1854 */ 1855 NODE_CLICK_DISTANCE = 97, 1856 1857 /** 1858 * @brief Defines the moving distance limit for the component-bound tap gesture. 1859 * This attribute can be set as required through APIs. 1860 * 1861 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1862 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1863 * 1864 */ 1865 NODE_TAB_STOP = 98, 1866 1867 /** 1868 * @brief Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs. 1869 * 1870 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1871 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1872 * .value[1]?.f32:grayscale blur settings that control the brightness of the black color.\n 1873 * The value range is [0, 127].\n 1874 * .value[2]?.f32:grayscale blur settings that control the darkness of the white color.\n 1875 * The value range is [0, 127].\n 1876 * \n 1877 * Format of the return value {@link ArkUI_AttributeItem}:\n 1878 * .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).\n 1879 * .value[1].f32:grayscale blur settings that control the brightness of the black color.\n 1880 * The value range is [0, 127].\n 1881 * .value[2].f32:grayscale blur settings that control the darkness of the white color.\n 1882 * The value range is [0, 127].\n 1883 * 1884 * @since 15 1885 */ 1886 NODE_BACKDROP_BLUR = 99, 1887 1888 /* 1889 * @brief Defines the background image resizable attribute, which can be set, reset, 1890 * and obtained as required through APIs. 1891 * 1892 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1893 * .value[0].f32:width of the left edge. The unit is vp. \n 1894 * .value[1].f32:width of the top edge. The unit is vp. \n 1895 * .value[2].f32:width of the right edge. The unit is vp. \n 1896 * .value[3].f32:width of the bottom edge. The unit is vp. \n 1897 * \n 1898 * Format of the return value {@link ArkUI_AttributeItem}:\n 1899 * .value[0].f32:width of the left edge. The unit is vp. \n 1900 * .value[1].f32:width of the top edge. The unit is vp. \n 1901 * .value[2].f32:width of the right edge. The unit is vp. \n 1902 * .value[3].f32:width of the bottom edge. The unit is vp. \n 1903 * 1904 * @since 18 1905 */ 1906 NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE = 100, 1907 1908 /** 1909 * @brief Sets the next focus node. 1910 * 1911 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1912 * .value[0].i32: focus movement direction, as defined in {@link ArkUI_FocusMove}. 1913 * .object: next focus node. The parameter type is {@link ArkUI_NodeHandle}.\n 1914 * \n 1915 * 1916 */ 1917 NODE_NEXT_FOCUS = 101, 1918 1919 /** 1920 * @brief Sets the parameters for visible area change events. 1921 * 1922 * @note The visible area change callback is not a real-time callback. The actual callback interval may differ from 1923 * the expected interval due to system load and other factors. 1924 * The interval between two visible area change callbacks will not be less than the expected update interval. If the 1925 * provided expected interval is too short, the actual callback interval will be determined by the system load. 1926 * By default, the interval threshold of the visible area change callback includes 0. This means that, 1927 * if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5]. 1928 * 1929 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1930 * .object: parameters for visible area change events. 1931 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1932 * \n 1933 * Format of the return value {@link ArkUI_AttributeItem}:\n 1934 * .object: parameters for visible area change events. 1935 * The parameter type is {@link ArkUI_VisibleAreaEventOptions}. \n 1936 * 1937 */ 1938 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO = 102, 1939 1940 /** 1941 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 1942 * 1943 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1944 * .string: text content.\n 1945 * \n 1946 * Format of the return value {@link ArkUI_AttributeItem}:\n 1947 * .string: text content.\n 1948 */ 1949 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 1950 /** 1951 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 1952 * 1953 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1954 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1955 * \n 1956 * Format of the return value {@link ArkUI_AttributeItem}:\n 1957 * .value[0].u32: font color value, in 0xARGB format.\n 1958 * 1959 */ 1960 NODE_FONT_COLOR, 1961 /** 1962 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 1963 * 1964 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1965 * .value[0].f32: font size, in fp.\n 1966 * \n 1967 * Format of the return value {@link ArkUI_AttributeItem}:\n 1968 * .value[0].f32: font size, in fp.\n 1969 * 1970 */ 1971 NODE_FONT_SIZE, 1972 /** 1973 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 1974 * 1975 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1976 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 1977 * \n 1978 * Format of the return value {@link ArkUI_AttributeItem}:\n 1979 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 1980 * 1981 */ 1982 NODE_FONT_STYLE, 1983 /** 1984 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 1985 * 1986 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1987 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 1988 * \n 1989 * Format of the return value {@link ArkUI_AttributeItem}:\n 1990 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 1991 * 1992 */ 1993 NODE_FONT_WEIGHT, 1994 /** 1995 * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs. 1996 * 1997 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1998 * .value[0].f32: line height, in fp.\n 1999 * \n 2000 * Format of the return value {@link ArkUI_AttributeItem}:\n 2001 * .value[0].f32: line height, in fp.\n 2002 * 2003 */ 2004 NODE_TEXT_LINE_HEIGHT, 2005 /** 2006 * @brief Defines the text decoration style and color. 2007 * This attribute can be set, reset, and obtained as required through APIs. 2008 * 2009 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2010 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 2011 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 2012 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 2013 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2014 * \n 2015 * Format of the return value {@link ArkUI_AttributeItem}:\n 2016 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 2017 * .value[1].u32: text decoration color, in 0xARGB format. \n 2018 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 2019 * 2020 */ 2021 NODE_TEXT_DECORATION, 2022 /** 2023 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 2024 * 2025 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2026 * .value[0].i32: text case.\n 2027 * \n 2028 * Format of the return value {@link ArkUI_AttributeItem}:\n 2029 * .value[0].i32: text case.\n 2030 * 2031 */ 2032 NODE_TEXT_CASE, 2033 /** 2034 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 2035 * 2036 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2037 * .value[0].f32: letter spacing, in fp.\n 2038 * \n 2039 * Format of the return value {@link ArkUI_AttributeItem}:\n 2040 * .value[0].f32: letter spacing, in fp.\n 2041 * 2042 */ 2043 NODE_TEXT_LETTER_SPACING, 2044 /** 2045 * @brief Sets the maximum number of lines in the text. 2046 * This attribute can be set, reset, and obtained as required through APIs. 2047 * 2048 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2049 * .value[0].i32: maximum number of lines in the text.\n 2050 * \n 2051 * Format of the return value {@link ArkUI_AttributeItem}:\n 2052 * .value[0].i32: maximum number of lines in the text.\n 2053 * 2054 */ 2055 NODE_TEXT_MAX_LINES, 2056 /** 2057 * @brief Horizontal alignment mode of the text. 2058 * This attribute can be set, reset, and obtained as required through APIs. 2059 * 2060 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2061 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2062 * \n 2063 * Format of the return value {@link ArkUI_AttributeItem}:\n 2064 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 2065 * 2066 */ 2067 NODE_TEXT_ALIGN, 2068 /** 2069 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 2070 * 2071 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2072 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 2073 * \n 2074 * Format of the return value {@link ArkUI_AttributeItem}:\n 2075 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 2076 * 2077 */ 2078 NODE_TEXT_OVERFLOW, 2079 /** 2080 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 2081 * 2082 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2083 * .string: fonts, separated by commas (,). 2084 * \n 2085 * Format of the return value {@link ArkUI_AttributeItem}:\n 2086 * .string: fonts, separated by commas (,). 2087 * 2088 */ 2089 NODE_FONT_FAMILY, 2090 /** 2091 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 2092 * 2093 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2094 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 2095 * \n 2096 * Format of the return value {@link ArkUI_AttributeItem}:\n 2097 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 2098 * 2099 */ 2100 NODE_TEXT_COPY_OPTION, 2101 /** 2102 * @brief Defines the text baseline offset attribute 2103 * This attribute can be set, reset, and obtained as required through APIs. 2104 * 2105 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2106 * .value[0].f32: baseline offset, in fp.\n 2107 * \n 2108 * Format of the return value {@link ArkUI_AttributeItem}:\n 2109 * .value[0].f32: baseline offset, in fp. \n 2110 * 2111 */ 2112 NODE_TEXT_BASELINE_OFFSET, 2113 /** 2114 * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs. 2115 * 2116 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2117 * .value[0].f32: blur radius of the shadow, in vp.\n 2118 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 2119 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2120 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2121 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2122 * \n 2123 * Format of the return value {@link ArkUI_AttributeItem}:\n 2124 * .value[0].f32: blur radius of the shadow, in vp.\n 2125 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 2126 * .value[2].u32: shadow color, in 0xARGB format.\n 2127 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 2128 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 2129 * 2130 */ 2131 NODE_TEXT_TEXT_SHADOW, 2132 /** 2133 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 2134 * 2135 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2136 * .value[0].f32: minimum font size, in fp. 2137 * \n 2138 * Format of the return value {@link ArkUI_AttributeItem}:\n 2139 * .value[0].f32: minimum font size, in fp. 2140 * 2141 */ 2142 NODE_TEXT_MIN_FONT_SIZE, 2143 2144 /** 2145 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 2146 * 2147 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2148 * .value[0].f32: maximum font size, in fp. 2149 * \n 2150 * Format of the return value {@link ArkUI_AttributeItem}:\n 2151 * .value[0].f32: maximum font size, in fp. 2152 * 2153 */ 2154 NODE_TEXT_MAX_FONT_SIZE, 2155 2156 /** 2157 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 2158 * 2159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2160 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 2161 * .value[0].f32: font size, in fp. \n 2162 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 2163 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2164 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 2165 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2166 * \n 2167 * Format of the return value {@link ArkUI_AttributeItem}:\n 2168 * .string: font family. Use commas (,) to separate multiple fonts. \n 2169 * .value[0].f32: font size, in fp. \n 2170 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 2171 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2172 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 2173 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 2174 * 2175 */ 2176 NODE_TEXT_FONT, 2177 2178 /** 2179 * @brief Defines how the adaptive height is determined for the 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].i32: how the adaptive height is determined for the text. 2184 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 2185 * \n 2186 * Format of the return value {@link ArkUI_AttributeItem}:\n 2187 * .value[0].i32: how the adaptive height is determined for the text. 2188 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 2189 * 2190 */ 2191 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 2192 /** 2193 * @brief Defines the indentation of the first line. 2194 * This attribute can be set, reset, and obtained as required through APIs. 2195 * 2196 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2197 * .value[0].f32: indentation of the first line. \n 2198 * \n 2199 * Format of the return value {@link ArkUI_AttributeItem}:\n 2200 * .value[0].f32: indentation of the first line. \n 2201 * 2202 */ 2203 NODE_TEXT_INDENT, 2204 /** 2205 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 2206 * 2207 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2208 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2209 * \n 2210 * Format of the return value {@link ArkUI_AttributeItem}:\n 2211 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 2212 * 2213 */ 2214 NODE_TEXT_WORD_BREAK, 2215 /** 2216 * @brief Defines the ellipsis position. This attribute 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 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2220 * \n 2221 * Format of the return value {@link ArkUI_AttributeItem}:\n 2222 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 2223 * 2224 */ 2225 NODE_TEXT_ELLIPSIS_MODE, 2226 /** 2227 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 2228 * 2229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2230 * .value[0].f32: line spacing, in fp.\n 2231 * \n 2232 * Format of the return value {@link ArkUI_AttributeItem}:\n 2233 * .value[0].f32: line spacing, in fp.\n 2234 * 2235 */ 2236 NODE_TEXT_LINE_SPACING, 2237 /** 2238 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2239 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2240 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2241 * The capabilities need to be supported by the fonts, \n 2242 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2243 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format:\n 2244 * .string: complies with the text feature format. The format is normal | \n 2245 * is in the format of [ | on | off],\n. 2246 * There can be multiple values separated by commas (,). \n 2247 * For example, the input format of a number with the same width is ss01 on. \n 2248 * \n 2249 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2250 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2251 */ 2252 NODE_TEXT_FONT_FEATURE, 2253 2254 /** 2255 * @brief Setting Enable Text Recognition. 2256 * 2257 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2258 * .value[0].i32:Enable text recognition, default value false.\n 2259 * \n 2260 * Format of the return value {@link ArkUI_AttributeItem}:\n 2261 * .value[0].i32:Enable Text Recognition\n 2262 * 2263 */ 2264 NODE_TEXT_ENABLE_DATA_DETECTOR, 2265 /** 2266 * @brief Set the text recognition configuration. 2267 * 2268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2269 * .value[0...].i32: Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}.\n 2270 * \n 2271 * Format of the return value {@link ArkUI_AttributeItem}:\n 2272 * .value[0...].i32:Array of entity types, parameter types{@link ArkUI_TextDataDetectorType}.\n 2273 * 2274 */ 2275 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2276 /** 2277 * @brief Defines the background color of the selected text. 2278 * This attribute can be set, reset, and obtained as required through APIs. 2279 * 2280 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2281 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2282 * \n 2283 * Format of the return value {@link ArkUI_AttributeItem}:\n 2284 * .value[0].u32: color value, in 0xARGB format. \n 2285 * 2286 */ 2287 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2288 2289 /** 2290 * @brief The text component uses a formatted string object to set text content properties, 2291 * and supports property setting, property reset, and property acquisition interfaces. 2292 * 2293 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2294 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2295 * \n 2296 * Format of the return value {@link ArkUI_AttributeItem}:\n 2297 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2298 */ 2299 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2300 2301 /** 2302 * @brief Sets whether to center text vertically in the text component. 2303 * 2304 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2305 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 2306 * \n 2307 * Format of the return value {@link ArkUI_AttributeItem}:\n 2308 * .value[0].i32: whether to center text vertically. \n 2309 * 2310 */ 2311 NODE_TEXT_HALF_LEADING = 1029, 2312 2313 /** 2314 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2315 * The font weight specified by this API is not affected by any changes in the system font weight settings. 2316 * 2317 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2318 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2319 * \n 2320 * Format of the return value {@link ArkUI_AttributeItem}:\n 2321 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2322 * 2323 * @since 15 2324 */ 2325 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2326 2327 /** 2328 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2329 * 2330 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2331 * .string: content of the text span. \n 2332 * \n 2333 * Format of the return value {@link ArkUI_AttributeItem}:\n 2334 * .string: content of the text span. \n 2335 * 2336 */ 2337 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2338 /** 2339 * @brief Defines the text background style. 2340 * This attribute can be set, reset, and obtained as required through APIs. 2341 * 2342 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2343 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2344 * The second parameter indicates the rounded corners of the text background. Two setting modes are available:\n 2345 * 1: .value[1].f32: radius of the four corners, in vp. \n 2346 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2347 * .value[2].f32: radius of the upper right corner, in vp. \n 2348 * .value[3].f32: radius of the lower left corner, in vp. \n 2349 * .value[4].f32: radius of the lower right corner, in vp. \n 2350 * \n 2351 * Format of the return value {@link ArkUI_AttributeItem}:\n 2352 * .value[0].u32: color of the text background, in 0xARGB format. \n 2353 * .value[1].f32: radius of the upper left corner, in vp. \n 2354 * .value[2].f32: radius of the upper right corner, in vp. \n 2355 * .value[3].f32: radius of the lower left corner, in vp. \n 2356 * .value[4].f32: radius of the lower right corner, in vp. \n 2357 * 2358 */ 2359 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2360 /** 2361 * @brief Defines the text baseline offset attribute 2362 * This attribute can be set, reset, and obtained as required through APIs. 2363 * 2364 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2365 * .value[0].f32: baseline offset, in fp.\n 2366 * \n 2367 * Format of the return value {@link ArkUI_AttributeItem}:\n 2368 * .value[0].f32: baseline offset, in fp. \n 2369 * 2370 */ 2371 NODE_SPAN_BASELINE_OFFSET, 2372 /** 2373 * @brief Defines the image source of the image span. 2374 * This attribute can be set, reset, and obtained as required through APIs. 2375 * 2376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2377 * .string: image address of the image span.\n 2378 * \n 2379 * Format of the return value {@link ArkUI_AttributeItem}:\n 2380 * .string: image address of the image span.\n 2381 * 2382 */ 2383 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2384 /** 2385 * @brief Defines the alignment mode of the image with the text. 2386 * This attribute can be set, reset, and obtained as required through APIs. 2387 * 2388 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2389 * .value[0].i32: alignment mode of the image with the text. 2390 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2391 * \n 2392 * Format of the return value {@link ArkUI_AttributeItem}:\n 2393 * .value[0].i32: alignment mode of the image with the text. 2394 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2395 * 2396 */ 2397 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2398 /** 2399 * @brief Defines the placeholder image source. 2400 * This attribute can be set, reset, and obtained as required through APIs. 2401 * 2402 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2403 * .string: placeholder image source. \n 2404 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}. Either .string or .object must be set.\n 2405 * \n 2406 * Format of the return value {@link ArkUI_AttributeItem}:\n 2407 * .string: placeholder image source. \n 2408 * .object: The parameter type is {@link ArkUI_DrawableDescriptor}.\n 2409 * 2410 */ 2411 NODE_IMAGE_SPAN_ALT, 2412 /** 2413 * @brief Defines the image span baseline offset attribute 2414 * This attribute can be set, reset, and obtained as required through APIs. 2415 * 2416 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2417 * .value[0].f32: baseline offset, in fp.\n 2418 * \n 2419 * Format of the return value {@link ArkUI_AttributeItem}:\n 2420 * .value[0].f32: baseline offset, in fp. \n 2421 * 2422 */ 2423 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2424 /** 2425 * @brief Defines the image source of the <Image> component. 2426 * This attribute can be set, reset, and obtained as required through APIs. 2427 * 2428 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2429 * .string: image source.\n 2430 * \n 2431 * Format of the return value {@link ArkUI_AttributeItem}:\n 2432 * .string: image source.\n 2433 * 2434 */ 2435 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2436 /** 2437 * @brief Defines how the image is resized to fit its container. 2438 * This attribute can be set, reset, and obtained as required through APIs. 2439 * 2440 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2441 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2442 * \n 2443 * Format of the return value {@link ArkUI_AttributeItem}:\n 2444 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2445 * 2446 */ 2447 NODE_IMAGE_OBJECT_FIT, 2448 /** 2449 * @brief Defines the interpolation effect of the image. 2450 * This attribute can be set, reset, and obtained as required through APIs. 2451 * 2452 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2453 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2454 * \n 2455 * Format of the return value {@link ArkUI_AttributeItem}:\n 2456 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2457 * 2458 */ 2459 NODE_IMAGE_INTERPOLATION, 2460 /** 2461 * @brief Defines how the image is repeated. 2462 * This attribute can be set, reset, and obtained as required through APIs. 2463 * 2464 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2465 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2466 * \n 2467 * Format of the return value {@link ArkUI_AttributeItem}:\n 2468 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2469 * 2470 */ 2471 NODE_IMAGE_OBJECT_REPEAT, 2472 /** 2473 * @brief Defines the color filter of the image. 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].f32 to .value[19].f32: filter matrix array. \n 2478 * .size: 5 x 4 filter array size. \n 2479 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2480 * \n 2481 * Format of the return value {@link ArkUI_AttributeItem}:\n 2482 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2483 * .size: 5 x 4 filter array size. \n 2484 * .object: the pointer to OH_Drawing_ColorFilter. \n 2485 * 2486 */ 2487 NODE_IMAGE_COLOR_FILTER, 2488 /** 2489 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2490 * 2491 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2492 * .value[0].i32 : whether to resize the image source. \n 2493 * \n 2494 * Format of the return value {@link ArkUI_AttributeItem}:\n 2495 * .value[0].i32 : whether to resize the image source. \n 2496 * 2497 */ 2498 NODE_IMAGE_AUTO_RESIZE, 2499 /** 2500 * @brief Defines the placeholder image source. 2501 * This attribute can be set, reset, and obtained as required through APIs. 2502 * 2503 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2504 * .string: placeholder image source. \n 2505 * \n 2506 * Format of the return value {@link ArkUI_AttributeItem}:\n 2507 * .string: placeholder image source. \n 2508 * 2509 */ 2510 NODE_IMAGE_ALT, 2511 /** 2512 * @brief Defines whether the image is draggable. 2513 * This attribute can be set, reset, and obtained as required through APIs. 2514 * 2515 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2516 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2517 * \n 2518 * Format of the return value {@link ArkUI_AttributeItem}:\n 2519 * .value[0].i32: whether the image is draggable. \n 2520 * 2521 */ 2522 NODE_IMAGE_DRAGGABLE, 2523 /** 2524 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2525 * 2526 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2527 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2528 * \n 2529 * Format of the return value {@link ArkUI_AttributeItem}:\n 2530 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2531 * 2532 */ 2533 NODE_IMAGE_RENDER_MODE, 2534 /** 2535 * @brief Defines whether the image display size follows the image source size. 2536 * This attribute can be set, reset, and obtained as required through APIs. 2537 * 2538 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2539 * .value[0].i32: wheter to follow, true means to follow.\n 2540 * \n 2541 * Format of the return value {@link ArkUI_AttributeItem}:\n 2542 * .value[0].i32: wheter to follow, true means to follow.\n 2543 * 2544 */ 2545 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2546 /** 2547 * @brief Defines the fill color of the swiper. 2548 * This attribute can be set, reset, and obtained as required through APIs. 2549 * 2550 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2551 * .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2552 * \n 2553 * Format of the return value {@link ArkUI_AttributeItem}:\n 2554 * .value[0].u32: fill color, in 0xARGB format. \n 2555 * 2556 */ 2557 NODE_IMAGE_FILL_COLOR, 2558 /** 2559 * @brief Sets the resizable image options. 2560 * 2561 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2562 * .value[0].f32: width of the left edge. The unit is vp. \n 2563 * .value[1].f32: width of the top edge. The unit is vp. \n 2564 * .value[2].f32: width of the right edge. The unit is vp. \n 2565 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2566 * \n 2567 * Format of the return value {@link ArkUI_AttributeItem}:\n 2568 * .value[0].f32: width of the left edge. The unit is vp. \n 2569 * .value[1].f32: width of the top edge. The unit is vp. \n 2570 * .value[2].f32: width of the right edge. The unit is vp. \n 2571 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2572 * 2573 */ 2574 NODE_IMAGE_RESIZABLE, 2575 /** 2576 * @brief Defines the color of the component when it is selected. 2577 * This attribute can be set, reset, and obtained as required through APIs. 2578 * 2579 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2580 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2581 * \n 2582 * Format of the return value {@link ArkUI_AttributeItem}:\n 2583 * .value[0].u32: background color, in 0xARGB format. \n 2584 * 2585 */ 2586 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2587 /** 2588 * @brief Defines the color of the circular slider for the component of the switch type. 2589 * This attribute can be set, reset, and obtained as required through APIs. 2590 * 2591 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2592 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2593 * \n 2594 * Format of the return value {@link ArkUI_AttributeItem}:\n 2595 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2596 * 2597 */ 2598 NODE_TOGGLE_SWITCH_POINT_COLOR, 2599 /** 2600 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2601 * 2602 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2603 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2604 * \n 2605 * Format of the return value {@link ArkUI_AttributeItem}:\n 2606 * .value[0].i32: whether to enable the toggle. \n 2607 * 2608 */ 2609 NODE_TOGGLE_VALUE, 2610 /** 2611 * @brief Defines the color of the component when it is deselected. 2612 * This attribute can be set, reset, and obtained as required through APIs. 2613 * 2614 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2615 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2616 * \n 2617 * Format of the return value {@link ArkUI_AttributeItem}:\n 2618 * .value[0].u32: background color, in 0xARGB format. \n 2619 * 2620 */ 2621 NODE_TOGGLE_UNSELECTED_COLOR, 2622 2623 /** 2624 * @brief Defines the foreground color of the loading progress bar. 2625 * This attribute can be set, reset, and obtained as required through APIs. 2626 * 2627 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2628 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2629 * \n 2630 * Format of the return value {@link ArkUI_AttributeItem}:\n 2631 * .value[0].u32: foreground color, in 0xARGB format. \n 2632 * 2633 */ 2634 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2635 /** 2636 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2637 * This attribute can be set, reset, and obtained as required through APIs. 2638 * 2639 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2640 * .value[0].i32: whether to show the loading animation. 2641 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2642 * \n 2643 * Format of the return value {@link ArkUI_AttributeItem}:\n 2644 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2645 * 2646 */ 2647 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2648 2649 /** 2650 * @brief Defines the default placeholder text of the single-line text box. 2651 * This attribute can be set, reset, and obtained as required through APIs. 2652 * 2653 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2654 * .string: default placeholder text. \n 2655 * \n 2656 * Format of the return value {@link ArkUI_AttributeItem}:\n 2657 * .string: default placeholder text. \n 2658 * 2659 */ 2660 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2661 /** 2662 * @brief Defines the default text content of the single-line text box. 2663 * This attribute can be set, reset, and obtained as required through APIs. 2664 * 2665 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2666 * .string: default text content. \n 2667 * \n 2668 * Format of the return value {@link ArkUI_AttributeItem}:\n 2669 * .string: default text content. \n 2670 * 2671 */ 2672 NODE_TEXT_INPUT_TEXT, 2673 /** 2674 * @brief Defines the caret color attribute. 2675 * This attribute can be set, reset, and obtained as required through APIs. 2676 * 2677 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2678 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2679 * \n 2680 * Format of the return value {@link ArkUI_AttributeItem}:\n 2681 * .value[0].u32: caret color, in 0xARGB format. \n 2682 * 2683 */ 2684 NODE_TEXT_INPUT_CARET_COLOR, 2685 /** 2686 * @brief Defines the caret style attribute. 2687 * This attribute can be set, reset, and obtained as required through APIs. 2688 * 2689 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2690 * .value[0].f32: caret width, in vp.\n 2691 * \n 2692 * Format of the return value {@link ArkUI_AttributeItem}:\n 2693 * .value[0].f32: caret width, in vp. \n 2694 * 2695 */ 2696 NODE_TEXT_INPUT_CARET_STYLE, 2697 /** 2698 * @brief Defines the underline attribute of the single-line text box. 2699 * This attribute can be set, reset, and obtained as required through APIs. 2700 * 2701 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2702 * .value[0].i32: whether to show an underline. 2703 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2704 * \n 2705 * Format of the return value {@link ArkUI_AttributeItem}:\n 2706 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2707 * 2708 */ 2709 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2710 /** 2711 * @brief Defines the maximum number of characters in the TextInput. 2712 * This attribute can be set, reset, and obtained as required through APIs. 2713 * 2714 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2715 * .value[0].i32: maximum number of characters in the TextInput, without a unit. \n 2716 * \n 2717 * Format of the return value {@link ArkUI_AttributeItem}:\n 2718 * .value[0].i32: maximum number of characters in the TextInput. \n 2719 * 2720 */ 2721 NODE_TEXT_INPUT_MAX_LENGTH, 2722 /** 2723 * @brief Defines the type of the Enter key. 2724 * This attribute can be set, reset, and obtained as required through APIs. 2725 * 2726 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2727 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is 2728 * <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 2729 * \n 2730 * Format of the return value {@link ArkUI_AttributeItem}:\n 2731 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 2732 * 2733 */ 2734 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 2735 /** 2736 * @brief Defines the placeholder text color. 2737 * This attribute can be set, reset, and obtained as required through APIs. 2738 * 2739 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2740 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2741 * \n 2742 * Format of the return value {@link ArkUI_AttributeItem}:\n 2743 * .value[0].u32: color value, in 0xARGB format. \n 2744 * 2745 */ 2746 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 2747 /** 2748 * @brief Defines the placeholder text font. 2749 * This attribute can be set, reset, and obtained as required through APIs. 2750 * 2751 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2752 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2753 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 2754 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 2755 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 2756 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2757 * ?.string: font family. Multiple font families are separated by commas (,). 2758 * Example: "font weight; font family 1, font family 2". \n 2759 * \n 2760 * Format of the return value {@link ArkUI_AttributeItem}:\n 2761 * .value[0].f32: font size, in fp.\n 2762 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2763 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2764 * .string: font family. Multiple font families are separated by commas (,). \n 2765 * 2766 */ 2767 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 2768 /** 2769 * @brief Defines whether to enable the input method when the component obtains focus. 2770 * This attribute can be set, reset, and obtained as required through APIs. 2771 * 2772 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2773 * .value[0].i32: whether to enable the input method when the component obtains focus. 2774 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 2775 * \n 2776 * Format of the return value {@link ArkUI_AttributeItem}:\n 2777 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 2778 * and <b>0</b> means the opposite. \n 2779 * 2780 */ 2781 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 2782 /** 2783 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2784 * 2785 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2786 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 2787 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 2788 * \n 2789 * Format of the return value {@link ArkUI_AttributeItem}:\n 2790 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 2791 * 2792 */ 2793 NODE_TEXT_INPUT_TYPE, 2794 /** 2795 * @brief Defines the background color of the selected text. 2796 * This attribute can be set, reset, and obtained as required through APIs. 2797 * 2798 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2799 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2800 * \n 2801 * Format of the return value {@link ArkUI_AttributeItem}:\n 2802 * .value[0].u32: color value, in 0xARGB format. \n 2803 * 2804 */ 2805 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 2806 /** 2807 * @brief Defines whether to display the password icon at the end of the password text box. 2808 * This attribute can be set, reset, and obtained as required through APIs. 2809 * 2810 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2811 * .value[0].i32: whether to display the password icon at the end of the password text box. 2812 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 2813 * \n 2814 * Format of the return value {@link ArkUI_AttributeItem}:\n 2815 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 2816 * and <b>0</b> means the opposite. \n 2817 * 2818 */ 2819 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 2820 /** 2821 * @brief Defines the editable state for the single-line text box. 2822 * This attribute can be set as required through APIs. 2823 * 2824 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2825 * .value[0].i32: whether to remain in the editable state. The value 2826 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 2827 * \n 2828 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 2829 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 2830 * state, and <b>false</b> means to exit the editable state. \n 2831 * 2832 */ 2833 NODE_TEXT_INPUT_EDITING, 2834 /** 2835 * @brief Defines the style of the cancel button on the right of the single-line text box. 2836 * This attribute can be set, reset, and obtained as required through APIs. 2837 * 2838 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2839 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 2840 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 2841 * .value[1]?.f32: button icon size, in vp.\n 2842 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2843 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 2844 * \n 2845 * Format of the return value {@link ArkUI_AttributeItem}:\n 2846 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 2847 * .value[1].f32: icon size, in vp.\n 2848 * .value[2].u32: button icon color, in 0xARGB format.\n 2849 * .string: button icon image source. \n 2850 * 2851 */ 2852 NODE_TEXT_INPUT_CANCEL_BUTTON, 2853 /** 2854 * @brief Sets the text selection area, which will be highlighted. 2855 * This attribute can be set, reset, and obtained as required through APIs. 2856 * 2857 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2858 * .value[0].i32: start position of the text selection. \n 2859 * .value[1].i32: end position of the text selection. \n 2860 * \n 2861 * Format of the return value {@link ArkUI_AttributeItem}:\n 2862 * .value[0].i32: start position of the text selection. \n 2863 * .value[1].i32: end position of the text selection. \n 2864 * 2865 */ 2866 NODE_TEXT_INPUT_TEXT_SELECTION, 2867 /** 2868 * @brief Sets the color of the text underline when it is enabled. 2869 * 2870 * The default underline color configured for the theme is <b>'0x33182431'</b>. 2871 * 2872 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2873 * .value[0].u32: color of the underline applied to the text being typed in. 2874 * The value is in 0xARGB format. \n 2875 * .value[1].u32: color of the underline applied to the text in the normal state. 2876 * The value is in 0xARGB format. \n 2877 * .value[2].u32: color of the underline applied to the text when an error is detected. 2878 * The value is in 0xARGB format. \n 2879 * .value[3].u32: color of the underline applied to the text when it is disabled. 2880 * The value is in 0xARGB format. \n 2881 * \n 2882 * Format of the return value {@link ArkUI_AttributeItem}:\n 2883 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 2884 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 2885 * .value[2].u32: color of the underline applied to the text when an error is detected. 2886 * The value is in 0xARGB format. \n 2887 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 2888 * 2889 */ 2890 NODE_TEXT_INPUT_UNDERLINE_COLOR, 2891 /** 2892 * @brief Sets whether to enable autofill. 2893 * 2894 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2895 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 2896 * \n 2897 * Format of the return value {@link ArkUI_AttributeItem}:\n 2898 * .value[0].i32: whether to enable autofill. \n 2899 * 2900 */ 2901 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 2902 /** 2903 * @brief Sets the autofill type. 2904 * 2905 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2906 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2907 * \n 2908 * Format of the return value {@link ArkUI_AttributeItem}:\n 2909 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2910 * 2911 */ 2912 NODE_TEXT_INPUT_CONTENT_TYPE, 2913 /** 2914 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 2915 * transmitted to Password Vault for generating a new password. 2916 * 2917 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2918 * .string: rules for generating passwords. \n 2919 * \n 2920 * Format of the return value {@link ArkUI_AttributeItem}:\n 2921 * .string: rules for generating passwords. \n 2922 * 2923 */ 2924 NODE_TEXT_INPUT_PASSWORD_RULES, 2925 /** 2926 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 2927 * 2928 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2929 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 2930 * \n 2931 * Format of the return value {@link ArkUI_AttributeItem}:\n 2932 * .value[0].i32: whether to select all text in the initial state. \n 2933 * 2934 */ 2935 NODE_TEXT_INPUT_SELECT_ALL, 2936 /** 2937 * @brief Sets the regular expression for input filtering. Only inputs that comply with the regular expression can be 2938 * displayed. Other inputs are filtered out. The specified regular expression can match single characters, 2939 * but not strings. 2940 * 2941 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2942 * .string: regular expression. \n 2943 * \n 2944 * Format of the return value {@link ArkUI_AttributeItem}:\n 2945 * .string: regular expression. \n 2946 * 2947 */ 2948 NODE_TEXT_INPUT_INPUT_FILTER, 2949 /** 2950 * @brief Sets the text box to the default style or inline input style. 2951 * 2952 * For the inline input style, only <b>InputType.Normal</b> is supported. 2953 * 2954 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2955 * .value[0].i32: TextInput style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2956 * \n 2957 * Format of the return value {@link ArkUI_AttributeItem}:\n 2958 * .value[0].i32: TextInput style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2959 * 2960 */ 2961 NODE_TEXT_INPUT_STYLE, 2962 /** 2963 * @brief Sets or obtains the caret position. 2964 * 2965 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2966 * In the case of setting the caret position: 2967 * .value[0].i32: character count from the beginning of a string to the caret position. \n 2968 * 2969 * Format of the return value {@link ArkUI_AttributeItem}:\n 2970 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 2971 * current frame, it will not take effect. 2972 * .value[0].i32: index of the caret position. \n 2973 * .value[1].f32: X coordinate of the caret relative to the text box. \n 2974 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 2975 */ 2976 NODE_TEXT_INPUT_CARET_OFFSET, 2977 /** 2978 * @brief Obtains the position of the edited TextArea relative to the component and its size. 2979 * 2980 * Format of the return value {@link ArkUI_AttributeItem}:\n 2981 * .value[0].f32: horizontal coordinate. \n 2982 * .value[1].f32: vertical coordinate. \n 2983 * .value[2].f32: content width. \n 2984 * .value[3].f32: content height. \n 2985 * 2986 */ 2987 NODE_TEXT_INPUT_CONTENT_RECT, 2988 /** 2989 * @brief Obtains the number of lines of the edited text. 2990 * 2991 * Format of the return value {@link ArkUI_AttributeItem}:\n 2992 * .value[0].i32: number of lines of the edited text. \n 2993 * 2994 */ 2995 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 2996 /** 2997 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or 2998 * right-clicked. This attribute can be set, reset, and obtained as required through APIs. 2999 * 3000 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3001 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3002 * right-clicked. The default value is <b>false</b>. \n 3003 * \n 3004 * Format of the return value {@link ArkUI_AttributeItem}:\n 3005 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or 3006 * right-clicked. \n 3007 * 3008 */ 3009 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 3010 /** 3011 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 3012 * 3013 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3014 * .value[0].i32: whether the text box loses focus. \n 3015 * \n 3016 * Format of the return value {@link ArkUI_AttributeItem}:\n 3017 * .value[0].i32: whether the text box loses focus. \n 3018 * 3019 */ 3020 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 3021 /** 3022 * @brief Set up a custom keyboard. 3023 * 3024 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3025 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}.\n 3026 * .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.\n 3027 * \n 3028 * Format of the return value {@link ArkUI_AttributeItem}:\n 3029 * .object:custom keyboard,The parameter type is{@Link ArkUI_NodeHandle}.\n 3030 * .value[0].i32:Set whether the custom keyboard supports the avoidance function.\n 3031 * 3032 */ 3033 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 3034 /** 3035 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 3036 * 3037 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3038 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3039 * \n 3040 * Format of the return value {@link ArkUI_AttributeItem}:\n 3041 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 3042 * 3043 */ 3044 NODE_TEXT_INPUT_WORD_BREAK, 3045 3046 /** 3047 * @brief Sets whether the keyboard pops up when TextInput gains focus. 3048 * It supports property setting, property reset and property acquisition interfaces. 3049 * 3050 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3051 * .value[0].i32: Whether to pop up the keyboard. \n 3052 * \n 3053 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format:\n 3054 * .value[0].i32: Whether to pop up the keyboard. \n 3055 * 3056 */ 3057 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 3058 3059 /** 3060 * @brief When this property is set, the height of the TextInput component is calculated using this property. 3061 * 3062 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3063 * .value[0].i32: set the value of numberOfLines.\n 3064 * \n 3065 * Format of the return value {@link ArkUI_AttributeItem}:\n 3066 * .value[0].i32: the value of numberOfLines.\n 3067 * 3068 */ 3069 NODE_TEXT_INPUT_NUMBER_OF_LINES, 3070 3071 /** 3072 * @brief Sets the letter spacing of the <b>TextInput</b> component. 3073 * This attribute can be set, reset, and obtained as required through APIs. 3074 * 3075 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3076 * .value[0].f32: letter spacing. The default unit is fp. \n 3077 * \n 3078 * Format of the return value {@link ArkUI_AttributeItem}:\n 3079 * .value[0].f32: letter spacing. The default unit is fp. \n 3080 * 3081 * @since 16 3082 */ 3083 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 3084 3085 /** 3086 * @brief Sets whether to enable preview text for the <b>TextInput</b> component. 3087 * This attribute can be set, reset, and obtained as required through APIs. 3088 * 3089 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3090 * .value[0].i32: whether to enable preview tex. \n 3091 * \n 3092 * Format of the return value {@link ArkUI_AttributeItem}:\n 3093 * .value[0].i32: whether to enable preview tex. \n 3094 * 3095 * @since 16 3096 */ 3097 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 3098 3099 /** 3100 * @brief Sets whether to center text vertically in the textInput component. 3101 * 3102 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3103 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3104 * \n 3105 * Format of the return value {@link ArkUI_AttributeItem}:\n 3106 * .value[0].i32: whether to center text vertically. \n 3107 * 3108 * @since 16 3109 */ 3110 NODE_TEXT_INPUT_HALF_LEADING = 7034, 3111 3112 /** 3113 * @brief Set the keyboard style of textInput 3114 * 3115 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3116 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3117 * \n 3118 * Format of the return value {@link ArkUI_AttributeItem}:\n 3119 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3120 * 3121 * @since 15 3122 */ 3123 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 3124 3125 /** 3126 * @brief Defines the default placeholder text for the multi-line text box. 3127 * This attribute can be set, reset, and obtained as required through APIs. 3128 * 3129 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3130 * .string: default placeholder text. \n 3131 * \n 3132 * Format of the return value {@link ArkUI_AttributeItem}:\n 3133 * .string: default placeholder text. \n 3134 * 3135 */ 3136 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 3137 /** 3138 * @brief Defines the default text content for the multi-line text box. 3139 * This attribute can be set, reset, and obtained as required through APIs. 3140 * 3141 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3142 * .string: default text content. \n 3143 * \n 3144 * Format of the return value {@link ArkUI_AttributeItem}:\n 3145 * .string: default text content. \n 3146 * 3147 */ 3148 NODE_TEXT_AREA_TEXT, 3149 /** 3150 * @brief Defines the maximum number of characters in the TextInput. 3151 * This attribute can be set, reset, and obtained as required through APIs. 3152 * 3153 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3154 * .value[0].i32: maximum number of characters in the TextInput. \n 3155 * \n 3156 * Format of the return value {@link ArkUI_AttributeItem}:\n 3157 * .value[0].i32: maximum number of characters in the TextInput. \n 3158 * 3159 */ 3160 NODE_TEXT_AREA_MAX_LENGTH, 3161 /** 3162 * @brief Defines the placeholder text color. 3163 * This attribute can be set, reset, and obtained as required through APIs. 3164 * 3165 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3166 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3167 * \n 3168 * Format of the return value {@link ArkUI_AttributeItem}:\n 3169 * .value[0].u32: color value, in 0xARGB format. \n 3170 * 3171 */ 3172 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 3173 /** 3174 * @brief Defines the placeholder text font. 3175 * This attribute can be set, reset, and obtained as required through APIs. 3176 * 3177 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3178 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 3179 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is 3180 * <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 3181 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is 3182 * <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 3183 * ?.string: font family. Multiple font families are separated by commas (,). 3184 * For example, "font weight; font family 1, font family 2". \n 3185 * \n 3186 * Format of the return value {@link ArkUI_AttributeItem}:\n 3187 * .value[0].f32: font size, in fp.\n 3188 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 3189 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 3190 * .string: font family. Multiple font families are separated by commas (,). \n 3191 * 3192 */ 3193 NODE_TEXT_AREA_PLACEHOLDER_FONT, 3194 /** 3195 * @brief Defines the caret color attribute. 3196 * This attribute can be set, reset, and obtained as required through APIs. 3197 * 3198 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3199 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3200 * \n 3201 * Format of the return value {@link ArkUI_AttributeItem}:\n 3202 * .value[0].u32: background color, in 0xARGB format. \n 3203 * 3204 */ 3205 NODE_TEXT_AREA_CARET_COLOR, 3206 /** 3207 * @brief Defines the editable state for the multi-line text box. 3208 * This attribute can be set as required through APIs. 3209 * 3210 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3211 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 3212 * editable state, and <b>false</b> means to exit the editable state.\n \n 3213 * \n 3214 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 3215 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 3216 * state, and <b>false</b> means to exit the editable state.\n \n 3217 * 3218 */ 3219 NODE_TEXT_AREA_EDITING, 3220 /** 3221 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 3222 * 3223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3224 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. 3225 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 3226 * \n 3227 * Format of the return value {@link ArkUI_AttributeItem}:\n 3228 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 3229 * 3230 */ 3231 NODE_TEXT_AREA_TYPE, 3232 /** 3233 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 3234 * 3235 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3236 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 3237 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 3238 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3239 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 3240 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 3241 * \n 3242 * Format of the return value {@link ArkUI_AttributeItem}:\n 3243 * .value[0].i32: whether to show a character counter. \n 3244 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 3245 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 3246 * by the threshold percentage value. The value range is 1 to 100. \n 3247 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 3248 * The default value is <b>true</b>. \n 3249 * 3250 */ 3251 NODE_TEXT_AREA_SHOW_COUNTER, 3252 3253 /** 3254 * @brief Sets whether to hide the text selection menu when the text box is long-pressed, double-click, 3255 * or right-clicked. This attribute can be set, reset, and obtained as required through APIs. 3256 * 3257 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3258 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3259 * or right-clicked. The default value is <b>false</b>. \n 3260 * \n 3261 * Format of the return value {@link ArkUI_AttributeItem}:\n 3262 * .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, 3263 * or right-clicked. \n 3264 * 3265 */ 3266 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 3267 /** 3268 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 3269 * 3270 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3271 * .value[0].i32: whether the text box loses focus. \n 3272 * \n 3273 * Format of the return value {@link ArkUI_AttributeItem}:\n 3274 * .value[0].i32: whether the text box loses focus. \n 3275 * 3276 */ 3277 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 3278 /** 3279 * @brief Sets the regular expression for input filtering. 3280 * Only inputs that comply with the regular expression can be displayed. 3281 * Other inputs are filtered out. The specified regular expression can match single characters, 3282 * but not strings. 3283 * 3284 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3285 * .string: regular expression. \n 3286 * \n 3287 * Format of the return value {@link ArkUI_AttributeItem}:\n 3288 * .string: regular expression. \n 3289 * 3290 */ 3291 NODE_TEXT_AREA_INPUT_FILTER, 3292 /** 3293 * @brief Defines the background color of the selected text. 3294 * This attribute can be set, reset, and obtained as required through APIs. 3295 * 3296 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3297 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3298 * \n 3299 * Format of the return value {@link ArkUI_AttributeItem}:\n 3300 * .value[0].u32: color value, in 0xARGB format. \n 3301 * 3302 */ 3303 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3304 /** 3305 * @brief Defines the type of the Enter key. 3306 * This attribute can be set, reset, and obtained as required through APIs. 3307 * 3308 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3309 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 3310 * \n 3311 * Format of the return value {@link ArkUI_AttributeItem}:\n 3312 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 3313 * 3314 */ 3315 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3316 /** 3317 * @brief Defines whether to enable the input method when the component obtains focus. 3318 * This attribute can be set, reset, and obtained as required through APIs. 3319 * 3320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3321 * .value[0].i32: whether to enable the input method when the component obtains focus. 3322 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 3323 * \n 3324 * Format of the return value {@link ArkUI_AttributeItem}:\n 3325 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 3326 * and <b>0</b> means the opposite. \n 3327 * 3328 */ 3329 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3330 /** 3331 * @brief Sets or retrieves the caret position information. 3332 * 3333 * The property setting method accepts parameters in the format of {@link ArkUI_AttributeItem}:\n 3334 * Sets the position of the input caret. \n 3335 * .value[0].i32: The number of characters from the start of the string to the caret position. \n 3336 * 3337 * The property retrieval method returns values in the format of {@link ArkUI_AttributeItem}:\n 3338 * Returns the current caret position information. \n 3339 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 3340 * current frame, it will not take effect. \n 3341 * value[0].i32: The index of the caret position. \n 3342 * value[1].f32: The x-coordinate of the caret relative to the TextArea. \n 3343 * value[2].f32: The y-coordinate of the caret relative to the TextArea. \n 3344 */ 3345 NODE_TEXT_AREA_CARET_OFFSET, 3346 /** 3347 * @brief Obtains the position of the edited TextArea relative to the component and its size. 3348 * 3349 * Format of the return value {@link ArkUI_AttributeItem}:\n 3350 * .value[0].f32: horizontal coordinate. \n 3351 * .value[1].f32: vertical coordinate. \n 3352 * .value[2].f32: content width. \n 3353 * .value[3].f32: content height. \n 3354 * 3355 */ 3356 NODE_TEXT_AREA_CONTENT_RECT, 3357 /** 3358 * @brief Obtains the number of lines of the edited text. 3359 * 3360 * Format of the return value {@link ArkUI_AttributeItem}:\n 3361 * .value[0].i32: number of lines of the edited text. \n 3362 * 3363 */ 3364 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3365 /** 3366 * @brief Sets the text selection area, which will be highlighted. 3367 * This attribute can be set, reset, and obtained as required through APIs. 3368 * 3369 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3370 * .value[0].i32: start position of the text selection. \n 3371 * .value[1].i32: end position of the text selection. \n 3372 * \n 3373 * Format of the return value {@link ArkUI_AttributeItem}:\n 3374 * .value[0].i32: start position of the text selection. \n 3375 * .value[1].i32: end position of the text selection. \n 3376 * 3377 */ 3378 NODE_TEXT_AREA_TEXT_SELECTION, 3379 /** 3380 * @brief Sets whether to enable autofill. 3381 * 3382 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3383 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 3384 * \n 3385 * Format of the return value {@link ArkUI_AttributeItem}:\n 3386 * .value[0].i32: whether to enable autofill. \n 3387 * 3388 */ 3389 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3390 /** 3391 * @brief Sets the autofill type. 3392 * 3393 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3394 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3395 * \n 3396 * Format of the return value {@link ArkUI_AttributeItem}:\n 3397 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 3398 * 3399 */ 3400 NODE_TEXT_AREA_CONTENT_TYPE, 3401 3402 /** 3403 * @brief Sets whether the keyboard pops up when TextArea gains focus. 3404 * It supports property setting, property reset and property acquisition interfaces. 3405 * 3406 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 3407 * .value[0].i32: Whether to pop up the keyboard. \n 3408 * \n 3409 * Attribute acquisition method return value {@link ArkUI_AttributeItem} format:\n 3410 * .value[0].i32: Whether to pop up the keyboard. \n 3411 * 3412 */ 3413 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3414 3415 /** 3416 * @brief When this property is set, the height of the textArea component is calculated using this property. 3417 * 3418 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3419 * .value[0].i32: set the value of numberOfLines.\n 3420 * \n 3421 * Format of the return value {@link ArkUI_AttributeItem}:\n 3422 * .value[0].i32: Set the value of numberOfLines\n 3423 * 3424 */ 3425 NODE_TEXT_AREA_NUMBER_OF_LINES, 3426 3427 /** 3428 * @brief Sets the letter spacing of the <b>TextArea</b> component. 3429 * This attribute can be set, reset, and obtained as required through APIs. 3430 * 3431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3432 * .value[0].f32: letter spacing. The default unit is fp. \n 3433 * \n 3434 * Format of the return value {@link ArkUI_AttributeItem}:\n 3435 * .value[0].f32: letter spacing. The default unit is fp. \n 3436 * 3437 * @since 16 3438 */ 3439 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3440 3441 /** 3442 * @brief Sets whether to enable preview text for the <b>TextArea</b> component. 3443 * This attribute can be set, reset, and obtained as required through APIs. 3444 * 3445 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3446 * .value[0].i32: whether to enable preview tex. \n 3447 * \n 3448 * Format of the return value {@link ArkUI_AttributeItem}:\n 3449 * .value[0].i32: whether to enable preview tex. \n 3450 * 3451 * @since 16 3452 */ 3453 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3454 3455 /** 3456 * @brief Sets whether to center text vertically in the textArea component. 3457 * 3458 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3459 * .value[0].i32: whether to center text vertically. The default value is <b>false</b>. \n 3460 * \n 3461 * Format of the return value {@link ArkUI_AttributeItem}:\n 3462 * .value[0].i32: whether to center text vertically. \n 3463 * 3464 * @since 16 3465 */ 3466 NODE_TEXT_AREA_HALF_LEADING = 8025, 3467 3468 /** 3469 * @brief Set the keyboard style of textArea 3470 * 3471 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3472 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3473 * \n 3474 * Format of the return value {@link ArkUI_AttributeItem}:\n 3475 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3476 * 3477 * @since 15 3478 */ 3479 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3480 3481 /** 3482 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3483 * 3484 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3485 * .string: default text content. \n 3486 * \n 3487 * Format of the return value {@link ArkUI_AttributeItem}:\n 3488 * .string: default text content. \n 3489 * 3490 */ 3491 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3492 3493 /** 3494 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3495 * 3496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3497 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3498 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3499 * After api 18 the default value change to <b>ARKUI_BUTTON_ROUNDED_RECTANGLE</b>. 3500 * \n 3501 * Format of the return value {@link ArkUI_AttributeItem}:\n 3502 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3503 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3504 * After api 18 the default value change to <b>ARKUI_BUTTON_ROUNDED_RECTANGLE</b>. 3505 * 3506 */ 3507 NODE_BUTTON_TYPE, 3508 3509 /** 3510 * @brief Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs. 3511 * 3512 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3513 * .value[0].f32: minimum font scale, in fp. 3514 * \n 3515 * Format of the return value {@link ArkUI_AttributeItem}:\n 3516 * .value[0].f32: minimum font scale, in fp. 3517 * 3518 * @since 18 3519 */ 3520 NODE_BUTTON_MIN_FONT_SCALE, 3521 3522 /** 3523 * @brief Defines the maximum font scale attribute, which 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 * .value[0].f32: maximum font scale, in fp. 3527 * \n 3528 * Format of the return value {@link ArkUI_AttributeItem}:\n 3529 * .value[0].f32: maximum font scale, in fp. 3530 * 3531 * @since 18 3532 */ 3533 NODE_BUTTON_MAX_FONT_SCALE, 3534 3535 /** 3536 * @brief Defines the current value of the progress indicator. 3537 * This attribute can be set, reset, and obtained as required through APIs. 3538 * 3539 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3540 * .value[0].f32: current value of the progress indicator. \n 3541 * \n 3542 * Format of the return value {@link ArkUI_AttributeItem}:\n 3543 * .value[0].f32: current value of the progress indicator. \n 3544 * 3545 */ 3546 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3547 /** 3548 * @brief Defines the total value of the progress indicator. 3549 * This attribute can be set, reset, and obtained as required through APIs. 3550 * 3551 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3552 * .value[0].f32: total value of the progress indicator. \n 3553 * \n 3554 * Format of the return value {@link ArkUI_AttributeItem}:\n 3555 * .value[0].f32: total value of the progress indicator. \n 3556 * 3557 */ 3558 NODE_PROGRESS_TOTAL, 3559 /** 3560 * @brief Defines the color for the progress value on the progress indicator. 3561 * This attribute can be set, reset, and obtained as required through APIs. 3562 * 3563 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3564 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3565 * \n 3566 * Format of the return value {@link ArkUI_AttributeItem}:\n 3567 * .value[0].u32: color value, in 0xARGB format. \n 3568 * 3569 */ 3570 NODE_PROGRESS_COLOR, 3571 /** 3572 * @brief Defines the type of the progress indicator. 3573 * This attribute can be set, reset, and obtained as required through APIs. 3574 * 3575 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3576 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3577 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3578 * \n 3579 * Format of the return value {@link ArkUI_AttributeItem}:\n 3580 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3581 * 3582 */ 3583 NODE_PROGRESS_TYPE, 3584 /** 3585 * @brief Sets the style of the linear progress indicator. 3586 * This attribute can be set, reset, and obtained as required through APIs. 3587 * If the progress indicator type is not linear, it will not take effect. 3588 * 3589 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3590 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3591 * \n 3592 * Format of the return value {@link ArkUI_AttributeItem}:\n 3593 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3594 * 3595 * @since 15 3596 */ 3597 NODE_PROGRESS_LINEAR_STYLE, 3598 3599 /** 3600 * @brief Defines whether the check box is selected. 3601 * This attribute can be set, reset, and obtained as required through APIs. 3602 * 3603 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3604 * .value[0].i32: whether the check box is selected. 3605 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3606 * \n 3607 * Format of the return value {@link ArkUI_AttributeItem}:\n 3608 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3609 * 3610 */ 3611 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3612 3613 /** 3614 * @brief Defines the color of the check box when it is selected. 3615 * This attribute can be set, reset, and obtained as required through APIs. 3616 * 3617 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3618 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3619 * \n 3620 * Format of the return value {@link ArkUI_AttributeItem}:\n 3621 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3622 * 3623 */ 3624 NODE_CHECKBOX_SELECT_COLOR, 3625 3626 /** 3627 * @brief Defines the border color of the check box when it is not selected. 3628 * This attribute can be set, reset, and obtained as required through APIs. 3629 * 3630 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3631 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3632 * \n 3633 * Format of the return value {@link ArkUI_AttributeItem}:\n 3634 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3635 * 3636 */ 3637 NODE_CHECKBOX_UNSELECT_COLOR, 3638 3639 /** 3640 * @brief Defines the internal icon style of the check box. 3641 * This attribute can be set, reset, and obtained as required through APIs. 3642 * 3643 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3644 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3645 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 3646 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 3647 * \n 3648 * Format of the return value {@link ArkUI_AttributeItem}:\n 3649 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3650 * .value[1].f32: size of the internal mark, in vp. \n 3651 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 3652 * 3653 */ 3654 NODE_CHECKBOX_MARK, 3655 3656 /** 3657 * @brief Defines the shape of the check box. 3658 * This attribute can be set, reset, and obtained as required through APIs. 3659 * 3660 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3661 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 3662 * \n 3663 * Format of the return value {@link ArkUI_AttributeItem}:\n 3664 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 3665 * 3666 */ 3667 NODE_CHECKBOX_SHAPE, 3668 3669 /** 3670 * @brief Defines the name of the checkbox. 3671 * This attribute can be set, reset, and obtained as required through APIs. 3672 * 3673 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3674 * .string: component name. \n 3675 * \n 3676 * Format of the return value {@link ArkUI_AttributeItem}:\n 3677 * .string: component name. \n 3678 * 3679 *@since 15 3680 */ 3681 NODE_CHECKBOX_NAME = 11005, 3682 3683 /** 3684 * @brief Defines the name of the checkbox. 3685 * This attribute can be set, reset, and obtained as required through APIs. 3686 * 3687 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3688 * .string: component name. \n 3689 * \n 3690 * Format of the return value {@link ArkUI_AttributeItem}:\n 3691 * .string: component name. \n 3692 * 3693 * @since 15 3694 */ 3695 NODE_CHECKBOX_GROUP = 11006, 3696 3697 /** 3698 * @brief Defines the ID of the <b><XComponent></b> component. 3699 * This attribute can be set and obtained as required through APIs. 3700 * 3701 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3702 * .string: component ID. \n 3703 * \n 3704 * Format of the return value {@link ArkUI_AttributeItem}:\n 3705 * .string: component ID. \n 3706 * 3707 */ 3708 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 3709 /** 3710 * @brief Defines the type of the <b><XComponent></b> component. 3711 * This attribute can be set, reset, and obtained as required through APIs. 3712 * 3713 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3714 * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n 3715 * \n 3716 * Format of the return value {@link ArkUI_AttributeItem}:\n 3717 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 3718 * 3719 */ 3720 NODE_XCOMPONENT_TYPE, 3721 /** 3722 * @brief Defines the width and height of the <b><XComponent></b> component. 3723 * This attribute can be set and obtained as required through APIs. 3724 * 3725 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3726 * .value[0].u32: width, in px. \n 3727 * .value[1].u32: height, in px. \n 3728 * \n 3729 * Format of the return value {@link ArkUI_AttributeItem}:\n 3730 * .value[0].u32: width, in px. \n 3731 * .value[1].u32: height, in px. \n 3732 * 3733 */ 3734 NODE_XCOMPONENT_SURFACE_SIZE, 3735 /** 3736 * @brief Defines the rectangle information of surface created by the <b><XComponent></b> component. 3737 * This attribute can be set and obtained as required through APIs. 3738 * 3739 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3740 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 3741 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 3742 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 3743 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 3744 * \n 3745 * Format of the return value {@link ArkUI_AttributeItem}:\n 3746 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3747 * .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels. \n 3748 * .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels. \n 3749 * .value[2].i32: The width of the surface created by XComponent, in pixels. \n 3750 * .value[3].i32: The height of the surface created by XComponent, in pixels. \n 3751 * @since 16 3752 */ 3753 NODE_XCOMPONENT_SURFACE_RECT, 3754 /** 3755 * @brief Defines whether to enable the AI analyzer for the <b><XComponent></b> component. 3756 * This attribute can be set and obtained as required through APIs. 3757 * 3758 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3759 * value[0].i32: The parameter type is 1 or 0. 3760 * \n 3761 * Format of the return value {@link ArkUI_AttributeItem}:\n 3762 * value[0].i32: The parameter type is 1 or 0. 3763 * @since 16 3764 */ 3765 NODE_XCOMPONENT_ENABLE_ANALYZER, 3766 3767 /** 3768 * @brief Defines whether to display the lunar calendar in the date picker. 3769 * This attribute can be set, reset, and obtained as required through APIs. 3770 * 3771 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3772 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 3773 * \n 3774 * Format of the return value {@link ArkUI_AttributeItem}:\n 3775 * .value[0].i32: whether to display the lunar calendar in the date picker. 3776 * 3777 */ 3778 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 3779 /** 3780 * @brief Defines the start date of the date picker. 3781 * This attribute can be set, reset, and obtained as required through APIs. 3782 * 3783 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3784 * .string: date. The default value is <b>"1970-1-1"</b>. \n 3785 * \n 3786 * Format of the return value {@link ArkUI_AttributeItem}:\n 3787 * .string: date. \n 3788 * 3789 */ 3790 NODE_DATE_PICKER_START, 3791 /** 3792 * @brief Defines the end date of the date picker. 3793 * This attribute can be set, reset, and obtained as required through APIs. 3794 * 3795 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3796 * .string: date. The default value is <b>"2100-12-31"</b>. \n 3797 * \n 3798 * Format of the return value {@link ArkUI_AttributeItem}:\n 3799 * .string: date. \n 3800 * 3801 */ 3802 NODE_DATE_PICKER_END, 3803 /** 3804 * @brief Defines the selected date of the date picker. 3805 * This attribute can be set, reset, and obtained as required through APIs. 3806 * 3807 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3808 * .string: date. The default value is <b>"2024-01-22"</b>. \n 3809 * \n 3810 * Format of the return value {@link ArkUI_AttributeItem}:\n 3811 * .string: date. 3812 * 3813 */ 3814 NODE_DATE_PICKER_SELECTED, 3815 /** 3816 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 3817 * This attribute can be set, reset, and obtained as required through APIs. 3818 * 3819 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3820 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3821 * Parameter 1: font color, in #ARGB format.\n 3822 * Parameter 2: font size, in fp. The value is a number.\n 3823 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3824 * Parameter 4: fonts, separated by commas (,).\n 3825 * Parameter 5: font style. Available options are ("normal", "italic").\n 3826 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3827 * \n 3828 * Format of the return value {@link ArkUI_AttributeItem}:\n 3829 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3830 * Parameter 1: font color, in #ARGB format.\n 3831 * Parameter 2: font size, in fp. The value is a number.\n 3832 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3833 * Parameter 4: fonts, separated by commas (,).\n 3834 * Parameter 5: font style. Available options are ("normal", "italic").\n 3835 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3836 * 3837 */ 3838 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 3839 /** 3840 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 3841 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 3842 * 3843 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3844 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3845 * Parameter 1: font color, in #ARGB format.\n 3846 * Parameter 2: font size, in fp. The value is a number.\n 3847 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3848 * Parameter 4: fonts, separated by commas (,).\n 3849 * Parameter 5: font style. Available options are ("normal", "italic").\n 3850 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3851 * \n 3852 * Format of the return value {@link ArkUI_AttributeItem}:\n 3853 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3854 * Parameter 1: font color, in #ARGB format.\n 3855 * Parameter 2: font size, in fp. The value is a number.\n 3856 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3857 * Parameter 4: fonts, separated by commas (,).\n 3858 * Parameter 5: font style. Available options are ("normal", "italic").\n 3859 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3860 * 3861 */ 3862 NODE_DATE_PICKER_TEXT_STYLE, 3863 /** 3864 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 3865 * This attribute can be set, reset, and obtained as required through APIs. 3866 * 3867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3868 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3869 * Parameter 1: font color, in #ARGB format.\n 3870 * Parameter 2: font size, in fp. The value is a number.\n 3871 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3872 * Parameter 4: fonts, separated by commas (,).\n 3873 * Parameter 5: font style. Available options are ("normal", "italic").\n 3874 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3875 * \n 3876 * Format of the return value {@link ArkUI_AttributeItem}:\n 3877 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3878 * Parameter 1: font color, in #ARGB format.\n 3879 * Parameter 2: font size, in fp. The value is a number.\n 3880 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3881 * Parameter 4: fonts, separated by commas (,).\n 3882 * Parameter 5: font style. Available options are ("normal", "italic").\n 3883 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3884 * 3885 */ 3886 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 3887 /** 3888 * @brief Defines the mode of the date picker. 3889 * This attribute can be set, reset, and obtained as required through APIs. 3890 * 3891 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3892 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 3893 * \n 3894 * Format of the return value {@link ArkUI_AttributeItem}:\n 3895 * value[0].i32: the mode. The value is and enum of {@link ArkUI_DatePickerMode}.\n. 3896 * 3897 * @since 18 3898 */ 3899 NODE_DATE_PICKER_MODE = 13007, 3900 /** 3901 * @brief Defines whether haptic feedback. 3902 * This attribute can be set, reset, and obtained as required through APIs. 3903 * 3904 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3905 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 3906 * <b>false</b> means the opposite.\n 3907 * \n 3908 * Format of the return value {@link ArkUI_AttributeItem}:\n 3909 * value[0].i32: whether to feedback.\n 3910 * 3911 * @since 18 3912 */ 3913 NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK = 13008, 3914 /** 3915 * @brief Defines the time of the selected item. in the timer picker. 3916 * This attribute can be set, reset, and obtained as required through APIs. 3917 * 3918 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3919 * .string: time. The default value is the current system time. \n 3920 * \n 3921 * Format of the return value {@link ArkUI_AttributeItem}:\n 3922 * .string: time. 3923 * 3924 */ 3925 3926 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 3927 /** 3928 * @brief Defines whether the display time is in 24-hour format. 3929 * This attribute can be set, reset, and obtained as required through APIs. 3930 * 3931 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3932 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 3933 * \n 3934 * Format of the return value {@link ArkUI_AttributeItem}:\n 3935 * .value[0].i32: whether the display time is in 24-hour format. 3936 * 3937 */ 3938 NODE_TIME_PICKER_USE_MILITARY_TIME, 3939 /** 3940 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 3941 * This attribute can be set, reset, and obtained as required through APIs. 3942 * 3943 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3944 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3945 * Parameter 1: font color, in #ARGB format.\n 3946 * Parameter 2: font size, in fp. The value is a number.\n 3947 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3948 * Parameter 4: fonts, separated by commas (,).\n 3949 * Parameter 5: font style. Available options are ("normal", "italic").\n 3950 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3951 * \n 3952 * Format of the return value {@link ArkUI_AttributeItem}:\n 3953 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3954 * Parameter 1: font color, in #ARGB format.\n 3955 * Parameter 2: font size, in fp. The value is a number.\n 3956 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3957 * Parameter 4: fonts, separated by commas (,).\n 3958 * Parameter 5: font style. Available options are ("normal", "italic").\n 3959 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3960 * 3961 */ 3962 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 3963 /** 3964 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 3965 * in the time picker. This attribute can be set, reset, and obtained as required through APIs. 3966 * 3967 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3968 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3969 * Parameter 1: font color, in #ARGB format.\n 3970 * Parameter 2: font size, in fp. The value is a number.\n 3971 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3972 * Parameter 4: fonts, separated by commas (,).\n 3973 * Parameter 5: font style. Available options are ("normal", "italic").\n 3974 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3975 * \n 3976 * Format of the return value {@link ArkUI_AttributeItem}:\n 3977 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3978 * Parameter 1: font color, in #ARGB format.\n 3979 * Parameter 2: font size, in fp. The value is a number.\n 3980 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3981 * Parameter 4: fonts, separated by commas (,).\n 3982 * Parameter 5: font style. Available options are ("normal", "italic").\n 3983 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3984 * 3985 */ 3986 NODE_TIME_PICKER_TEXT_STYLE, 3987 /** 3988 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 3989 * This attribute can be set, reset, and obtained as required through APIs. 3990 * 3991 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3992 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3993 * Parameter 1: font color, in #ARGB format.\n 3994 * Parameter 2: font size, in fp. The value is a number.\n 3995 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3996 * Parameter 4: fonts, separated by commas (,).\n 3997 * Parameter 5: font style. Available options are ("normal", "italic").\n 3998 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3999 * \n 4000 * Format of the return value {@link ArkUI_AttributeItem}:\n 4001 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4002 * Parameter 1: font color, in #ARGB format.\n 4003 * Parameter 2: font size, in fp. The value is a number.\n 4004 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4005 * Parameter 4: fonts, separated by commas (,).\n 4006 * Parameter 5: font style. Available options are ("normal", "italic").\n 4007 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4008 * 4009 */ 4010 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 4011 /** 4012 * @brief Defines the start time of the time picker. 4013 * This attribute can be set, reset, and obtained as required through APIs. 4014 * 4015 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4016 * .string: time. The default value is <b>"00:00:00"</b>.\n 4017 * \n 4018 * Format of the return value {@link ArkUI_AttributeItem}:\n 4019 * .string: time. The default value is <b>"00:00:00"</b>.\n 4020 * 4021 * @since 18 4022 */ 4023 NODE_TIME_PICKER_START = 14005, 4024 /** 4025 * @brief Defines the end time of the time picker. 4026 * This attribute can be set, reset, and obtained as required through APIs. 4027 * 4028 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4029 * .string: time. The default value is <b>"23:59:59"</b>.\n 4030 * \n 4031 * Format of the return value {@link ArkUI_AttributeItem}:\n 4032 * .string: time. The default value is <b>"23:59:59"</b>.\n 4033 * 4034 * @since 18 4035 */ 4036 NODE_TIME_PICKER_END = 14006, 4037 4038 /** 4039 * @brief Defines whether the AM/PM option is cascaded with the time in 12-hour mode. 4040 * This attribute can be set, reset, and obtained as required through APIs. 4041 * 4042 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4043 * .value[0].i32: whether to enable cascade. The default value is <b>false</b>.\n 4044 * \n 4045 * Format of the return value {@link ArkUI_AttributeItem}:\n 4046 * .value[0].i32: whether to enable cascade.\n 4047 * 4048 * @since 18 4049 */ 4050 NODE_TIME_PICKER_ENABLE_CASCADE = 14007, 4051 4052 /** 4053 * @brief Defines the data selection range of the text picker. 4054 * 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].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 4058 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 4059 * ?.string: string input, whose format varies by picker type.\n 4060 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 4061 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4062 * semicolons (;), and strings within each pair are separated by commas (,). \n 4063 * ?.object: Object input, whose format varies by picker type.\n 4064 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 4065 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4066 * \n 4067 * Format of the return value {@link ArkUI_AttributeItem}:\n 4068 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 4069 * ?.string: string output, whose format varies by picker type.\n 4070 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 4071 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 4072 * semicolons (;), and strings within each pair are separated by commas (,). \n 4073 * ?.string: Object output, whose format varies by picker type.\n 4074 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 4075 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 4076 * 4077 */ 4078 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 4079 /** 4080 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4081 * This attribute can be set, reset, and obtained as required through APIs. 4082 * 4083 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4084 * .value[0].u32: index. If there are multiple index values, add them one by one. \n 4085 * \n 4086 * Format of the return value {@link ArkUI_AttributeItem}:\n 4087 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 4088 * 4089 */ 4090 NODE_TEXT_PICKER_OPTION_SELECTED, 4091 /** 4092 * @brief Defines the value of the default selected item in the text picker. 4093 * This attribute can be set, reset, and obtained as required through APIs. 4094 * 4095 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4096 * .string: value of the selected item. If there are multiple values, add them one by one and 4097 * separate them with semicolons (;). \n 4098 * \n 4099 * Format of the return value {@link ArkUI_AttributeItem}:\n 4100 * .string: value of the selected item. If there are multiple values, add them one by one and 4101 * separate them with semicolons (;).\n 4102 * 4103 */ 4104 NODE_TEXT_PICKER_OPTION_VALUE, 4105 /** 4106 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker. 4107 * This attribute can be set, reset, and obtained as required through APIs. 4108 * 4109 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4110 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4111 * Parameter 1: font color, in #ARGB format.\n 4112 * Parameter 2: font size, in fp. The value is a number.\n 4113 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4114 * Parameter 4: fonts, separated by commas (,).\n 4115 * Parameter 5: font style. Available options are ("normal", "italic").\n 4116 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4117 * \n 4118 * Format of the return value {@link ArkUI_AttributeItem}:\n 4119 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4120 * Parameter 1: font color, in #ARGB format.\n 4121 * Parameter 2: font size, in fp. The value is a number.\n 4122 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4123 * Parameter 4: fonts, separated by commas (,).\n 4124 * Parameter 5: font style. Available options are ("normal", "italic").\n 4125 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4126 * 4127 */ 4128 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 4129 /** 4130 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 4131 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 4132 * 4133 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4134 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4135 * Parameter 1: font color, in #ARGB format.\n 4136 * Parameter 2: font size, in fp. The value is a number.\n 4137 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4138 * Parameter 4: fonts, separated by commas (,).\n 4139 * Parameter 5: font style. Available options are ("normal", "italic").\n 4140 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4141 * \n 4142 * Format of the return value {@link ArkUI_AttributeItem}:\n 4143 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4144 * Parameter 1: font color, in #ARGB format.\n 4145 * Parameter 2: font size, in fp. The value is a number.\n 4146 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4147 * Parameter 4: fonts, separated by commas (,).\n 4148 * Parameter 5: font style. Available options are ("normal", "italic").\n 4149 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4150 * 4151 */ 4152 NODE_TEXT_PICKER_TEXT_STYLE, 4153 /** 4154 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 4155 * This attribute can be set, reset, and obtained as required through APIs. 4156 * 4157 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4158 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4159 * Parameter 1: font color, in #ARGB format.\n 4160 * Parameter 2: font size, in fp. The value is a number.\n 4161 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4162 * Parameter 4: fonts, separated by commas (,).\n 4163 * Parameter 5: font style. Available options are ("normal", "italic").\n 4164 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4165 * \n 4166 * Format of the return value {@link ArkUI_AttributeItem}:\n 4167 * .string: array of five parameters of the string type, separated by semicolons (;).\n 4168 * Parameter 1: font color, in #ARGB format.\n 4169 * Parameter 2: font size, in fp. The value is a number.\n 4170 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 4171 * Parameter 4: fonts, separated by commas (,).\n 4172 * Parameter 5: font style. Available options are ("normal", "italic").\n 4173 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 4174 * 4175 */ 4176 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 4177 /** 4178 * @brief Defines the index of the default selected item in the data selection range of the text picker. 4179 * This attribute can be set, reset, and obtained as required through APIs. 4180 * 4181 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4182 * .value[0...].i32: index of the default item in the data selection range. 4183 * 4184 */ 4185 NODE_TEXT_PICKER_SELECTED_INDEX, 4186 /** 4187 * @brief Defines whether to support scroll looping for the text picker. 4188 * This attribute can be set, reset, and obtained as required through APIs. 4189 * 4190 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4191 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 4192 * <b>false</b> means the opposite.\n \n 4193 * \n 4194 * Format of the return value {@link ArkUI_AttributeItem}:\n 4195 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 4196 * 4197 */ 4198 NODE_TEXT_PICKER_CAN_LOOP, 4199 /** 4200 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 4201 * through APIs. 4202 * 4203 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4204 * .value[0].f32: item height, in vp. \n 4205 * \n 4206 * Format of the return value {@link ArkUI_AttributeItem}:\n 4207 * value[0].f32: item height, in vp. \n 4208 * 4209 */ 4210 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 4211 /** 4212 * @brief Defines whether haptic feedback. 4213 * This attribute can be set, reset, and obtained as required through APIs. 4214 * 4215 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4216 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4217 * <b>false</b> means the opposite.\n 4218 * \n 4219 * Format of the return value {@link ArkUI_AttributeItem}:\n 4220 * value[0].i32: whether to feedback.\n 4221 * 4222 * @since 18 4223 */ 4224 NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK = 15010, 4225 /** 4226 * @brief Defines the style of the background in the selected state of the calendar picker. 4227 * This attribute can be set, reset, and obtained as required through APIs. 4228 * 4229 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4230 * .value[0].f32: style of the background in the selected state of the calendar picker. 4231 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 4232 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 4233 * or greater than 16, the background is a circle. \n 4234 * \n 4235 * Format of the return value {@link ArkUI_AttributeItem}:\n 4236 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 4237 * If the value is <b>0</b>, the background is a rectangle with square corners. 4238 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 4239 * greater than 16, the background is a circle. \n 4240 * 4241 */ 4242 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 4243 /** 4244 * @brief Defines the date of the selected item in the calendar picker. 4245 * This attribute can be set, reset, and obtained as required through APIs. 4246 * 4247 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4248 * .value[0].u32: year of the selected date. \n 4249 * .value[1].u32: month of the selected date. \n 4250 * .value[2].u32: day of the selected date. \n 4251 * \n 4252 * Format of the return value {@link ArkUI_AttributeItem}:\n 4253 * .value[0].u32: year of the selected date. \n 4254 * .value[1].u32: month of the selected date. \n 4255 * .value[2].u32: day of the selected date. \n 4256 * 4257 */ 4258 NODE_CALENDAR_PICKER_SELECTED_DATE, 4259 /** 4260 * @brief Defines how the calendar picker is aligned with the entry component. 4261 * This attribute can be set, reset, and obtained as required through APIs. 4262 * 4263 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4264 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4265 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4266 * the specified alignment mode. \n 4267 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4268 * the specified alignment mode. \n 4269 * \n 4270 * Format of the return value {@link ArkUI_AttributeItem}:\n 4271 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 4272 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 4273 * the specified alignment mode. \n 4274 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 4275 * the specified alignment mode. \n 4276 * 4277 */ 4278 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 4279 /** 4280 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 4281 * 4282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4283 * .value[0]?.u32: font color of the entry area. \n 4284 * .value[1]?.f32: font size of the entry area, in fp. \n 4285 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4286 * \n 4287 * Format of the return value {@link ArkUI_AttributeItem}:\n 4288 * .value[0].u32: font color of the entry area. \n 4289 * .value[1].f32: font size of the entry area, in fp. \n 4290 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 4291 * 4292 */ 4293 NODE_CALENDAR_PICKER_TEXT_STYLE, 4294 /** 4295 * @brief Defines the start date of the calendar picker. 4296 * This attribute can be set, reset, and obtained as required through APIs. 4297 * 4298 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4299 * .string: date. The value like <b>"1970-1-1"</b>. \n 4300 * \n 4301 * Format of the return value {@link ArkUI_AttributeItem}:\n 4302 * .string: date. \n 4303 * 4304 * @since 18 4305 */ 4306 NODE_CALENDAR_PICKER_START = 16004, 4307 /** 4308 * @brief Defines the end date of the calendar picker. 4309 * This attribute can be set, reset, and obtained as required through APIs. 4310 * 4311 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4312 * .string: date. The value like <b>"2100-12-31"</b>. \n 4313 * \n 4314 * Format of the return value {@link ArkUI_AttributeItem}:\n 4315 * .string: date. \n 4316 * 4317 * @since 18 4318 */ 4319 NODE_CALENDAR_PICKER_END = 16005, 4320 /** 4321 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 4322 * 4323 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4324 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4325 * \n 4326 * Format of the return value {@link ArkUI_AttributeItem}:\n 4327 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4328 * 4329 */ 4330 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 4331 4332 /** 4333 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 4334 * through APIs. 4335 * 4336 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4337 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4338 * \n 4339 * Format of the return value {@link ArkUI_AttributeItem}:\n 4340 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4341 * 4342 */ 4343 NODE_SLIDER_TRACK_COLOR, 4344 4345 /** 4346 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 4347 * as required through APIs. 4348 * 4349 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4350 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4351 * \n 4352 * Format of the return value {@link ArkUI_AttributeItem}:\n 4353 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4354 * 4355 */ 4356 NODE_SLIDER_SELECTED_COLOR, 4357 4358 /** 4359 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 4360 * through APIs. 4361 * 4362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4363 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4364 * and <b>0</b> (default value) means the opposite. \n 4365 * \n 4366 * Format of the return value {@link ArkUI_AttributeItem}:\n 4367 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 4368 * and <b>0</b> (default value) means the opposite. \n 4369 * 4370 */ 4371 NODE_SLIDER_SHOW_STEPS, 4372 4373 /** 4374 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 4375 * 4376 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4377 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4378 * .string?: depending on the shape. Optional. \n 4379 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4380 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4381 * There are five types:\n 4382 * 1. Rectangle:\n 4383 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4384 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4385 * .value[2].f32: width of the rectangle.\n 4386 * .value[3].f32: height of the rectangle.\n 4387 * .value[4].f32: width of the rounded corner of the rectangle.\n 4388 * .value[5].f32: height of the rounded corner of the rectangle.\n 4389 * 2. Circle:\n 4390 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4391 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4392 * .value[2].f32: width of the circle.\n 4393 * .value[3].f32: height of the circle.\n 4394 * 3.Ellipse:\n 4395 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4396 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4397 * .value[2].f32: width of the ellipse.\n 4398 * .value[3].f32: height of the ellipse;\n 4399 * 4. Path:\n 4400 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4401 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4402 * .value[2].f32: width of the path.\n 4403 * .value[3].f32: height of the path.\n 4404 * .string: command for drawing the path.\n 4405 * \n 4406 * Format of the return value {@link ArkUI_AttributeItem}:\n 4407 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 4408 * .string?: depending on the shape. Optional. \n 4409 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 4410 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 4411 * There are five types:\n 4412 * 1. Rectangle:\n 4413 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4414 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 4415 * .value[2].f32: width of the rectangle.\n 4416 * .value[3].f32: height of the rectangle.\n 4417 * .value[4].f32: width of the rounded corner of the rectangle.\n 4418 * .value[5].f32: height of the rounded corner of the rectangle.\n 4419 * 2. Circle:\n 4420 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4421 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 4422 * .value[2].f32: width of the circle.\n 4423 * .value[3].f32: height of the circle.\n 4424 * 3.Ellipse:\n 4425 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4426 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 4427 * .value[2].f32: width of the ellipse.\n 4428 * .value[3].f32: height of the ellipse;\n 4429 * 4. Path:\n 4430 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 4431 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 4432 * .value[2].f32: width of the path.\n 4433 * .value[3].f32: height of the path.\n 4434 * .string: command for drawing the path.\n 4435 * 4436 */ 4437 NODE_SLIDER_BLOCK_STYLE, 4438 4439 /** 4440 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 4441 * through APIs. 4442 * 4443 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4444 * .value[0].f32: current value. \n 4445 * \n 4446 * Format of the return value {@link ArkUI_AttributeItem}:\n 4447 * .value[0].f32: current value. 4448 * 4449 */ 4450 NODE_SLIDER_VALUE, 4451 4452 /** 4453 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 4454 * through APIs. 4455 * 4456 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4457 * .value[0].f32: minimum value. \n 4458 * \n 4459 * Format of the return value {@link ArkUI_AttributeItem}:\n 4460 * .value[0].f32: minimum value. 4461 * 4462 */ 4463 NODE_SLIDER_MIN_VALUE, 4464 4465 /** 4466 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 4467 * through APIs. 4468 * 4469 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4470 * .value[0].f32: maximum value. \n 4471 * \n 4472 * Format of the return value {@link ArkUI_AttributeItem}:\n 4473 * .value[0].f32: maximum value. 4474 * 4475 */ 4476 NODE_SLIDER_MAX_VALUE, 4477 4478 /** 4479 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4480 * 4481 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4482 * .value[0].f32: step. The value range is [0.01, 100]. \n 4483 * \n 4484 * Format of the return value {@link ArkUI_AttributeItem}:\n 4485 * .value[0].f32: step. The value range is [0.01, 100]. 4486 * 4487 */ 4488 NODE_SLIDER_STEP, 4489 4490 /** 4491 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4492 * obtained as required through APIs. 4493 * 4494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4495 * .value[0].i32: whether the slider moves horizontally or vertically. 4496 * The parameter type is {@link ArkUI_SliderDirection}. \n 4497 * \n 4498 * Format of the return value {@link ArkUI_AttributeItem}:\n 4499 * .value[0].i32: whether the slider moves horizontally or vertically. 4500 * 4501 */ 4502 NODE_SLIDER_DIRECTION, 4503 4504 /** 4505 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4506 * through APIs. 4507 * 4508 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4509 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4510 * reversed, and <b>0</b> means the opposite. \n 4511 * \n 4512 * Format of the return value {@link ArkUI_AttributeItem}:\n 4513 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4514 * reversed, and <b>0</b> means the opposite. 4515 * 4516 */ 4517 NODE_SLIDER_REVERSE, 4518 4519 /** 4520 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4521 * as required through APIs. 4522 * 4523 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4524 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4525 * \n 4526 * Format of the return value {@link ArkUI_AttributeItem}:\n 4527 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4528 * 4529 */ 4530 NODE_SLIDER_STYLE, 4531 4532 /** 4533 * @brief Sets the track thickness of the slider. 4534 * This attribute can be set, reset, and obtained as required through APIs. 4535 * 4536 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4537 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4538 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4539 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4540 * \n 4541 * Format of the return value {@link ArkUI_AttributeItem}:\n 4542 * .value[0].f32: track thickness of the slider, in vp. \n 4543 * 4544 */ 4545 NODE_SLIDER_TRACK_THICKNESS, 4546 4547 /** 4548 * @brief Defines whether haptic feedback. 4549 * This attribute can be set, reset, and obtained as required through APIs. 4550 * 4551 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4552 * .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and 4553 * <b>false</b> means the opposite.\n 4554 * \n 4555 * Format of the return value {@link ArkUI_AttributeItem}:\n 4556 * value[0].i32: whether to feedback.\n 4557 * 4558 * @since 18 4559 */ 4560 NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK = 17013, 4561 4562 /** 4563 * @brief Sets whether the radio button is selected. 4564 * This attribute can be set, reset, and obtained as required through APIs. 4565 * 4566 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4567 * .value[0].i32: whether the radio button is selected. The default value is <b>false</b>. 4568 * Format of the return value {@link ArkUI_AttributeItem}:\n 4569 * .value[0].i32: whether the radio button is selected. 4570 * 4571 */ 4572 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4573 /** 4574 * @brief Sets the style of the radio button in selected or deselected state. 4575 * This attribute can be set, reset, and obtained as required through APIs. 4576 * 4577 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4578 * .value[0]?.u32: color of the background when the radio button is selected, in 0xARGB format. 4579 * The default value is <b>0xFF007DFF</b>. \n 4580 * .value[1]?.u32: color of the border when the radio button is deselected, in 0xARGB format. 4581 * The default value is <b>0xFF182431</b>. \n 4582 * .value[2]?.u32: color of the indicator when the radio button is selected, in 0xARGB format. 4583 * The default value is <b>0xFFFFFFFF</b>. \n 4584 * Format of the return value {@link ArkUI_AttributeItem}:\n 4585 * .value[0].u32: color of the background when the radio button is selected, in 0xARGB format. 4586 * The default value is <b>0xFF007DFF</b>. \n 4587 * .value[1].u32: color of the border when the radio button is deselected, in 0xARGB format. 4588 * The default value is <b>0xFF182431</b>. \n 4589 * .value[2].u32: color of the indicator when the radio button is selected, in 0xARGB format. 4590 * The default value is <b>0xFFFFFFFF</b>. \n 4591 * 4592 */ 4593 NODE_RADIO_STYLE, 4594 /** 4595 * @brief Sets the current value of the radio button. 4596 * This attribute can be set, reset, and obtained as required through APIs. 4597 * 4598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4599 * .string: value of the radio button. \n 4600 * \n 4601 * Format of the return value {@link ArkUI_AttributeItem}:\n 4602 * .string: value of the radio button. \n 4603 * 4604 */ 4605 NODE_RADIO_VALUE, 4606 /** 4607 * @brief Sets the name of the group to which the radio button belongs. Only one radio button in a given group can 4608 * be selected at a time. This attribute can be set, reset, and obtained as required through APIs. 4609 * 4610 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4611 * .string: name of the group to which the radio button belongs. \n 4612 * \n 4613 * Format of the return value {@link ArkUI_AttributeItem}:\n 4614 * .string: name of the group to which the radio button belongs. \n 4615 * 4616 */ 4617 NODE_RADIO_GROUP, 4618 4619 /** 4620 * @brief Defines the name of the checkboxgroup. 4621 * This attribute can be set, reset, and obtained as required through APIs. 4622 * 4623 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4624 * .string: component name. \n 4625 * \n 4626 * Format of the return value {@link ArkUI_AttributeItem}:\n 4627 * .string: component name. \n 4628 * 4629 * @since 15 4630 */ 4631 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 4632 4633 /** 4634 * @brief Defines whether the checkboxgroup is selected. 4635 * This attribute can be set, reset, and obtained as required through APIs. 4636 * 4637 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4638 * .value[0].i32: whether the check box is selected. 4639 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4640 * \n 4641 * Format of the return value {@link ArkUI_AttributeItem}:\n 4642 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4643 * 4644 * @since 15 4645 */ 4646 NODE_CHECKBOX_GROUP_SELECT_ALL = 21001, 4647 4648 /** 4649 * @brief Defines the color of the checkboxgroup when it is selected. 4650 * This attribute can be set, reset, and obtained as required through APIs. 4651 * 4652 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4653 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4654 * for example, <b>0xFF1122FF</b>. \n 4655 * \n 4656 * Format of the return value {@link ArkUI_AttributeItem}:\n 4657 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4658 * for example, <b>0xFF1122FF</b>. 4659 * 4660 * @since 15 4661 */ 4662 NODE_CHECKBOX_GROUP_SELECTED_COLOR = 21002, 4663 /** 4664 * @brief Defines the border color of the checkboxgroup when it is not selected. 4665 * This attribute can be set, reset, and obtained as required through APIs. 4666 * 4667 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4668 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4669 * \n 4670 * Format of the return value {@link ArkUI_AttributeItem}:\n 4671 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4672 * 4673 * @since 15 4674 */ 4675 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR = 21003, 4676 4677 /** 4678 * @brief Defines the internal icon style of the checkboxgroup. 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].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4683 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 4684 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 4685 * \n 4686 * Format of the return value {@link ArkUI_AttributeItem}:\n 4687 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4688 * .value[1].f32: size of the internal mark, in vp. \n 4689 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 4690 * 4691 * @since 15 4692 */ 4693 NODE_CHECKBOX_GROUP_MARK = 21004, 4694 4695 /** 4696 * @brief Defines the shape of the checkboxgroup. 4697 * This attribute can be set, reset, and obtained as required through APIs. 4698 * 4699 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4700 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 4701 * \n 4702 * Format of the return value {@link ArkUI_AttributeItem}:\n 4703 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 4704 * 4705 * @since 15 4706 */ 4707 NODE_CHECKBOX_GROUP_SHAPE = 21005, 4708 4709 /** 4710 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 4711 * and obtained as required through APIs. 4712 * 4713 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4714 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 4715 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 4716 * \n 4717 * Format of the return value {@link ArkUI_AttributeItem}:\n 4718 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 4719 * 4720 */ 4721 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 4722 4723 /** 4724 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 4725 * 4726 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4727 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 4728 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 4729 * \n 4730 * Format of the return value {@link ArkUI_AttributeItem}:\n 4731 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 4732 * 4733 */ 4734 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 4735 /** 4736 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 4737 * through APIs. 4738 * 4739 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4740 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 4741 * \n 4742 * Format of the return value {@link ArkUI_AttributeItem}:\n 4743 * .value[0].f32: width of the scrollbar, in vp. \n 4744 * 4745 */ 4746 NODE_SCROLL_BAR_WIDTH, 4747 /** 4748 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 4749 * through APIs. 4750 * 4751 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4752 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4753 * \n 4754 * Format of the return value {@link ArkUI_AttributeItem}:\n 4755 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4756 * 4757 */ 4758 NODE_SCROLL_BAR_COLOR, 4759 /** 4760 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 4761 * 4762 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4763 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 4764 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 4765 * \n 4766 * Format of the return value {@link ArkUI_AttributeItem}:\n 4767 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 4768 * 4769 */ 4770 NODE_SCROLL_SCROLL_DIRECTION, 4771 /** 4772 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 4773 * reached. This attribute can be set, reset, and obtained as required through APIs. 4774 * 4775 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4776 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4777 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 4778 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 4779 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 4780 * opposite. The default value is <b>1</b>. \n 4781 * \n 4782 * Format of the return value {@link ArkUI_AttributeItem}:\n 4783 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4784 * The parameter type is {@link ArkUI_EdgeEffect}. \n 4785 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 4786 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 4787 * 4788 */ 4789 NODE_SCROLL_EDGE_EFFECT, 4790 /** 4791 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 4792 * finger or mouse is not supported, but the scroll controller API is not affected. 4793 * 4794 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4795 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 4796 * \n 4797 * Format of the return value {@link ArkUI_AttributeItem}:\n 4798 * .value[0].i32: whether to support scroll gestures. \n 4799 * 4800 */ 4801 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 4802 /** 4803 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 4804 * indirectly the scroll chaining during the inertial scrolling process. 4805 * 4806 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4807 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 4808 * for wearable devices. \n 4809 * \n 4810 * Format of the return value {@link ArkUI_AttributeItem}:\n 4811 * .value[0].f32: friction coefficient. 4812 * 4813 */ 4814 NODE_SCROLL_FRICTION, 4815 /** 4816 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 4817 * 4818 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4819 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 4820 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 4821 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4822 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4823 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 4824 * snap points.\n 4825 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4826 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4827 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 4828 * snap points.\n 4829 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 4830 * edge to which the <b><Scroll></b> component can scroll. \n 4831 * \n 4832 * Format of the return value {@link ArkUI_AttributeItem}:\n 4833 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 4834 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4835 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4836 * start edge and the first snap point.\n 4837 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4838 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4839 * end edge and the last snap point.\n 4840 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 4841 * to which the <b><Scroll></b> component can scroll. \n 4842 * 4843 */ 4844 NODE_SCROLL_SNAP, 4845 4846 /** 4847 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 4848 * through APIs. 4849 * 4850 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4851 * .value[0].i32: nested scrolling option when the component scrolls forward. 4852 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4853 * .value[1].i32: nested scrolling option when the component scrolls backward. 4854 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4855 * \n 4856 * Format of the return value {@link ArkUI_AttributeItem}:\n 4857 * .value[0].i32: nested scrolling option when the component scrolls forward. 4858 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4859 * .value[1].i32: nested scrolling option when the component scrolls backward. 4860 * The parameter type is {@link ArkUI_ScrollNestedMode}. 4861 * 4862 */ 4863 NODE_SCROLL_NESTED_SCROLL, 4864 /** 4865 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 4866 * through APIs. 4867 * 4868 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4869 * .value[0].f32: horizontal scrolling offset, in vp. \n 4870 * .value[1].f32: vertical scrolling offset, in vp. \n 4871 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 4872 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 4873 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 4874 * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not 4875 * to enable the default spring animation. \n 4876 * \n 4877 * Format of the return value {@link ArkUI_AttributeItem}:\n 4878 * .value[0].f32: horizontal scrolling offset, in vp. \n 4879 * .value[1].f32: vertical scrolling offset, in vp. \n 4880 * 4881 */ 4882 NODE_SCROLL_OFFSET, 4883 4884 /** 4885 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 4886 * 4887 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4888 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 4889 * \n 4890 * Format of the return value {@link ArkUI_AttributeItem}:\n 4891 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 4892 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 4893 * 4894 */ 4895 NODE_SCROLL_EDGE, 4896 4897 /** 4898 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 4899 * as required through APIs. 4900 * 4901 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 4902 * <b>enablePaging</b> does not. \n 4903 * \n 4904 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4905 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 4906 * \n 4907 * Format of the return value {@link ArkUI_AttributeItem}:\n 4908 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 4909 * 4910 */ 4911 NODE_SCROLL_ENABLE_PAGING, 4912 4913 /** 4914 * @brief Scroll to the next or previous page. 4915 * 4916 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4917 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 4918 * indicates scroll to previous page. \n 4919 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 4920 * 4921 */ 4922 NODE_SCROLL_PAGE, 4923 4924 /** 4925 * @brief Scroll a specified distance. 4926 * 4927 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4928 * .value[0].f32:Horizontal scrolling distance in vp; \n 4929 * .value[1].f32: Vertical scrolling distance in vp; \n 4930 * 4931 */ 4932 NODE_SCROLL_BY, 4933 4934 /** 4935 * @brief Performs inertial scrolling based on the initial velocity passed in. 4936 * 4937 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4938 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 4939 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 4940 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 4941 * 4942 */ 4943 NODE_SCROLL_FLING, 4944 4945 /** 4946 * @brief Sets the fading effect for the edges of scrollable components. 4947 * 4948 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 4949 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, and 1 means to enable it. 4950 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 4951 * 4952 * Format of the return value {@link ArkUI_AttributeItem}: 4953 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is disabled, and 1 means that it is enabled. 4954 * .value[1].f32: length of the fading effect on edges, in vp. 4955 * 4956 * @since 14 4957 */ 4958 NODE_SCROLL_FADING_EDGE, 4959 4960 /** 4961 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 4962 * 4963 * Format of the return value {@link ArkUI_AttributeItem}:\n 4964 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 4965 * The default unit is vp. \n 4966 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 4967 * The default unit is vp. \n 4968 * 4969 * @since 14 4970 */ 4971 NODE_SCROLL_SIZE, 4972 4973 /** 4974 * @brief Sets the offset from the start of the scrollable components content. 4975 * 4976 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4977 * .value[0].f32: offset from the start of the content, in vp. \n 4978 * \n 4979 * Format of the return value {@link ArkUI_AttributeItem}:\n 4980 * .value[0].f32: offset from the start of the content, in vp. \n 4981 * 4982 * @since 15 4983 */ 4984 NODE_SCROLL_CONTENT_START_OFFSET, 4985 4986 /** 4987 * @brief Sets the offset from the end of the scrollable components content. 4988 * 4989 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4990 * .value[0].f32: offset from the end of the content, in vp. \n 4991 * \n 4992 * Format of the return value {@link ArkUI_AttributeItem}:\n 4993 * .value[0].f32: offset from the end of the content, in vp. \n 4994 * 4995 * @since 15 4996 */ 4997 NODE_SCROLL_CONTENT_END_OFFSET, 4998 4999 /** 5000 * @brief Defines the maximum starting fling speed of the scrollable when the fling animation starts. 5001 * This attribute can be set, reset, and obtained as required through APIs. 5002 * 5003 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5004 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5005 * \n 5006 * Format of the return value {@link ArkUI_AttributeItem}: \n 5007 * .value[0].f32: maximum starting fling speed, Unit: vp/s \n 5008 * 5009 * @since 16 5010 */ 5011 NODE_SCROLL_FLING_SPEED_LIMIT, 5012 5013 /** 5014 * @brief Sets the content clipping area for this scrollable component. 5015 * This attribute can be set, reset, and obtained as required through APIs. 5016 * 5017 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5018 * .value[0].i32: content clipping mode. The parameter type is {@link ArkUI_ContentClipMode}. \n 5019 * \n 5020 * Format of the return value {@link ArkUI_AttributeItem}:\n 5021 * .value[0].i32: content clipping mode. The parameter type is {@link ArkUI_ContentClipMode}. \n 5022 * 5023 * @since 16 5024 */ 5025 NODE_SCROLL_CLIP_CONTENT, 5026 5027 /** 5028 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 5029 * This attribute can be set, reset, and obtained as required through APIs. 5030 * 5031 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5032 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 5033 * The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. 5034 * The default value is <b>0</b>. \n 5035 * \n 5036 * Format of the return value {@link ArkUI_AttributeItem}: \n 5037 * .value[0]i.32: whether the scrollable scrolls back to top when status bar is clicked. \n 5038 * 5039 * @since 15 5040 */ 5041 NODE_SCROLL_BACK_TO_TOP = 1002021, 5042 5043 /** 5044 * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and 5045 * obtained as required through APIs. 5046 * 5047 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5048 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 5049 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 5050 * \n 5051 * Format of the return value {@link ArkUI_AttributeItem}:\n 5052 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 5053 * 5054 */ 5055 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 5056 /** 5057 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5058 * component. This attribute can be set, reset, and obtained as required through APIs. 5059 * 5060 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5061 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5062 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5063 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 5064 * \n 5065 * Format of the return value {@link ArkUI_AttributeItem}:\n 5066 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 5067 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 5068 * {@link ArkUI_StickyStyle}. 5069 * 5070 */ 5071 NODE_LIST_STICKY, 5072 /** 5073 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 5074 * through APIs. 5075 * 5076 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5077 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 5078 * \n 5079 * Format of the return value {@link ArkUI_AttributeItem}:\n 5080 * .value[0].f32: spacing between list items along the main axis. \n 5081 * 5082 */ 5083 NODE_LIST_SPACE, 5084 5085 /** 5086 * @brief Defines the list adapter. The 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 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5090 * \n 5091 * Format of the return value {@link ArkUI_AttributeItem}:\n 5092 * .object: {@link ArkUI_NodeAdapter} object. \n 5093 */ 5094 NODE_LIST_NODE_ADAPTER, 5095 5096 /** 5097 * @brief Sets the number of cached items in the list adapter. 5098 * This attribute can be set, reset, and obtained as required through APIs. 5099 * 5100 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5101 * .value[0].i32: number of cached items in the list adapter. \n 5102 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5103 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 5104 * \n 5105 * Format of the return value {@link ArkUI_AttributeItem}:\n 5106 * .value[0].i32: number of cached items in the list adapter. \n 5107 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 5108 * to show cached items. This parameter is supported since API version 15. \n 5109 * 5110 */ 5111 NODE_LIST_CACHED_COUNT, 5112 5113 /** 5114 * @brief Scroll to the specified index. 5115 * 5116 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5117 * lead to performance issues when loading a large number of items.\n 5118 * \n 5119 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5120 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5121 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5122 * 1 indicates an action and 0 indicates no action. Default value: 0.\n 5123 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5124 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 5125 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 5126 * This parameter is supported since API version 15. \n 5127 * 5128 */ 5129 NODE_LIST_SCROLL_TO_INDEX, 5130 5131 /** 5132 * @brief 设置List交叉轴方向宽度大于ListItem交叉轴宽度 * lanes时, 5133 * ListItem在List交叉轴方向的布局方式,支持属性设置,属性重置和属性获取接口。 5134 * 5135 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5136 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 5137 * \n 5138 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5139 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 5140 */ 5141 NODE_LIST_ALIGN_LIST_ITEM, 5142 5143 /** 5144 * @brief Set the default spindle size for the List subcomponent. 5145 * 5146 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5147 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5148 * \n 5149 * Format of the return value {@link ArkUI_AttributeItem}:\n 5150 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5151 */ 5152 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 5153 /** 5154 * @brief 设置当前List初次加载时视口起始位置显示的item的索引值,支持属性设置,属性重置和属性获取接口。 5155 * 5156 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5157 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值。 \n 5158 * \n 5159 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5160 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值,默认值:0。 \n 5161 */ 5162 NODE_LIST_INITIAL_INDEX = 1003008, 5163 /** 5164 * @brief sets the ListItem splitter style. By default, there is no splitter. 5165 * This attribute can be set, reset, and obtained as required through APIs. 5166 * 5167 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format:\n 5168 *.value[0].u32: divider color, type 0xargb; \n 5169 *.value[1].f32: dividing line width; \n 5170 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5171 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5172 * \n 5173 * Attribute fetch method return value {@link ArkUI_AttributeItem} format:\n 5174 *.value[0].u32: divider color, type 0xargb; \n 5175 *.value[1].f32: dividing line width; \n 5176 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 5177 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 5178 * 5179 */ 5180 NODE_LIST_DIVIDER = 1003009, 5181 5182 /** 5183 * @brief Scrolls to the item with the specified index in the specified list item group. 5184 * 5185 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 5186 * This may result in performance issues if a large number of items are involved. \n 5187 * \n 5188 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5189 * .value[0].i32: index of the target list item group in the current list. \n 5190 *.value[1].i32: index of the target list item in the list item group. \n 5191 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 5192 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 5193 * The default value is <b>0</b>. \n 5194 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 5195 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 5196 * 5197 * @since 15 5198 */ 5199 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 5200 5201 /** 5202 * @brief Sets the number of lanes in the list. 5203 * This attribute can be set, reset, and obtained as required through APIs. 5204 * 5205 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5206 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 5207 * of lanes will not take effect. \n 5208 * .value[1]?.f32: minimum lane width, in vp. \n 5209 * .value[2]?.f32: maximum column width, in vp. \n 5210 * .value[3]?.f32: lane spacing, in vp. \n 5211 * \n 5212 * Format of the return value {@link ArkUI_AttributeItem}:\n 5213 * .value[0].u32: number of lanes in the list. \n 5214 * .value[1].f32: minimum lane width, in vp. \n 5215 * .value[2].f32: maximum column width, in vp. \n 5216 * .value[3].f32: lane spacing, in vp. \n \n 5217 * 5218 * @since 15 5219 */ 5220 NODE_LIST_LANES = 1003011, 5221 5222 /** 5223 * @brief Sets the list snap alignment mode. 5224 * 5225 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5226 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 5227 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 5228 * \n 5229 * Format of the return value {@link ArkUI_AttributeItem}:\n 5230 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 5231 * 5232 * @since 15 5233 */ 5234 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 5235 5236 /** 5237 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 5238 * display area of the <b>List</b> component. 5239 * 5240 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5241 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5242 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5243 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5244 * \n 5245 * Format of the return value {@link ArkUI_AttributeItem}:\n 5246 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 5247 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 5248 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5249 * 5250 * @since 15 5251 */ 5252 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 5253 5254 /** 5255 * @brief Sets the layout of the List component from the end. 5256 * 5257 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5258 * .value[0].i32: whether the <b>List</b> is layout from the end. 5259 * The value <b>0</b> means not to layout from the end, 5260 * and <b>1</b> means the opposite. The default value is <b>0</b>. \n 5261 * \n 5262 * Format of the return value {@link ArkUI_AttributeItem}:\n 5263 * .value[0].i32: whether the <b>List</b> is layout from the end. 5264 * The value <b>0</b> means not to layout from the end, and <b>1</b> means the opposite. 5265 * The default value is <b>0</b>. \n 5266 * 5267 * @since 16 5268 */ 5269 NODE_LIST_STACK_FROM_END = 1003014, 5270 5271 /** 5272 * @brief Defines whether to enable loop playback for the swiper. This attribute can be set, reset, and obtained 5273 * as required through APIs. 5274 * 5275 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5276 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5277 * means the opposite. The default value is <b>1/b>. \n 5278 * \n 5279 * Format of the return value {@link ArkUI_AttributeItem}:\n 5280 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 5281 * means the opposite. The default value is <b>1</b>. \n 5282 * 5283 */ 5284 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 5285 /** 5286 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 5287 * This attribute can be set, reset, and obtained as required through APIs. 5288 * 5289 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5290 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 5291 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5292 * \n 5293 * .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means 5294 * to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is 5295 * supported since API version 16. \n 5296 * \n 5297 * Format of the return value {@link ArkUI_AttributeItem}:\n 5298 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 5299 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5300 * .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to 5301 * stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16. \n 5302 * 5303 */ 5304 NODE_SWIPER_AUTO_PLAY, 5305 /** 5306 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 5307 * reset, and obtained as required through APIs. 5308 * 5309 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5310 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5311 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5312 * \n 5313 * Format of the return value {@link ArkUI_AttributeItem}:\n 5314 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 5315 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 5316 * 5317 */ 5318 NODE_SWIPER_SHOW_INDICATOR, 5319 /** 5320 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 5321 * through APIs. 5322 * 5323 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5324 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5325 * \n 5326 * Format of the return value {@link ArkUI_AttributeItem}:\n 5327 * .value[0].f32: interval for automatic playback, in milliseconds. \n 5328 * 5329 */ 5330 NODE_SWIPER_INTERVAL, 5331 /** 5332 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 5333 * as required through APIs. 5334 * 5335 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5336 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5337 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5338 * \n 5339 * Format of the return value {@link ArkUI_AttributeItem}:\n 5340 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 5341 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 5342 * 5343 */ 5344 NODE_SWIPER_VERTICAL, 5345 5346 /** 5347 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 5348 * and obtained as required through APIs. 5349 * 5350 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5351 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5352 * <b>400</b>. \n 5353 * \n 5354 * Format of the return value {@link ArkUI_AttributeItem}:\n 5355 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 5356 * <b>400</b>. \n 5357 * 5358 */ 5359 NODE_SWIPER_DURATION, 5360 5361 /** 5362 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 5363 * through APIs. 5364 * 5365 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5366 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5367 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5368 * \n 5369 * Format of the return value {@link ArkUI_AttributeItem}:\n 5370 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 5371 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 5372 * 5373 */ 5374 NODE_SWIPER_CURVE, 5375 5376 /** 5377 * @brief Defines the spacing between child components in the swiper. 5378 * This attribute can be set, reset, and obtained as required through APIs. 5379 * 5380 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5381 * .value[0].f32: spacing between child components. \n 5382 * \n 5383 * Format of the return value {@link ArkUI_AttributeItem}:\n 5384 * .value[0].f32: spacing between child components. \n 5385 * 5386 */ 5387 NODE_SWIPER_ITEM_SPACE, 5388 5389 /** 5390 * @brief Defines the index of the child component currently displayed in the swiper. 5391 * This attribute can be set, reset, and obtained as required through APIs. 5392 * 5393 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5394 * .value[0].i32: index value of the child component. \n 5395 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 5396 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 5397 * This parameter is supported since API version 16. \n 5398 * \n 5399 * Format of the return value {@link ArkUI_AttributeItem}:\n 5400 * .value[0].i32: index value of the child component. \n 5401 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 5402 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 5403 * This parameter is supported since API version 16. \n 5404 * 5405 */ 5406 NODE_SWIPER_INDEX, 5407 5408 /** 5409 * @brief Defines the number of elements to display per page. 5410 * This attribute can be set, reset, and obtained as required through APIs. 5411 * 5412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5413 * .value[0].i32: number of elements to display per page. \n 5414 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 5415 * and <b>1</b> means to turn pages by group. This parameter is supported since API version 16. \n 5416 * .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored. 5417 * This parameter is supported since API version 16. \n 5418 * \n 5419 * Format of the return value {@link ArkUI_AttributeItem}:\n 5420 * .value[0].i32: number of elements to display per page. \n 5421 * .value[1].i32: whether to turn pages by group. This parameter is supported since API version 16. \n 5422 * .string: 'auto' or empty string. 5423 * 5424 */ 5425 NODE_SWIPER_DISPLAY_COUNT, 5426 5427 /** 5428 * @brief Defines whether to disable the swipe feature. 5429 * This attribute can be set, reset, and obtained as required through APIs. 5430 * 5431 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5432 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 5433 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5434 * \n 5435 * Format of the return value {@link ArkUI_AttributeItem}:\n 5436 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 5437 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 5438 * 5439 */ 5440 NODE_SWIPER_DISABLE_SWIPE, 5441 5442 /** 5443 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5444 * This attribute can be set, reset, and obtained as required through APIs. 5445 * 5446 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5447 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5448 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5449 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5450 * .?object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 5451 * This parameter is supported since API version 16. \n 5452 * \n 5453 * Format of the return value {@link ArkUI_AttributeItem}:\n 5454 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 5455 * The parameter type is {@link ArkUI_SwiperArrow}.\n 5456 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 5457 * .object: arrow style. The parameter type is {@link ArkUI_SwiperArrowStyle}. \n 5458 * This parameter is supported since API version 16. \n 5459 * 5460 */ 5461 NODE_SWIPER_SHOW_DISPLAY_ARROW, 5462 5463 /** 5464 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5465 * This attribute can be set, reset, and obtained as required through APIs. 5466 * 5467 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5468 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5469 * The parameter type is {@link ArkUI_EdgeEffect}.\n 5470 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 5471 * \n 5472 * Format of the return value {@link ArkUI_AttributeItem}:\n 5473 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 5474 * The parameter type is {@link ArkUI_EdgeEffect}. \n 5475 * 5476 */ 5477 NODE_SWIPER_EDGE_EFFECT_MODE, 5478 5479 /** 5480 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 5481 * 5482 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5483 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5484 * \n 5485 * Format of the return value {@link ArkUI_AttributeItem}:\n 5486 * .object: {@link ArkUI_NodeAdapter} object. \n 5487 */ 5488 NODE_SWIPER_NODE_ADAPTER, 5489 5490 /** 5491 * @brief Sets the number of cached items in the swiper adapter. 5492 * This attribute can be set, reset, and obtained as required through APIs. 5493 * 5494 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5495 * .value[0].i32: number of cached items in the swiper adapter. \n 5496 * \n 5497 * Format of the return value {@link ArkUI_AttributeItem}:\n 5498 * .value[0].f32: number of cached items in the swiper adapter. \n 5499 * .value[1]?.i32: whether the cached items will be displayed. \n 5500 * The value <b>0</b> indicates that cached items will not be displayed, \n 5501 * and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>. \n 5502 * This parameter is supported from API version 16. \n 5503 * \n 5504 * Format of the return value {@link ArkUI_AttributeItem}:\n 5505 * .value[0].i32: number of cached items in the swiper adapter. \n 5506 * .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 16. \n 5507 */ 5508 NODE_SWIPER_CACHED_COUNT, 5509 5510 /** 5511 * @brief Defines the front margin of the wiper. 5512 * The attribute can be set, reset, and obtained as required through APIs. 5513 * 5514 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5515 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 5516 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5517 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5518 * Format of the return value {@link ArkUI_AttributeItem}:\n 5519 * .value[0].f32: the front margin, the unit is vp. \n 5520 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5521 * the opposite. \n 5522 */ 5523 NODE_SWIPER_PREV_MARGIN, 5524 5525 /** 5526 * @brief Defines the back margin of the wiper. 5527 * The attribute can be set, reset, and obtained as required through APIs. 5528 * 5529 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5530 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 5531 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 5532 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 5533 * Format of the return value {@link ArkUI_AttributeItem}:\n 5534 * .value[0].f32: the back margin, the unit is vp. \n 5535 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 5536 * the opposite. \n 5537 */ 5538 NODE_SWIPER_NEXT_MARGIN, 5539 5540 /** 5541 * @brief Defines the navigation indicator type of the swiper. 5542 * The attribute can be set, reset, and obtained as required through APIs. 5543 * 5544 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5545 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5546 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 5547 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 5548 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 5549 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 16. \n 5550 * \n 5551 * Format of the return value {@link ArkUI_AttributeItem}:\n 5552 * .value[0].i32: navigation indicator type, the parameter type is {@link ArkUI_SwiperIndicatorType}.\n 5553 * .object: The parameter type is {@link ArkUI_SwiperIndicator} when the indicator type \n 5554 * is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is {@link ArkUI_SwiperDigitIndicator} 5555 * when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>. \n 5556 * {@link ArkUI_SwiperDigitIndicator} is supported since API version 16. \n 5557 * 5558 */ 5559 NODE_SWIPER_INDICATOR, 5560 5561 /** 5562 * @brief Set the nested scrolling mode for the Swiper component and parent component. 5563 * 5564 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5565 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5566 * {@link ArkUI_SwiperNestedScrollMode} \n 5567 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 5568 * \n 5569 * Format of the return value {@link ArkUI_AttributeItem}:\n 5570 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5571 * {@link ArkUI_SwiperNestedScrollMode} \n 5572 */ 5573 NODE_SWIPER_NESTED_SCROLL, 5574 5575 /** 5576 * @brief Set the switcher component to flip to the specified page. 5577 * 5578 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5579 * .value[0].i32:Specify the index value of the page in Swiper.\n 5580 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 5581 * effect, 0 indicates no active effect, default value is 0.\n 5582 */ 5583 NODE_SWIPER_SWIPE_TO_INDEX, 5584 5585 /** 5586 * @brief Set to disable component navigation point interactions. 5587 * 5588 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5589 * .value[0].i32: Set to disable component navigation point interaction, set to true to indicate the navigation point 5590 * is interactive, default value is true.\n 5591 * \n 5592 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format:\n 5593 * .value[0].i32: Set to disable component navigation point interactions. \n 5594 */ 5595 NODE_SWIPER_INDICATOR_INTERACTIVE, 5596 5597 /** 5598 * @brief Sets the page flipping mode using the mouse wheel. 5599 * 5600 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5601 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 5602 * \n 5603 * Format of the return value {@link ArkUI_PageFlipMode}:\n 5604 * .value[0].i32: page flipping mode using the mouse wheel. \n 5605 * 5606 * @since 15 5607 */ 5608 NODE_SWIPER_PAGE_FLIP_MODE, 5609 5610 /** 5611 * @brief Defines the minimum main axis size of child element for swiper to works out the display count. 5612 * This attribute can be set, reset, and obtained as required through APIs. 5613 * 5614 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5615 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 5616 * .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element, 5617 * and <b>1</b> means to turn pages by group. The default value is <b>0</b>. \n 5618 * \n 5619 * Format of the return value {@link ArkUI_AttributeItem}:\n 5620 * .value[0].f32: minimum main axis size of the child element, Unit: vp. \n 5621 * .value[1].i32: whether to turn pages by group. \n 5622 * 5623 * @since 16 5624 */ 5625 NODE_SWIPER_AUTO_FILL, 5626 5627 /** 5628 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 5629 * property acquisition interfaces. 5630 * 5631 * Attribute setting method parameter {@link ArkUI_AttributeItem} format:\n 5632 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5633 * \n 5634 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format:\n 5635 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5636 * 5637 */ 5638 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 5639 5640 /** 5641 * @brief Defines the header of the list item group. 5642 * This attribute can be set, reset, and obtained as required through APIs. 5643 * 5644 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5645 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5646 * \n 5647 * Format of the return value {@link ArkUI_AttributeItem}:\n 5648 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5649 * 5650 */ 5651 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 5652 /** 5653 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 5654 * required through APIs. 5655 * 5656 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5657 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5658 * \n 5659 * Format of the return value {@link ArkUI_AttributeItem}:\n 5660 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5661 * 5662 */ 5663 NODE_LIST_ITEM_GROUP_SET_FOOTER, 5664 /** 5665 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 5666 * as required through APIs. 5667 * 5668 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5669 * .value[0].u32: color of the divider, in 0xARGB format.\n 5670 * .value[1].f32: stroke width of the divider, in vp.\n 5671 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5672 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5673 * \n 5674 * Format of the return value {@link ArkUI_AttributeItem}:\n 5675 * .value[0].u32: color of the divider, in 0xARGB format.\n 5676 * .value[1].f32: stroke width of the divider, in vp.\n 5677 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5678 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5679 * 5680 */ 5681 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 5682 5683 /** 5684 * @brief Set the default spindle size for the ListItem Group subcomponent. 5685 * 5686 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5687 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5688 * \n 5689 * Format of the return value {@link ArkUI_AttributeItem}:\n 5690 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5691 */ 5692 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 5693 5694 /** 5695 * @brief Defines the list item group adapter. 5696 * This attribute can be set, reset, and obtained as required through APIs. 5697 * 5698 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5699 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5700 * \n 5701 * Format of the return value {@link ArkUI_AttributeItem}:\n 5702 * .object: {@link ArkUI_NodeAdapter} object. \n 5703 * 5704 * @since 15 5705 */ 5706 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 5707 5708 /** 5709 * @brief Defines the horizontal alignment mode of child components in the column. 5710 * This attribute can be set, reset, and obtained as required through APIs. 5711 * 5712 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5713 * .value[0].i32: horizontal alignment mode of child components. 5714 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 5715 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 5716 * \n 5717 * Format of the return value {@link ArkUI_AttributeItem}:\n 5718 * .value[0].i32: horizontal alignment mode of child components. 5719 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 5720 * 5721 */ 5722 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 5723 /** 5724 * @brief Defines the vertical alignment mode of child components in the column. 5725 * This attribute can be set, reset, and obtained as required through APIs. 5726 * 5727 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5728 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 5729 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5730 * \n 5731 * Format of the return value {@link ArkUI_AttributeItem}:\n 5732 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 5733 * 5734 */ 5735 NODE_COLUMN_JUSTIFY_CONTENT, 5736 5737 /** 5738 * @brief Defines the vertical alignment mode of child components in the row. 5739 * This attribute can be set, reset, and obtained as required through APIs. 5740 * 5741 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5742 * .value[0].i32: vertical alignment mode of child components. 5743 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 5744 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 5745 * \n 5746 * Format of the return value {@link ArkUI_AttributeItem}:\n 5747 * .value[0].i32: vertical alignment mode of child components. 5748 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 5749 * 5750 */ 5751 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 5752 /** 5753 * @brief Defines the horizontal alignment mode of child components in the row. 5754 * This attribute can be set, reset, and obtained as required through APIs. 5755 * 5756 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5757 * .value[0].i32: horizontal alignment mode of child components. 5758 * The parameter type is {@link ArkUI_FlexAlignment}.\n 5759 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5760 * \n 5761 * Format of the return value {@link ArkUI_AttributeItem}:\n 5762 * .value[0].i32: horizontal alignment mode of child components. 5763 * The parameter type is {@link ArkUI_FlexAlignment}. \n 5764 * 5765 */ 5766 NODE_ROW_JUSTIFY_CONTENT, 5767 5768 /** 5769 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 5770 * 5771 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5772 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 5773 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 5774 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 5775 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 5776 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 5777 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5778 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 5779 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 5780 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 5781 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5782 * \n 5783 * Format of the return value {@link ArkUI_AttributeItem}:\n 5784 * .value[0].i32: direction in which flex items are arranged. \n 5785 * .value[1].i32: how the flex items are wrapped. \n 5786 * .value[2].i32: alignment mode along the main axis. \n 5787 * .value[3].i32: alignment mode along the cross axis. \n 5788 * .value[4]?.i32: alignment mode along the cross axis for multi-line content.\n 5789 * 5790 */ 5791 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 5792 5793 /** 5794 * @brief Sets whether the component is being refreshed. 5795 * This attribute can be set and obtained as required through APIs. 5796 * 5797 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5798 * .value[0].i32: The parameter type is 1 or 0. 5799 * \n 5800 * Format of the return value {@link ArkUI_AttributeItem}:\n 5801 * .value[0].i32: The parameter type is 1 or 0. 5802 * 5803 */ 5804 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 5805 /** 5806 * @brief Sets the custom content in the pull-down area. 5807 * This attribute can be set, reset, and obtained as required through APIs. 5808 * 5809 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5810 * .object: The parameter type is {@link ArkUI_NodeHandle}. 5811 * 5812 */ 5813 NODE_REFRESH_CONTENT, 5814 /** 5815 * @brief Sets the pull-down ratio. This attribute can be set, reset, and obtained as required through APIs. 5816 * 5817 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5818 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 5819 * \n 5820 * Format of the return value {@link ArkUI_AttributeItem}:\n 5821 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 5822 * 5823 */ 5824 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 5825 /** 5826 * @brief Sets the pull-down offset that initiates a refresh. 5827 * This attribute can be set, reset, and obtained as required through APIs. 5828 * 5829 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5830 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5831 * \n 5832 * Format of the return value {@link ArkUI_AttributeItem}:\n 5833 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5834 * 5835 */ 5836 NODE_REFRESH_OFFSET = 1009003, 5837 /** 5838 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 5839 * This attribute can be set, reset, and obtained as required through APIs. 5840 * 5841 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5842 * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 5843 * <b>false</b> means the opposite. 5844 * \n 5845 * Format of the return value {@link ArkUI_AttributeItem}:\n 5846 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 5847 * <b>0</b> means the opposite. 5848 * 5849 */ 5850 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 5851 5852 /** 5853 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 5854 * This attribute can be set, reset, and obtained as required through APIs. 5855 * 5856 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5857 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 5858 * \n 5859 * Format of the return value {@link ArkUI_AttributeItem}:\n 5860 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 5861 * 5862 */ 5863 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 5864 /** 5865 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 5866 * by default. This attribute can be set, reset, and obtained as required through APIs. 5867 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5868 * component's full width, the second column 1/4, and the third column 2/4. 5869 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5870 * columns based on the specified column width <b>track-size</b>. 5871 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5872 * or a valid number. 5873 * 5874 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5875 * .string: number of columns in the layout.\n 5876 * \n 5877 * Format of the return value {@link ArkUI_AttributeItem}:\n 5878 * .string: number of columns in the layout.\n 5879 * 5880 */ 5881 NODE_WATER_FLOW_COLUMN_TEMPLATE, 5882 5883 /** 5884 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 5885 * by default. This attribute can be set, reset, and obtained as required through APIs. 5886 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5887 * component's full height, the second row 1/4, and the third row 2/4. 5888 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5889 * based on the specified row height <b>track-size</b>. 5890 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5891 * or a valid number. 5892 * 5893 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5894 * .string: number of rows in the layout. \n 5895 * \n 5896 * Format of the return value {@link ArkUI_AttributeItem}:\n 5897 * .string: number of rows in the layout. \n 5898 * 5899 */ 5900 NODE_WATER_FLOW_ROW_TEMPLATE, 5901 5902 /** 5903 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 5904 * 5905 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5906 * .value[0].f32: gap between columns, in vp.\n 5907 * \n 5908 * Format of the return value {@link ArkUI_AttributeItem}:\n 5909 * .value[0].f32: gap between columns, in vp.\n 5910 * 5911 */ 5912 NODE_WATER_FLOW_COLUMN_GAP, 5913 5914 /** 5915 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 5916 * 5917 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5918 * .value[0].f32: gap between lines, in vp.\n 5919 * \n 5920 * Format of the return value {@link ArkUI_AttributeItem}:\n 5921 * .value[0].f32: gap between lines, in vp.\n 5922 * 5923 */ 5924 NODE_WATER_FLOW_ROW_GAP, 5925 5926 /** 5927 * @brief Defines the water flow section configuration. 5928 * This attribute can be set, reset, and obtained as required through APIs. 5929 * 5930 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5931 * .value[0].i32: zero-based index of the water flow item section to update. 5932 * The value is converted to an integer. \n 5933 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5934 * \n 5935 * Format of the return value {@link ArkUI_AttributeItem}:\n 5936 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5937 * 5938 */ 5939 NODE_WATER_FLOW_SECTION_OPTION, 5940 5941 /** 5942 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 5943 * 5944 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5945 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5946 * \n 5947 * Format of the return value {@link ArkUI_AttributeItem}:\n 5948 * .object: {@link ArkUI_NodeAdapter} object. \n 5949 */ 5950 NODE_WATER_FLOW_NODE_ADAPTER, 5951 5952 /** 5953 * @brief Sets the number of cached items in the water flow adapter. 5954 * This attribute can be set, reset, and obtained as required through APIs. 5955 * 5956 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 5957 * .value[0].i32: number of cached items in the water flow adapter. \n 5958 * .value[1]?.i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0. 5959 * This parameter is supported since API version 16. \n 5960 * \n 5961 * Format of the return value {@link ArkUI_AttributeItem}: \n 5962 * .value[0].i32: number of cached items in the water flow adapter. \n 5963 * .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed. 5964 * This parameter is supported since API version 16. \n 5965 */ 5966 NODE_WATER_FLOW_CACHED_COUNT, 5967 /** 5968 * @brief 设置瀑布流组件末尾的自定义显示组件。 5969 * 5970 * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n 5971 * .object:参数类型{@Link ArkUI_NodeHandle}。 5972 * 5973 */ 5974 NODE_WATER_FLOW_FOOTER, 5975 /** 5976 * @brief Scroll to the specified index. 5977 * 5978 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5979 * lead to performance issues when loading a large number of items.\n 5980 * \n 5981 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5982 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5983 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5984 * 1 indicates an action and 0 indicates no action. Default value is 0.\n 5985 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5986 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>.\n 5987 * 5988 */ 5989 NODE_WATER_FLOW_SCROLL_TO_INDEX, 5990 5991 /** 5992 * @brief Defines the size constraints to apply to water flow items. 5993 * This attribute can be set, reset, and obtained as required through APIs. 5994 * 5995 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5996 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 5997 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 5998 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 5999 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 6000 * \n 6001 * Format of the return value {@link ArkUI_AttributeItem}:\n 6002 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 6003 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 6004 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 6005 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 6006 * 6007 */ 6008 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 6009 6010 /** 6011 * @brief Sets the layout mode for this <b>WaterFlow</b> component. 6012 * This attribute can be set, reset, and obtained as required through APIs. 6013 * 6014 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6015 * .value[0].i32: layout mode. The parameter type is {@link ArkUI_WaterFlowLayoutMode}. 6016 * \n 6017 * Format of the return value {@link ArkUI_AttributeItem}:\n 6018 * .value[0].i32: layout mode. The parameter type is {@link ArkUI_WaterFlowLayoutMode}. 6019 * 6020 * @since 16 6021 */ 6022 NODE_WATER_FLOW_LAYOUT_MODE, 6023 6024 /** 6025 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used by 6026 * default. This attribute can be set, reset, and obtained as required through APIs. 6027 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 6028 * component's full width, the second column 1/4, and the third column 2/4. 6029 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 6030 * columns based on the specified column width <b>track-size</b>. 6031 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 6032 * a valid number. 6033 * 6034 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6035 * .string: number of columns in the layout.\n 6036 * \n 6037 * Format of the return value {@link ArkUI_AttributeItem}:\n 6038 * .string: number of columns in the layout.\n 6039 * 6040 */ 6041 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 6042 6043 /** 6044 * @brief Sets the number of rows or the minimum row height in the grid layout. If this parameter is not set, one 6045 * row is used by default. This attribute can be set, reset, and obtained as required through APIs. 6046 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 6047 * component's full height, the second row 1/4, and the third row 2/4. 6048 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 6049 * based on the specified row height <b>track-size</b>. 6050 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 6051 * a valid number. 6052 * 6053 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6054 * .string: number of rows in the layout. \n 6055 * \n 6056 * Format of the return value {@link ArkUI_AttributeItem}:\n 6057 * .string: number of rows in the layout. \n 6058 * 6059 */ 6060 NODE_GRID_ROW_TEMPLATE, 6061 6062 /** 6063 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 6064 * 6065 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6066 * .value[0].f32: gap between columns, in vp.\n 6067 * \n 6068 * Format of the return value {@link ArkUI_AttributeItem}:\n 6069 * .value[0].f32: gap between columns, in vp.\n 6070 * 6071 */ 6072 NODE_GRID_COLUMN_GAP, 6073 6074 /** 6075 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 6076 * 6077 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6078 * .value[0].f32: gap between lines, in vp.\n 6079 * \n 6080 * Format of the return value {@link ArkUI_AttributeItem}:\n 6081 * .value[0].f32: gap between lines, in vp.\n 6082 * 6083 */ 6084 NODE_GRID_ROW_GAP, 6085 6086 /** 6087 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 6088 * 6089 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6090 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 6091 * \n 6092 * Format of the return value {@link ArkUI_AttributeItem}:\n 6093 * .object: {@link ArkUI_NodeAdapter} object. \n 6094 */ 6095 NODE_GRID_NODE_ADAPTER, 6096 6097 /** 6098 * @brief Sets the number of cached items in the grid adapter. 6099 * This attribute can be set, reset, and obtained as required through APIs. 6100 * 6101 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6102 * .value[0].i32: number of cached items in the water flow adapter. \n 6103 */ 6104 NODE_GRID_CACHED_COUNT, 6105 6106 /** 6107 * @brief Defines the column width of the text picker. 6108 * This attribute can be set, reset, and obtained as required through APIs. 6109 * 6110 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6111 * .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.\n 6112 * .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6113 * .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6114 * ...\n 6115 * .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.\n 6116 * \n 6117 * Format of the return value {@link ArkUI_AttributeItem}:\n 6118 * value[0].f32: percentage of total width.\n 6119 * value[1].f32: percentage of total width.\n 6120 * value[2].f32: percentage of total width.\n 6121 * ...\n 6122 * value[n].f32: percentage of total width.\n 6123 * 6124 * @since 18 6125 */ 6126 NODE_TEXT_PICKER_COLUMN_WIDTHS = 15009, 6127 /** 6128 * @brief 设置RelativeContaine容器内的辅助线,支持属性设置,属性重置和属性获取接口。 6129 * 6130 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6131 * .object: RelativeContaine容器内的辅助线: \n 6132 * \n 6133 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6134 * .object: RelativeContaine容器内的辅助线: \n 6135 * 6136 */ 6137 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 6138 6139 /** 6140 * @brief 设置RelativeContaine容器内的屏障,支持属性设置,属性重置和属性获取接口。 6141 * 6142 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6143 * .object: RelativeContaine容器内的辅助线: \n 6144 * \n 6145 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6146 * .object: RelativeContaine容器内的屏障: \n 6147 * 6148 */ 6149 NODE_RELATIVE_CONTAINER_BARRIER, 6150 6151 /** 6152 * @brief 设置帧动画组件的图片帧信息集合。不支持动态更新。支持属性设置,属性重置和属性获取接口。 6153 * 6154 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6155 * .size:图片帧的数量; \n 6156 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 6157 * \n 6158 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6159 * .size:图片帧的数量; \n 6160 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 6161 * 6162 */ 6163 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 6164 /** 6165 * @brief 控制帧动画组件的播放状态。支持属性设置,属性重置和属性获取接口。 6166 * 6167 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6168 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus},默认值为初始状态。 \n 6169 * 6170 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6171 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus}。 \n 6172 * 6173 */ 6174 NODE_IMAGE_ANIMATOR_STATE = 19001, 6175 /** 6176 * @brief 设置帧动画的播放时长,当数组中任意一帧图片单独设置了duration属性后,该属性设置无效。 6177 * 支持属性设置,属性重置和属性获取接口。 6178 * 6179 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6180 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 6181 * 6182 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6183 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 6184 * 6185 */ 6186 NODE_IMAGE_ANIMATOR_DURATION = 19002, 6187 /** 6188 * @brief 设置帧动画的播放方向。支持属性设置,属性重置和属性获取接口。 6189 * 6190 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6191 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张,默认值为0。 \n 6192 * 6193 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6194 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张。 \n 6195 * 6196 */ 6197 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 6198 /** 6199 * @brief 设置图片大小是否固定为组件大小。支持属性设置,属性重置和属性获取接口。 6200 * 6201 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6202 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置,默认值为1。\n 6203 * 6204 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6205 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置。 \n 6206 * 6207 */ 6208 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 6209 /** 6210 * @brief 设置帧动画在当前播放方向下,动画开始前和结束后的状态。支持属性设置,属性重置和属性获取接口。 6211 * 6212 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6213 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode},默认值为FORWARDS。 \n 6214 * 6215 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6216 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode}。 \n 6217 * 6218 */ 6219 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 6220 /** 6221 * @brief 设置帧动画的播放次数。支持属性设置,属性重置和属性获取接口。 6222 * 6223 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 6224 * .value[0].i32:播放次数。 \n 6225 * 6226 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 6227 * .value[0].i32:播放次数。 \n 6228 * 6229 */ 6230 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 6231 /** 6232 * @brief Defines the disabled date range of the calendar picker. 6233 * This attribute can be set, reset, and obtained as required through APIs. 6234 * 6235 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6236 * .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`, 6237 * ...,`nth start date`,`nth end date` of the disabled date range.\n 6238 * Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31\n 6239 * \n 6240 * Format of the return value {@link ArkUI_AttributeItem}:\n 6241 * .string: A string of dates.\n 6242 * 6243 * @since 16 6244 */ 6245 NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE = 16006, 6246 /** 6247 * @brief Defines whether the calendar picker marks today. 6248 * This attribute can be set, reset, and obtained as required through APIs. 6249 * 6250 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 6251 * .value[0].i32: whether to the calendar picker marks today. The default value is: <b>false</b>.\n 6252 * \n 6253 * Format of the return value {@link ArkUI_AttributeItem}:\n 6254 * .value[0].i32: whether to the calendar picker marks today. 6255 * 6256 * @since 16 6257 */ 6258 NODE_CALENDAR_PICKER_MARK_TODAY = 16007, 6259 } ArkUI_NodeAttributeType; 6260 6261 #define MAX_COMPONENT_EVENT_ARG_NUM 12 6262 /** 6263 * @brief Defines the parameter type of the component callback event. 6264 * 6265 * @since 12 6266 */ 6267 typedef struct { 6268 /** Data array object. */ 6269 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 6270 } ArkUI_NodeComponentEvent; 6271 6272 /** 6273 * @brief Defines the string type parameter used by the component callback event. 6274 * 6275 * @since 12 6276 */ 6277 typedef struct { 6278 /** String. */ 6279 const char* pStr; 6280 } ArkUI_StringAsyncEvent; 6281 6282 /** 6283 * @brief Defines a hybrid data structure for component events. 6284 * 6285 * @since 16 6286 */ 6287 typedef struct { 6288 /** String data */ 6289 const char* pStr; 6290 /** Extended string data */ 6291 const char* pExtendStr; 6292 /** Numeric data */ 6293 int32_t number; 6294 } ArkUI_TextChangeEvent; 6295 6296 /** 6297 * @brief Enumerates the event types supported by the NativeNode component. 6298 * 6299 * @since 12 6300 */ 6301 typedef enum { 6302 /** 6303 * @brief Defines the gesture event type. 6304 * 6305 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6306 * {@link ArkUI_UIInputEvent}. 6307 */ 6308 NODE_TOUCH_EVENT = 0, 6309 6310 /** 6311 * @brief Defines the mount event. 6312 * 6313 * This event is triggered when the component is mounted and displayed. \n 6314 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6315 * {@link ArkUI_NodeComponentEvent}. \n 6316 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6317 */ 6318 NODE_EVENT_ON_APPEAR, 6319 /** 6320 * @brief Defines the unmount event. 6321 * 6322 * This event is triggered when the component is unmounted and hidden. \n 6323 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6324 * {@link ArkUI_NodeComponentEvent}. \n 6325 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6326 */ 6327 NODE_EVENT_ON_DISAPPEAR, 6328 6329 /** 6330 * @brief Defines the area change event. 6331 * 6332 * This event is triggered when the component's size, position, or any other attribute that may 6333 * affect its display area changes. \n 6334 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6335 * {@link ArkUI_NodeComponentEvent}. \n 6336 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6337 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 6338 * The value is a number. \n 6339 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 6340 * The value is a number. \n 6341 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 6342 * relative to the parent element's, in vp. The value is a number. \n 6343 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 6344 * relative to the parent element's, in vp. The value is a number. \n 6345 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 6346 * relative to the page's, in vp. The value is a number. \n 6347 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 6348 * relative to the page's, in vp. The value is a number. \n 6349 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 6350 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 6351 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 6352 * to the parent element's, in vp. The value is a number. \n 6353 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 6354 * to the parent element's, in vp. The value is a number. \n 6355 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 6356 * to the page's, in vp. The value is a number. \n 6357 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 6358 * to the page's, in vp. The value is a number. \n 6359 */ 6360 NODE_EVENT_ON_AREA_CHANGE, 6361 /** 6362 * @brief Defines the focus event. 6363 * 6364 * This event is triggered when the component obtains the focus. \n 6365 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6366 * {@link ArkUI_NodeComponentEvent}. \n 6367 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6368 */ 6369 NODE_ON_FOCUS, 6370 /** 6371 * @brief Defines the blur event. 6372 * 6373 * This event is triggered when the component loses the focus. \n 6374 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6375 * {@link ArkUI_NodeComponentEvent}. \n 6376 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6377 */ 6378 NODE_ON_BLUR, 6379 /** 6380 * @brief Defines the click event. 6381 * 6382 * This event is triggered when the component is clicked. \n 6383 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6384 * {@link ArkUI_NodeComponentEvent}. \n 6385 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 6386 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 6387 * clicked component's original area, in vp. \n 6388 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 6389 * clicked component's original area, in vp. \n 6390 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 6391 * is triggered and the time when the system starts, in microseconds. \n 6392 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 6393 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 6394 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 6395 * application window, in vp. \n 6396 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 6397 * application window, in vp. \n 6398 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 6399 * application screen, in vp. \n 6400 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 6401 * application screen, in vp. \n 6402 */ 6403 NODE_ON_CLICK, 6404 /** 6405 * @brief Defines event interception. 6406 * 6407 * This event is triggered when the component is touched. \n 6408 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6409 * {@link ArkUI_UIInputEvent}. \n 6410 */ 6411 NODE_ON_TOUCH_INTERCEPT, 6412 /** 6413 * @brief Defines the visible area change event. 6414 * 6415 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 6416 * than the threshold. 6417 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 6418 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6419 * {@link ArkUI_NodeComponentEvent}. \n 6420 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6421 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 6422 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 6423 * decrease. \n 6424 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 6425 * callback is invoked. \n 6426 */ 6427 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 6428 /** 6429 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 6430 * 6431 \n 6432 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6433 * {@link ArkUI_NodeComponentEvent}. \n 6434 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6435 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 6436 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 6437 * the mouse pointer is moved away from the component. \n 6438 */ 6439 NODE_ON_HOVER, 6440 /** 6441 * @brief Defines the click event. 6442 * 6443 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 6444 * within the component. \n 6445 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6446 * {@link ArkUI_UIInputEvent}. \n 6447 */ 6448 NODE_ON_MOUSE, 6449 /** 6450 * @brief Defines the mount event. 6451 * 6452 * This event is triggered when the component is mounted. \n 6453 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6454 * {@link ArkUI_NodeComponentEvent}. \n 6455 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6456 */ 6457 NODE_EVENT_ON_ATTACH, 6458 /** 6459 * @brief Defines the unmount event. 6460 * 6461 * This event is triggered when the component is unmount. \n 6462 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6463 * {@link ArkUI_NodeComponentEvent}. \n 6464 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6465 */ 6466 NODE_EVENT_ON_DETACH, 6467 /** 6468 * @brief Defines the event triggered when an accessibility action of the preconfigured type is performed. 6469 * 6470 * \n 6471 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6472 * {@link ArkUI_NodeComponentEvent}. \n 6473 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6474 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: action type. The parameter type is 6475 * {@link ArkUI_AccessibilityActionType}. \n 6476 * 6477 */ 6478 NODE_ON_ACCESSIBILITY_ACTIONS, 6479 6480 /** 6481 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 6482 * 6483 * This event is triggered when a drag operation is about to start on a draggable item. \n 6484 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6485 * {@link ArkUI_NodeComponentEvent}. \n 6486 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6487 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 6488 */ 6489 NODE_ON_PRE_DRAG = 14, 6490 /** 6491 * @brief Called when the user starts to drag an ite 6492 * 6493 * A drag operation is recognized only when the dragged item is moved far enough. \n 6494 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6495 * {@link ArkUI_NodeEvent} object. \n 6496 */ 6497 NODE_ON_DRAG_START = 15, 6498 /** 6499 * @brief Called when a dragged item enters the boundaries of the current component. 6500 * 6501 * The current component refers to the component that listens for this event. \n 6502 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6503 * {@link ArkUI_NodeEvent} object. \n 6504 */ 6505 NODE_ON_DRAG_ENTER = 16, 6506 /** 6507 * @brief Called when a dragged item moves in the current component. 6508 * 6509 * The current component refers to the component that listens for this event. \n 6510 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6511 * {@link ArkUI_NodeEvent} object. \n 6512 */ 6513 NODE_ON_DRAG_MOVE = 17, 6514 /** 6515 * @brief Called when a dragged item leaves the boundaries of the current component. 6516 * 6517 * The current component refers to the component that listens for this event. \n 6518 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6519 * {@link ArkUI_NodeEvent} object. \n 6520 */ 6521 NODE_ON_DRAG_LEAVE = 18, 6522 /** 6523 * @brief Called when a dragged item is dropped on the current component. 6524 * The component can obtain the drag data for processing through the callback. 6525 * 6526 * The current component refers to the component that listens for this event. \n 6527 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6528 * {@link ArkUI_NodeEvent} object. \n 6529 */ 6530 NODE_ON_DROP = 19, 6531 /** 6532 * @brief Called when a drag operation ends. 6533 * The drag source can obtain the drag result by registering this callback. 6534 * 6535 * A drag operation ends when the dragged item is released. 6536 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 6537 * {@link ArkUI_NodeEvent} object. \n 6538 */ 6539 NODE_ON_DRAG_END = 20, 6540 /** 6541 * @brief Defines the event triggered when a key event occurs. 6542 * 6543 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6544 * device. \n 6545 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6546 * {@link ArkUI_NodeComponentEvent}. \n 6547 * 6548 * @since 14 6549 */ 6550 NODE_ON_KEY_EVENT = 21, 6551 /** 6552 * @brief Defines the event triggered before the input method responds to the key action. 6553 * 6554 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 6555 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 6556 * and no longer triggered. 6557 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 6558 * device. \n 6559 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6560 * {@link ArkUI_NodeComponentEvent}. \n 6561 * 6562 * @since 14 6563 */ 6564 NODE_ON_KEY_PRE_IME = 22, 6565 6566 /** 6567 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 6568 * 6569 * The event callback is triggered by interactions with a joystick and a focused component. \n 6570 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6571 * {@link ArkUI_UIInputEvent}. \n 6572 * 6573 * @since 15 6574 */ 6575 NODE_ON_FOCUS_AXIS = 23, 6576 6577 /** 6578 * @brief Dispatch key event on the component node. 6579 * 6580 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 6581 * children. \n 6582 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6583 * {@link ArkUI_NodeComponentEvent}. \n 6584 * 6585 * @since 15 6586 */ 6587 NODE_DISPATCH_KEY_EVENT = 24, 6588 6589 /** 6590 * @brief Defines the event triggered when the bound component receives an axis event. 6591 * 6592 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6593 * {@link ArkUI_UIInputEvent}. \n 6594 * 6595 * @since 17 6596 */ 6597 NODE_ON_AXIS = 25, 6598 6599 /** 6600 * @brief Defines the event triggered when the bound component is clicked. 6601 * 6602 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6603 * {@link ArkUI_UIInputEvent}. \n 6604 * 6605 * @since 18 6606 */ 6607 NODE_ON_CLICK_EVENT = 26, 6608 6609 /** 6610 * @brief Defines the event triggered when the mouse pointer hovers over or moves away from a component. 6611 * 6612 * This event is triggered when the mouse pointer enters or leaves the component's bounding box. \n 6613 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6614 * {@link ArkUI_UIInputEvent}. \n 6615 * 6616 *@since 17 6617 */ 6618 NODE_ON_HOVER_EVENT = 27, 6619 6620 /** 6621 * @brief Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval. 6622 * 6623 * The callback is triggered when the ratio of the component's visible area to its total area is greater than or 6624 * less than the threshold. Before registering the callback, you must configure the threshold and update interval 6625 * using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>. \n 6626 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6627 * {@link ArkUI_NodeComponentEvent}. \n 6628 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6629 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 6630 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates 6631 * a decrease. \n 6632 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area 6633 * when this callback is invoked. \n 6634 * 6635 * @since 17 6636 */ 6637 NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT = 28, 6638 6639 /** 6640 * @brief Defines the hover event. 6641 * 6642 * The event is triggered when the pointer is hovered by a pen device. 6643 * within the component. \n 6644 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 6645 * {@link ArkUI_UIInputEvent} object. \n 6646 * @since15 6647 */ 6648 NODE_ON_HOVER_MOVE = 29, 6649 6650 /** 6651 * @brief Triggers onDetectResultUpdate callback 6652 * when the text is set to TextDataDetectorConfig and recognized successfully. 6653 * 6654 * Trigger this event when TextDataDetectorConfig is set and recognized successfully.\n 6655 * When the event callback occurs, the event parameter{@link ArkUI_NodeEvent}The union type in the object is 6656 * {@link ArkUI_StringAsyncEvent}.\n 6657 * {@link ArkUI_StringAsyncEvent}contains 1 parameter\n 6658 * <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.\n 6659 * 6660 */ 6661 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 6662 /** 6663 * @brief Defines the image loading success event. 6664 * 6665 * This event is triggered when an image is successfully loaded or decoded. \n 6666 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6667 * {@link ArkUI_NodeComponentEvent}. \n 6668 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 6669 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 6670 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 6671 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 6672 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 6673 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 6674 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 6675 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 6676 * x-axis, in px. \n 6677 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 6678 * y-axis, in px. \n 6679 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 6680 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 6681 */ 6682 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 6683 /** 6684 * @brief Defines the image loading failure event. 6685 * 6686 * This event is triggered when an error occurs during image loading. \n 6687 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6688 * {@link ArkUI_NodeComponentEvent}. \n 6689 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6690 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 6691 * 401: The image could not be obtained because the image path is invalid. \n 6692 * 103101: The image format is not supported. \n 6693 */ 6694 NODE_IMAGE_ON_ERROR, 6695 /** 6696 * @brief Defines the SVG animation playback completion event. 6697 * 6698 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 6699 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6700 * {@link ArkUI_NodeComponentEvent}. \n 6701 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 6702 */ 6703 NODE_IMAGE_ON_SVG_PLAY_FINISH, 6704 /** 6705 * @brief Defines image download process event. 6706 * 6707 * This event is triggered when downloading webpage images from page components.\n 6708 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6709 * {@link ArkUI_NodeComponentEvent}. \n 6710 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 6711 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 6712 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 6713 */ 6714 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 6715 /** 6716 * @brief Defines the event triggered when the toggle status changes. 6717 * 6718 \n 6719 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6720 * {@link ArkUI_NodeComponentEvent}. \n 6721 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6722 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 6723 * 6724 */ 6725 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 6726 /** 6727 * @brief Defines the event triggered when TextInput's content changes. 6728 * 6729 \n 6730 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6731 * {@link ArkUI_StringAsyncEvent}. \n 6732 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6733 * <b>ArkUI_StringAsyncEvent.pStr</b>: TextInput. 6734 * 6735 */ 6736 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 6737 /** 6738 * @brief Defines the event triggered when the Enter key of the TextInput method is pressed. 6739 * 6740 \n 6741 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6742 * {@link ArkUI_NodeComponentEvent}. \n 6743 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6744 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 6745 * 6746 */ 6747 NODE_TEXT_INPUT_ON_SUBMIT, 6748 /** 6749 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 6750 * is long pressed, is clicked. 6751 * 6752 \n 6753 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6754 * {@link ArkUI_StringAsyncEvent}. \n 6755 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6756 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 6757 * 6758 */ 6759 NODE_TEXT_INPUT_ON_CUT, 6760 /** 6761 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 6762 * is long pressed, is clicked. 6763 * 6764 \n 6765 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6766 * {@link ArkUI_StringAsyncEvent}. \n 6767 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6768 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6769 * 6770 */ 6771 NODE_TEXT_INPUT_ON_PASTE, 6772 /** 6773 * @brief Defines the event triggered when the text selection position changes. 6774 * 6775 \n 6776 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6777 * {@link ArkUI_NodeComponentEvent}. \n 6778 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6779 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6780 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6781 * 6782 */ 6783 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 6784 6785 /** 6786 * @brief Defines the event triggered when the input status changes. 6787 * 6788 \n 6789 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6790 * {@link ArkUI_NodeComponentEvent}. \n 6791 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6792 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that TextInput is in progress. \n 6793 * 6794 */ 6795 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 6796 6797 /** 6798 * @brief This event is triggered when the input content of TextInput changes. 6799 * 6800 * Conditions for triggering this event: When the input content changes. \n 6801 * When the event callback occurs, the union type in the event parameter 6802 * {@link ArkUI_NodeEvent} object is {@link ArkUI_NodeComponentEvent}. \n 6803 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6804 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6805 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6806 * 6807 */ 6808 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 6809 6810 /** 6811 * @brief Defines the event triggered when matching with the regular expression specified by 6812 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 6813 * 6814 \n 6815 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6816 * {@link ArkUI_StringAsyncEvent}. \n 6817 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6818 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6819 * 6820 */ 6821 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 6822 /** 6823 * @brief This callback is triggered when the text content is scrolled. 6824 * 6825 \n 6826 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6827 * {@link ArkUI_NodeComponentEvent}. \n 6828 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6829 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6830 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6831 * the text in the content area. \n 6832 * 6833 */ 6834 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 6835 /** 6836 * @brief Defines the event triggered when text is about to be entered. 6837 * 6838 * The event parameter is {@link ArkUI_NodeEvent}. \n 6839 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6840 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6841 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6842 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6843 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 6844 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6845 */ 6846 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 6847 /** 6848 * @brief Defines the event triggered when text is entered. 6849 * 6850 * The event parameter is {@link ArkUI_NodeEvent}. \n 6851 * value.f32: position of the text, with the index of <b>0</b>; obtained using 6852 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6853 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6854 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6855 */ 6856 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 6857 /** 6858 * @brief Defines the event triggered when text is about to be deleted. 6859 * 6860 * The event parameter is {@link ArkUI_NodeEvent}. \n 6861 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 6862 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6863 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6864 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6865 * forward-delete. \n 6866 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6867 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6868 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 6869 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 6870 */ 6871 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 6872 /** 6873 * @brief Defines the event triggered when text is deleted. 6874 * 6875 * The event parameter is {@link ArkUI_NodeEvent}. \n 6876 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 6877 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 6878 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 6879 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 6880 * forward-delete. \n 6881 * buffer: string value of the text, with the index of <b>0</b>; obtained using 6882 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 6883 */ 6884 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 6885 /** 6886 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextInput</b> 6887 * component. 6888 * 6889 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 6890 * {@link ArkUI_TextChangeEvent} contains the following parameters:\n 6891 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component. 6892 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component. 6893 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component. 6894 * 6895 * @since 16 6896 */ 6897 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 6898 /** 6899 * @brief Defines the event triggered when the input in the text box changes. 6900 * 6901 \n 6902 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6903 * {@link ArkUI_StringAsyncEvent}. \n 6904 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6905 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 6906 * 6907 */ 6908 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 6909 /** 6910 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 6911 * long pressed, is clicked. 6912 * 6913 \n 6914 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6915 * {@link ArkUI_StringAsyncEvent}. \n 6916 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6917 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6918 * 6919 */ 6920 NODE_TEXT_AREA_ON_PASTE, 6921 /** 6922 * @brief Defines the event triggered when the text selection position changes. 6923 * 6924 \n 6925 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6926 * {@link ArkUI_NodeComponentEvent}. \n 6927 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6928 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6929 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6930 * 6931 */ 6932 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 6933 /** 6934 * @brief Defines the event triggered when matching with the regular expression specified by 6935 * <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails. 6936 * 6937 * \n 6938 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6939 * {@link ArkUI_StringAsyncEvent}. \n 6940 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6941 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6942 * 6943 */ 6944 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 6945 /** 6946 * @brief This callback is triggered when the text content is scrolled. 6947 * 6948 * \n 6949 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6950 * {@link ArkUI_NodeComponentEvent}. \n 6951 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6952 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area. \n 6953 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of \n 6954 * the text in the content area. \n 6955 * 6956 */ 6957 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 6958 6959 /** 6960 * @brief Defines the event triggered when the input status changes. 6961 * 6962 * \n 6963 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6964 * {@link ArkUI_NodeComponentEvent}. \n 6965 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6966 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that TextInput is in progress. \n 6967 * 6968 */ 6969 NODE_TEXT_AREA_ON_EDIT_CHANGE, 6970 6971 /** 6972 * @brief Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box. 6973 * 6974 * This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>. \n 6975 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is \n 6976 * {@link ArkUI_NodeComponentEvent}. \n 6977 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6978 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key. 6979 * 6980 */ 6981 NODE_TEXT_AREA_ON_SUBMIT, 6982 6983 /** 6984 * @brief This event is triggered when the input content of TextArea changes. 6985 * 6986 * Conditions for triggering this event: When the input content changes. \n 6987 * When the event callback occurs, the union type in the event parameter {@link ArkUI_NodeEvent} object is \n 6988 * {@link ArkUI_NodeComponentEvent}.\n 6989 * {@link ArkUI_NodeComponentEvent} contains 2 parameters:\n 6990 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text. \n 6991 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text. \n 6992 * 6993 */ 6994 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 6995 /** 6996 * @brief Defines the event triggered when text is about to be entered. 6997 * 6998 * The event parameter is {@link ArkUI_NodeEvent}. \n 6999 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7000 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7001 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7002 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7003 * @return Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise. 7004 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7005 */ 7006 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 7007 /** 7008 * @brief Defines the event triggered when text is entered. 7009 * 7010 * The event parameter is {@link ArkUI_NodeEvent}. \n 7011 * value.f32: position of the text, with the index of <b>0</b>; obtained using 7012 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7013 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7014 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7015 */ 7016 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 7017 /** 7018 * @brief Defines the event triggered when text is about to be deleted. 7019 * 7020 * The event parameter is {@link ArkUI_NodeEvent}. \n 7021 * value.f32: position of the text to delete, with the index of <b>0</b>; obtained using 7022 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7023 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7024 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7025 * forward-delete. \n 7026 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7027 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7028 * @return Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise. \n 7029 * You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>. \n 7030 */ 7031 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 7032 /** 7033 * @brief Defines the event triggered when text is deleted. 7034 * 7035 * The event parameter is {@link ArkUI_NodeEvent}. \n 7036 * value.f32: position of the text deleted, with the index of <b>0</b>; obtained using 7037 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. \n 7038 * value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using 7039 * <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates 7040 * forward-delete. \n 7041 * buffer: string value of the text, with the index of <b>0</b>; obtained using 7042 * <b>OH_ArkUI_NodeEvent_GetStringValue</b>. 7043 */ 7044 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 7045 /** 7046 * @brief Defines the event triggered when content (including preview text) changes in the <b>TextArea</b> 7047 * component. 7048 * 7049 * When the event callback occurs, the union type {@link ArkUI_NodeEvent} is {@link ArkUI_TextChangeEvent}. \n 7050 * {@link ArkUI_TextChangeEvent} contains the following parameters:\n 7051 * <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component. 7052 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component. 7053 * <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component. 7054 * 7055 * @since 16 7056 */ 7057 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 7058 /** 7059 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 7060 * 7061 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7062 * {@link ArkUI_NodeComponentEvent}. \n 7063 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 7064 */ 7065 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 7066 7067 /** 7068 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 7069 * 7070 \n 7071 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7072 * {@link ArkUI_NodeComponentEvent}. \n 7073 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7074 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 7075 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 7076 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 7077 */ 7078 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 7079 7080 /** 7081 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 7082 * 7083 \n 7084 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7085 * {@link ArkUI_NodeComponentEvent}. \n 7086 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7087 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 7088 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 7089 */ 7090 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 7091 7092 /** 7093 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 7094 * 7095 \n 7096 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7097 * {@link ArkUI_NodeComponentEvent}. \n 7098 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7099 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7100 */ 7101 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 7102 7103 /** 7104 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 7105 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 7106 * 7107 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7108 * {@link ArkUI_NodeComponentEvent}. \n 7109 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7110 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 7111 * 7112 * @since 14 7113 */ 7114 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 7115 7116 /** 7117 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 7118 * 7119 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7120 * {@link ArkUI_NodeComponentEvent}. \n 7121 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 7122 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 7123 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 7124 */ 7125 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 7126 7127 /** 7128 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 7129 * 7130 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7131 * {@link ArkUI_NodeComponentEvent}. \n 7132 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7133 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 7134 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 7135 */ 7136 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 7137 7138 /** 7139 * @brief Defines the event triggered when the <b>ARKUI_NODE_RADIO</b> component is dragged or clicked. 7140 * 7141 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7142 * {@link ArkUI_NodeComponentEvent}. \n 7143 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7144 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: status of the radio button. \n 7145 */ 7146 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 7147 7148 /** 7149 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 7150 * or checkbox changes. 7151 * 7152 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7153 * {@link ArkUI_StringAsyncEvent}. \n 7154 * <b>ArkUI_StringAsyncEvent.pStr</b> 7155 * Name: The names of the selected checkboxes; 7156 * Status: 7157 * 0: All checkboxes are selected. 7158 * 1: Some checkboxes are selected. 7159 * 2: No checkboxes are selected. \n 7160 * 7161 * @since 15 7162 */ 7163 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 7164 7165 /** 7166 * @brief Defines the event triggered when the index of the currently displayed element of this 7167 * <b>ARKUI_NODE_SWIPER</b> instance changes. 7168 * 7169 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7170 * {@link ArkUI_NodeComponentEvent}. \n 7171 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7172 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7173 */ 7174 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 7175 7176 /** 7177 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 7178 * 7179 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7180 * {@link ArkUI_NodeComponentEvent}. \n 7181 * {@link ArkUI_NodeComponentEvent} contains five parameters:\n 7182 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7183 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 7184 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 7185 * start position of the swiper along the main axis. \n 7186 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 7187 * of the swiper along the main axis. \n 7188 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 7189 */ 7190 NODE_SWIPER_EVENT_ON_ANIMATION_START, 7191 7192 /** 7193 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 7194 * 7195 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7196 * {@link ArkUI_NodeComponentEvent}. \n 7197 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7198 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7199 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7200 * start position of the swiper along the main axis. \n 7201 */ 7202 NODE_SWIPER_EVENT_ON_ANIMATION_END, 7203 7204 /** 7205 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 7206 * <b>ARKUI_NODE_SWIPER</b> instance. 7207 * 7208 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7209 * {@link ArkUI_NodeComponentEvent}. \n 7210 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7211 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 7212 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 7213 * start position of the swiper along the main axis. \n 7214 */ 7215 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 7216 7217 /** 7218 * @brief Defines the event triggered when content in the swiper component scrolls. 7219 * Instructions:\n 7220 * 1. This API does not work when {@link ArkUI_SwiperDisplayModeType} is set to 7221 * <b>ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR</b>. \n 7222 * 2. This API does not work when <b>prevMargin</b> and <b>nextMargin</b> are set in such a way that the 7223 * swiper frontend and backend display the same page during loop playback. \n 7224 * 3. During page scrolling, the </b>ContentDidScrollCallback</b> callback is invoked for all pages in the viewport 7225 * on a frame-by-frame basis. \n 7226 * For example, when there are two pages whose subscripts are 0 and 1 in the viewport, two callbacks whose indexes 7227 * are 0 and 1 are invoked in each frame. \n 7228 * 4. When the </b>swipeByGroup</b> parameter of the </b>displayCount</b> attribute is set to </b>true</b>, 7229 * the callback is invoked for all pages in a group if any page in the group is within the viewport. \n \n 7230 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7231 * {@link ArkUI_NodeComponentEvent}. \n 7232 * {@link ArkUI_NodeComponentEvent} contains four parameters:\n 7233 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the swiper component, which is the same as the index in the 7234 * <b>onChange</b> event. \n 7235 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of a page in the viewport. \n 7236 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: position of the page relative to the start position of the swiper 7237 * main axis (start position of the page corresponding to <b>selectedIndex</b>). \n 7238 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: length of the page in the main axis direction. \n 7239 */ 7240 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 7241 7242 /** 7243 * @brief Defines the event triggered when a new <b>ARKUI_NODE_SWIPER</b> instance becomes selected. 7244 * Animation is not necessarily complete. 7245 * 7246 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7247 * {@link ArkUI_NodeComponentEvent}. \n 7248 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7249 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes selected. \n 7250 */ 7251 NODE_SWIPER_EVENT_ON_SELECTED, 7252 7253 /** 7254 * @brief Defines the event triggered when a new <b>ARKUI_NODE_SWIPER</b> instance becomes unselected. 7255 * Animation is not necessarily complete. 7256 * 7257 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7258 * {@link ArkUI_NodeComponentEvent}. \n 7259 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7260 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected. \n 7261 */ 7262 NODE_SWIPER_EVENT_ON_UNSELECTED = 1001006, 7263 7264 /** 7265 * @brief Defines the event triggered when content in the swiper component will scroll. 7266 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 7267 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7268 * {@link ArkUI_NodeComponentEvent}. \n 7269 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7270 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 7271 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 7272 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 7273 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 7274 * slide forward(e.g. from index=0 to index=1). \n 7275 */ 7276 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 7277 7278 /** 7279 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 7280 * 7281 * Notes for triggering the event:\n 7282 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7283 * settings, such as keyboard and mouse operations. \n 7284 * 2. Scrolling can be initiated by calling the controller API. \n 7285 * 3. The out-of-bounds bounce effect is supported. \n 7286 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7287 * {@link ArkUI_NodeComponentEvent}. \n 7288 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7289 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 7290 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 7291 */ 7292 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 7293 /** 7294 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 7295 * 7296 * Notes for triggering the event:\n 7297 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7298 * settings, such as keyboard and mouse operations. \n 7299 * 2. This event is not triggered when the controller API is called. \n 7300 * 3. This event does not support the out-of-bounds bounce effect. \n 7301 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7302 * {@link ArkUI_NodeComponentEvent}. \n 7303 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7304 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 7305 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 7306 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 7307 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 7308 * needs to scroll based on the real-world situation and return the result in this parameter. \n 7309 */ 7310 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 7311 /** 7312 * @brief Defines the event triggered when the container is about to scroll. 7313 * 7314 * Notes for triggering the event:\n 7315 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7316 * settings, such as keyboard and mouse operations. \n 7317 * 2. Scrolling can be initiated by calling the controller API. \n 7318 * 3. The out-of-bounds bounce effect is supported. \n 7319 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7320 * {@link ArkUI_NodeComponentEvent}. \n 7321 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7322 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when 7323 * the content is scrolled left and negative when the content is scrolled right. \n 7324 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when 7325 * the content is scrolled up and negative when the content is scrolled down. \n 7326 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. 7327 * The parameter type is {@link ArkUI_ScrollState}. \n 7328 */ 7329 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 7330 /** 7331 * @brief Defines the event triggered when the container scrolls. 7332 * 7333 * Notes for triggering the event:\n 7334 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7335 * settings, such as keyboard and mouse operations. \n 7336 * 2. Scrolling can be initiated by calling the controller API. \n 7337 * 3. The out-of-bounds bounce effect is supported. \n 7338 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7339 * {@link ArkUI_NodeComponentEvent}. \n 7340 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7341 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 7342 * content is scrolled left and negative when the content is scrolled right. \n 7343 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 7344 * content is scrolled up and negative when the content is scrolled down. \n 7345 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. The parameter type is 7346 * {@link ArkUI_ScrollState}. \n 7347 */ 7348 NODE_SCROLL_EVENT_ON_DID_SCROLL, 7349 /** 7350 * @brief Defines the event triggered when the container starts scrolling. 7351 * 7352 * Notes for triggering the event:\n 7353 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 7354 * and mouse operations. \n 7355 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 7356 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7357 * {@link ArkUI_NodeComponentEvent}. \n 7358 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 7359 */ 7360 NODE_SCROLL_EVENT_ON_SCROLL_START, 7361 /** 7362 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 7363 * 7364 * Notes for triggering the event:\n 7365 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 7366 * settings, such as keyboard and mouse operations. \n 7367 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 7368 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7369 * {@link ArkUI_NodeComponentEvent}. \n 7370 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 7371 */ 7372 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 7373 /** 7374 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 7375 * one of the edges. 7376 * 7377 * Notes for triggering the event:\n 7378 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 7379 * component or other input settings, such as keyboard and mouse operations. \n 7380 * 2. Scrolling can be initiated by calling the controller API. \n 7381 * 3. The out-of-bounds bounce effect is supported. \n 7382 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7383 * {@link ArkUI_NodeComponentEvent}. \n 7384 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 7385 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 7386 */ 7387 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 7388 /** 7389 * @brief Define that a callback is triggered 7390 * when the scrolling container component reaches the start position. 7391 * Condition for triggering the event:\n 7392 * Triggered when the component reaches the start position. \n 7393 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 7394 * {@Link ArkUI_NodeComponentEvent}. \n 7395 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 7396 */ 7397 NODE_SCROLL_EVENT_ON_REACH_START, 7398 /** 7399 * @brief Define that a callback is triggered when the scrolling container component ends. \n 7400 * Condition for triggering the event:\n 7401 * Triggered when the component reaches the end. \n 7402 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7403 * {@Link ArkUI_NodeComponentEvent}. \n 7404 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 7405 */ 7406 NODE_SCROLL_EVENT_ON_REACH_END, 7407 7408 /** 7409 * @brief Defines the event triggered when a child component enters or leaves the list display area. 7410 * 7411 * Notes for triggering the event:\n 7412 * This event is triggered once when the list is initialized and when the index of the first child component or the 7413 * next child component in the list display area changes. \n 7414 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7415 * {@link ArkUI_NodeComponentEvent}. \n 7416 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 7417 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 7418 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the list display area. \n 7419 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the center child component in the list display area. \n 7420 */ 7421 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 7422 /** 7423 * @brief Defines the event triggered when the list is about to scroll. 7424 * 7425 * Notes for triggering the event:\n 7426 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7427 * settings, such as keyboard and mouse operations. \n 7428 * 2. Scrolling can be initiated by calling the controller API. \n 7429 * 3. The out-of-bounds bounce effect is supported. \n 7430 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7431 * {@link ArkUI_NodeComponentEvent}. \n 7432 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7433 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 7434 * is scrolled up and negative when the list is scrolled down. \n 7435 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 7436 */ 7437 NODE_LIST_ON_WILL_SCROLL, 7438 /** 7439 * @brief Defines the event triggered when the list scrolls. 7440 * 7441 * Notes for triggering the event:\n 7442 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7443 * settings, such as keyboard and mouse operations. \n 7444 * 2. Scrolling can be initiated by calling the controller API. \n 7445 * 3. The out-of-bounds bounce effect is supported. \n 7446 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7447 * {@link ArkUI_NodeComponentEvent}. \n 7448 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7449 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 7450 * is scrolled up and negative when the list is scrolled down. \n 7451 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 7452 */ 7453 NODE_LIST_ON_DID_SCROLL, 7454 7455 /** 7456 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 7457 * 7458 * Notes for triggering the event:\n 7459 * This event is triggered once when the list is initialized and when the index of the first child component or the 7460 * next child component in the list display area changes. 7461 * During index calculation, the list item, header of the list item group, and footer of the list item group each 7462 * are counted as a child component. \n 7463 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7464 * {@link ArkUI_NodeComponentEvent}. \n 7465 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 7466 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 7467 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 7468 * The type is {@link ArkUI_ListItemGroupArea}. \n 7469 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 7470 * in the list item group. 7471 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 7472 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: index of the last child component in the list display area. \n 7473 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: area in the list item group where the list display area ends. 7474 * The type is {@link ArkUI_ListItemGroupArea}. \n 7475 * <b>ArkUI_NodeComponentEvent.data[6].i32</b>: index of the list item at the end of the list display area in the 7476 * list item group. 7477 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 7478 * 7479 * @since 15 7480 */ 7481 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 7482 7483 /** 7484 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 7485 * 7486 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7487 * {@link ArkUI_NodeComponentEvent}. \n 7488 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7489 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 7490 */ 7491 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 7492 /** 7493 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 7494 * 7495 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7496 * {@link ArkUI_NodeComponentEvent}. \n 7497 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 7498 */ 7499 NODE_REFRESH_ON_REFRESH, 7500 /** 7501 * @brief Defines the event triggered when the pull-down distance of <b>ARKUI_NODE_REFRESH</b> changes. 7502 * 7503 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7504 * {@link ArkUI_NodeComponentEvent}. \n 7505 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 7506 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: pull-down distance. \n 7507 */ 7508 NODE_REFRESH_ON_OFFSET_CHANGE = 1009002, 7509 7510 /** 7511 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 7512 * 7513 * Notes for triggering the event:\n 7514 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 7515 * input settings, such as keyboard and mouse operations. \n 7516 * 2. Scrolling can be initiated by calling the controller API. \n 7517 * 3. The out-of-bounds bounce effect is supported. \n 7518 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7519 * {@link ArkUI_NodeComponentEvent}. \n 7520 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7521 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 7522 * component is scrolled up and negative when the component is scrolled down. \n 7523 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 7524 */ 7525 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 7526 /** 7527 * @brief Defines the event triggered when the water flow container scrolls. 7528 * 7529 * Notes for triggering the event:\n 7530 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 7531 * settings, such as keyboard and mouse operations. \n 7532 * 2. Scrolling can be initiated by calling the controller API. \n 7533 * 3. The out-of-bounds bounce effect is supported. \n 7534 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 7535 * {@link ArkUI_NodeComponentEvent}. \n 7536 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 7537 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 7538 * content is scrolled up and negative when the content is scrolled down. \n 7539 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 7540 */ 7541 NODE_WATER_FLOW_ON_DID_SCROLL, 7542 /** 7543 * @brief Defines the enumerated values of the event triggered, 7544 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 7545 * Condition for triggering the event:\n 7546 * This event is triggered when the index value of the first or last subcomponent \n 7547 * in the waterfall display area changes. \n 7548 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 7549 * {@Link ArkUI_NodeComponentEvent}. \n 7550 * {@Link ArkUI_NodeComponentEvent} contains three parameters:\n 7551 * ArkUI_NodeComponentEvent.data[0].i32: The index value of \n 7552 * the start position of the currently displayed WaterFlow. \n 7553 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 7554 * the end position of the currently displayed waterfall. \n 7555 */ 7556 NODE_WATER_FLOW_ON_SCROLL_INDEX, 7557 7558 /** 7559 * @brief 定义帧动画开始的状态回调。 7560 * 7561 * 触发该事件的条件:\n 7562 * 1、帧动画开始播放时。\n 7563 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 7564 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 7565 * 7566 */ 7567 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 7568 /** 7569 * @brief 定义帧动画播放暂停时的状态回调。 7570 * 7571 * 触发该事件的条件:\n 7572 * 1、帧动画暂停播放时。\n 7573 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 7574 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 7575 * 7576 */ 7577 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 7578 /** 7579 * @brief 定义帧动画c重复播放时的状态回调。 7580 * 7581 * 触发该事件的条件:\n 7582 * 1、帧动画重复播放时。\n 7583 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 7584 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 7585 * 7586 */ 7587 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 7588 /** 7589 * @brief 定义帧动画返回最初状态时的状态回调。 7590 * 7591 * 触发该事件的条件:\n 7592 * 1、帧动画返回最初状态时。\n 7593 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 7594 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 7595 * 7596 */ 7597 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 7598 /** 7599 * @brief 定义帧动画播放完成时或者停止播放时的状态回调。 7600 * 7601 * 触发该事件的条件:\n 7602 * 1、帧动画播放完成时或停止播放时。\n 7603 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 7604 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 7605 * 7606 */ 7607 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 7608 } ArkUI_NodeEventType; 7609 7610 /** 7611 * @brief Defines the common structure type of a component event. 7612 * 7613 * @since 12 7614 */ 7615 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 7616 7617 /** 7618 * @brief Obtains the type of a component event. 7619 * 7620 * @param event Indicates the pointer to the component event. 7621 * @return Returns the type of the component event. 7622 * @since 12 7623 */ 7624 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 7625 7626 /** 7627 * @brief Obtains the custom ID of a component event. 7628 * 7629 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 7630 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 7631 * 7632 * @param event Indicates the pointer to the component event. 7633 * @return Returns the custom ID of the component event. 7634 * @since 12 7635 */ 7636 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 7637 7638 /** 7639 * @brief Obtains the component object that triggers a component event. 7640 * 7641 * @param event Indicates the pointer to the component event. 7642 * @return Returns the component object that triggers the component event. 7643 * @since 12 7644 */ 7645 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 7646 7647 /** 7648 * @brief Obtains input event (for example, touch event) data for a component event. 7649 * 7650 * @param event Indicates the pointer to the component event. 7651 * @return Returns the pointer to the input event data. 7652 * @since 12 7653 */ 7654 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 7655 7656 /** 7657 * @brief Obtains the numerical data in a component event. 7658 * 7659 * @param event Indicates the pointer to the component event. 7660 * @return Returns the pointer to the numerical data. 7661 * @since 12 7662 */ 7663 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 7664 7665 /** 7666 * @brief Obtains the string data in a component event. 7667 * 7668 * @param event Indicates the pointer to the component event. 7669 * @return Returns the pointer to the string data. 7670 * @since 12 7671 */ 7672 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 7673 7674 /** 7675 * @brief 获取ArkUI_TextChangeEvent的数据。 7676 * 7677 * @param event ArkUI_NodeEvent的指针,不应为空。 7678 * @return 返回ArkUI_TextChangeEvent对象的指针。 7679 * @since 16 7680 */ 7681 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 7682 7683 /** 7684 * @brief Obtains the custom data in a component event. 7685 * 7686 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 7687 * is triggered. 7688 * 7689 * @param event Indicates the pointer to the component event. 7690 * @return Returns the pointer to the custom data. 7691 * @since 12 7692 */ 7693 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 7694 7695 /** 7696 * @brief 获取组件回调事件的数字类型参数。 7697 * 7698 * @param event 组件事件指针。 7699 * @param index 返回值索引。 7700 * @param value 具体返回值。 7701 * @return 错误码。 7702 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7703 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中参数长度超限。 7704 * {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。 7705 * @since 12 7706 */ 7707 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 7708 7709 /** 7710 * @brief 获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。 7711 * 7712 * @param event 组件事件指针。 7713 * @param index 返回值索引。 7714 * @param string 字符串数组的指针。 7715 * @param stringSize 字符串数组的长度。 7716 * @return 错误码。 7717 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7718 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} 组件事件中参数长度超限。 7719 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中不存在该数据。 7720 * @since 12 7721 */ 7722 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 7723 7724 /** 7725 * @brief 设置组件回调事件的返回值。 7726 * 7727 * @param event 组件事件指针。 7728 * @param value 事件数字类型数组。 7729 * @param size 数组长度。 7730 * @return 错误码。 7731 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7732 * {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。 7733 * @since 12 7734 */ 7735 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 7736 7737 /** 7738 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 7739 * 7740 * @since 12 7741 */ 7742 typedef enum { 7743 /** 7744 * @brief Remeasure. 7745 * 7746 * When this type of flag is specified, re-layout is triggered by default. 7747 */ 7748 NODE_NEED_MEASURE = 1, 7749 7750 /** Re-layout. */ 7751 NODE_NEED_LAYOUT, 7752 /** Re-rendering. */ 7753 NODE_NEED_RENDER, 7754 } ArkUI_NodeDirtyFlag; 7755 7756 /** 7757 * @brief Defines the custom component event type. 7758 * 7759 * @since 12 7760 */ 7761 typedef enum { 7762 /** Measure type. */ 7763 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 7764 /** Layout type. */ 7765 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 7766 /** Draw type. */ 7767 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 7768 /** Foreground type. */ 7769 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 7770 /** Overlay type. */ 7771 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 7772 } ArkUI_NodeCustomEventType; 7773 7774 /** 7775 * @brief Defines the general structure of a custom component event. 7776 * 7777 * @since 12 7778 */ 7779 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 7780 7781 /** 7782 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 7783 * 7784 * @since 12 7785 */ 7786 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 7787 7788 /** 7789 * @brief Defines the component adapter event. 7790 * 7791 * @since 12 7792 */ 7793 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 7794 7795 /** 7796 * @brief Enumerates component adapter events. 7797 * 7798 * @since 12 7799 */ 7800 typedef enum { 7801 /** This event occurs when the component is attached to the adapter. */ 7802 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 7803 /** This event occurs when the component is detached from the adapter. */ 7804 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 7805 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 7806 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 7807 /** This event occurs when the adapter obtains the content of the new element to add. */ 7808 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 7809 /** This event occurs when the adapter removes an element. */ 7810 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 7811 } ArkUI_NodeAdapterEventType; 7812 7813 /** 7814 * @brief Creates a component adapter. 7815 * 7816 * @since 12 7817 */ 7818 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(void); 7819 7820 /** 7821 * @brief Destroys a component adapter. 7822 * 7823 * @param handle Indicates the target component adapter. 7824 * @since 12 7825 */ 7826 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 7827 7828 /** 7829 * @brief Sets the total number of elements in the specified adapter. 7830 * 7831 * @param handle Indicates the target component adapter. 7832 * @param size Indicates the number of elements. 7833 * @return Returns the error code. 7834 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7835 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7836 * @since 12 7837 */ 7838 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 7839 7840 /** 7841 * @brief Obtains the total number of elements in the specified adapter. 7842 * 7843 * @param handle Indicates the target component adapter. 7844 * @return Returns the total number of elements in the adapter. 7845 * @since 12 7846 */ 7847 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 7848 7849 /** 7850 * @brief Registers an event callback for the adapter. 7851 * 7852 * @param handle Indicates the target component adapter. 7853 * @param userData Indicates custom data. 7854 * @param receiver Indicates the event receiver callback. 7855 * @return Returns the error code. 7856 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7857 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7858 * @since 12 7859 */ 7860 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 7861 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 7862 7863 /** 7864 * @brief Deregisters an event callback for the adapter. 7865 * 7866 * @param handle Indicates the target component adapter. 7867 * @since 12 7868 */ 7869 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 7870 7871 /** 7872 * @brief Instructs the specified adapter to reload all elements. 7873 * 7874 * @param handle Indicates the target component adapter. 7875 * @return Returns the error code. 7876 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7877 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7878 * @since 12 7879 */ 7880 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 7881 7882 /** 7883 * @brief Instructs the specified adapter to reload certain elements. 7884 * 7885 * @param handle Indicates the target component adapter. 7886 * @param startPosition Indicates the start position of the elements to reload. 7887 * @param itemCount Indicates the number of the elements to reload. 7888 * @return Returns the error code. 7889 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7890 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7891 * @since 12 7892 */ 7893 int32_t OH_ArkUI_NodeAdapter_ReloadItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7894 7895 /** 7896 * @brief Instructs the specified adapter to remove certain elements. 7897 * 7898 * @param handle Indicates the target component adapter. 7899 * @param startPosition Indicates the start position of the elements to remove. 7900 * @param itemCount Indicates the number of the elements to remove. 7901 * @return Returns the error code. 7902 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7903 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7904 * @since 12 7905 */ 7906 int32_t OH_ArkUI_NodeAdapter_RemoveItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7907 7908 /** 7909 * @brief Instructs the specified adapter to insert certain elements. 7910 * 7911 * @param handle Indicates the target component adapter. 7912 * @param startPosition Indicates the start position of the elements to insert. 7913 * @param itemCount Indicates the number of the elements to insert. 7914 * @return Returns the error code. 7915 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7916 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7917 * @since 12 7918 */ 7919 int32_t OH_ArkUI_NodeAdapter_InsertItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7920 7921 /** 7922 * @brief Instructs the specified adapter to move certain elements. 7923 * 7924 * @param handle Indicates the target component adapter. 7925 * @param from Indicates the start position of the elements to move. 7926 * @param to Indicates the end position of the elements to move. 7927 * @return Returns the error code. 7928 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7929 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7930 * @since 12 7931 */ 7932 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 7933 7934 /** 7935 * @brief Obtains all elements stored in the specified adapter. 7936 * 7937 * This API returns the pointer to the array of the elements. You need to manually release the memory data 7938 * to which the pointer points. 7939 * 7940 * @param handle Indicates the target component adapter. 7941 * @param items Indicates the pointer to the array of the elements in the adapter. 7942 * @param size Indicates the number of elements. 7943 * @return Returns the error code. 7944 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7945 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7946 * @since 12 7947 */ 7948 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 7949 7950 /** 7951 * @brief Obtains the custom data passed in during registration of the specified event. 7952 * 7953 * @param event Indicates the target adapter event. 7954 * @since 12 7955 */ 7956 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 7957 7958 /** 7959 * @brief Obtains the event type. 7960 * 7961 * @param event Indicates the target adapter event. 7962 * @return Returns the event type. 7963 * @since 12 7964 */ 7965 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 7966 7967 /** 7968 * @brief Obtains the element to be removed for the event to be destroyed. 7969 * 7970 * @param event Indicates the target adapter event. 7971 * @return Returns the element to be removed. 7972 * @since 12 7973 */ 7974 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 7975 7976 /** 7977 * @brief Obtains the index of the element to be operated for the specified adapter event. 7978 * 7979 * @param event Indicates the target adapter event. 7980 * @return Returns the index of the element. 7981 * @since 12 7982 */ 7983 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 7984 7985 /** 7986 * @brief Obtains the scrollable container node that uses the specified adapter. 7987 * 7988 * @param event Indicates the target adapter event. 7989 * @return Returns the error code. 7990 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7991 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7992 * @since 12 7993 */ 7994 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 7995 7996 /** 7997 * @brief Sets the component to be added to the specified adapter. 7998 * 7999 * @param event Indicates the target adapter event. 8000 * @param node Indicates the component to be added. 8001 * @return Returns the error code. 8002 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8003 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8004 * @since 12 8005 */ 8006 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 8007 8008 /** 8009 * @brief Sets the component ID to be generated. 8010 * 8011 * @param event Indicates the target adapter event. 8012 * @param id Indicates the component ID to set. 8013 * @return Returns the error code. 8014 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8015 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8016 * @since 12 8017 */ 8018 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 8019 8020 /** 8021 * @brief Declares a collection of native node APIs provided by ArkUI. 8022 * 8023 * The APIs related to the native node must be called in the main thread. 8024 * 8025 * @version 1 8026 * @since 12 8027 */ 8028 typedef struct { 8029 /** Struct version. */ 8030 int32_t version; 8031 8032 /** 8033 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 8034 * 8035 * @param type Indicates the type of component to create. 8036 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 8037 */ 8038 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 8039 8040 /** 8041 * @brief Destroys the component to which the specified pointer points. 8042 * 8043 * @param node Indicates the pointer. 8044 */ 8045 void (*disposeNode)(ArkUI_NodeHandle node); 8046 8047 /** 8048 * @brief Adds a component to a parent node. 8049 * 8050 * @param parent Indicates the pointer to the parent node. 8051 * @param child Indicates the pointer to the child node. 8052 * @return Returns the error code. 8053 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8054 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8055 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8056 * on BuilderNode generated nodes: 8057 * setting or resetting attributes, setting events, or adding or editing subnodes. 8058 */ 8059 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8060 8061 /** 8062 * @brief Removes a component from its parent node. 8063 * 8064 * @param parent Indicates the pointer to the parent node. 8065 * @param child Indicates the pointer to the child node. 8066 * @return Returns the error code. 8067 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8068 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8069 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8070 * on BuilderNode generated nodes: 8071 * setting or resetting attributes, setting events, or adding or editing subnodes. 8072 */ 8073 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 8074 8075 /** 8076 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 8077 * 8078 * @param parent Indicates the pointer to the parent node. 8079 * @param child Indicates the pointer to the child node. 8080 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 8081 * If the value is null, the node is inserted at the start of the parent node. 8082 * @return Returns the error code. 8083 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8084 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8085 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8086 * on BuilderNode generated nodes: 8087 * setting or resetting attributes, setting events, or adding or editing subnodes. 8088 */ 8089 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8090 8091 /** 8092 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 8093 * 8094 * @param parent Indicates the pointer to the parent node. 8095 * @param child Indicates the pointer to the child node. 8096 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 8097 * If the value is null, the node is inserted at the end of the parent node. 8098 * @return Returns the error code. 8099 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8100 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8101 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8102 * on BuilderNode generated nodes: 8103 * setting or resetting attributes, setting events, or adding or editing subnodes. 8104 */ 8105 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 8106 8107 /** 8108 * @brief Inserts a component to the specified position in a parent node. 8109 * 8110 * @param parent Indicates the pointer to the parent node. 8111 * @param child Indicates the pointer to the child node. 8112 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 8113 * negative number or invalid, the node is inserted at the end of the parent node. 8114 * @return Returns the error code. 8115 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8116 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8117 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8118 * on BuilderNode generated nodes: 8119 * setting or resetting attributes, setting events, or adding or editing subnodes. 8120 */ 8121 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 8122 8123 /** 8124 * @brief Sets the attribute of a node. 8125 * 8126 * @param node Indicates the node whose attribute needs to be set. 8127 * @param attribute Indicates the type of attribute to set. 8128 * @param item Indicates the attribute value. 8129 * @return Returns the error code. 8130 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8131 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8132 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8133 * of the native API was not found. 8134 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8135 * on BuilderNode generated nodes: 8136 * setting or resetting attributes, setting events, or adding or editing subnodes. 8137 */ 8138 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 8139 8140 /** 8141 * @brief Obtains an attribute. 8142 * 8143 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 8144 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 8145 * time. Otherwise, the pointer may be overwritten by other values. 8146 * 8147 * @param node Indicates the node whose attribute needs to be obtained. 8148 * @param attribute Indicates the type of attribute to obtain. 8149 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 8150 */ 8151 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8152 8153 /** 8154 * @brief Resets an attribute. 8155 * 8156 * @param node Indicates the node whose attribute needs to be reset. 8157 * @param attribute Indicates the type of attribute to reset. 8158 * @return Returns the error code. 8159 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8160 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8161 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8162 * of the native API was not found. 8163 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8164 * on BuilderNode generated nodes: 8165 * setting or resetting attributes, setting events, or adding or editing subnodes. 8166 */ 8167 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 8168 8169 /** 8170 * @brief Registers an event for the specified node. 8171 * 8172 * @param node Indicates the target node. 8173 * @param eventType Indicates the type of event to register. 8174 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 8175 * when the event is triggered. 8176 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 8177 * when the event is triggered. 8178 * @return Returns the error code. 8179 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8180 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8181 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8182 * of the native API was not found. 8183 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 8184 * on BuilderNode generated nodes: 8185 * setting or resetting attributes, setting events, or adding or editing subnodes. 8186 */ 8187 int32_t (*registerNodeEvent)( 8188 ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, int32_t targetId, void* userData); 8189 8190 /** 8191 * @brief Unregisters an event for the specified node. 8192 * 8193 * @param node Indicates the target node. 8194 * @param eventType Indicates the type of event to unregister. 8195 */ 8196 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 8197 8198 /** 8199 * @brief Registers an event receiver. 8200 * 8201 * The ArkUI framework collects component events generated during the process and calls back the events through 8202 * the registered event receiver. \n 8203 * A new call to this API will overwrite the previously registered event receiver. \n 8204 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the callback 8205 * is complete. \n 8206 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 8207 * 8208 * @param eventReceiver Indicates the event receiver to register. 8209 */ 8210 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 8211 8212 /** 8213 * @brief Unregisters the event receiver. 8214 * 8215 */ 8216 void (*unregisterNodeEventReceiver)(); 8217 8218 /** 8219 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 8220 * 8221 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 8222 * measuring, layout, or rendering again. In this case, you do not need to call this API. 8223 * 8224 * @param node Indicates the node for which you want to mark as dirty area. 8225 * @param dirtyFlag Indicates type of dirty area. 8226 */ 8227 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 8228 8229 /** 8230 * @brief Obtains the number of subnodes. 8231 * 8232 * @param node Indicates the target node. 8233 * @return Returns the error code. 8234 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8235 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8236 */ 8237 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 8238 8239 /** 8240 * @brief Obtains a subnode. 8241 * 8242 * @param node Indicates the target node. 8243 * @param position Indicates the position of the subnode. 8244 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8245 */ 8246 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 8247 8248 /** 8249 * @brief Obtains the first subnode. 8250 * 8251 * @param node Indicates the target node. 8252 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8253 */ 8254 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 8255 8256 /** 8257 * @brief Obtains the last subnode. 8258 * 8259 * When the component is being displayed, this API must be called in the main thread. 8260 * 8261 * @param node Indicates the target node. 8262 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8263 */ 8264 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 8265 8266 /** 8267 * @brief Obtains the previous sibling node. 8268 * 8269 * @param node Indicates the target node. 8270 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8271 */ 8272 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 8273 8274 /** 8275 * @brief Obtains the next sibling node. 8276 * 8277 * @param node Indicates the target node. 8278 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8279 */ 8280 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 8281 8282 /** 8283 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 8284 * point function registered by <b>registerNodeCustomEventReceiver</b>. 8285 * 8286 * @param node Indicates the target node. 8287 * @param eventType Indicates the type of event to register. 8288 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 8289 * when the event is triggered. 8290 * @param userData Indicates the custom event parameter, which is passed in the callback of 8291 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 8292 * @return Returns the error code. 8293 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8294 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8295 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 8296 * of the native API was not found. 8297 */ 8298 int32_t (*registerNodeCustomEvent)( 8299 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 8300 8301 /** 8302 * @brief Unregisters a custom event for a node. 8303 * 8304 * @param node Indicates the target node. 8305 * @param eventType Indicates the type of event to unregister. 8306 */ 8307 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 8308 8309 /** 8310 * @brief Registers a unified entry point function for custom node event callbacks. 8311 * 8312 * The ArkUI framework collects custom component events generated during the process and calls back the events 8313 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 8314 * A new call to this API will overwrite the previously registered event receiver. 8315 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 8316 * The data will be destroyed after the callback is complete. \n 8317 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 8318 * 8319 * @param eventReceiver Indicates the event receiver to register. 8320 */ 8321 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8322 8323 /** 8324 * @brief Unregisters the unified entry point function for custom node event callbacks. 8325 * 8326 */ 8327 void (*unregisterNodeCustomEventReceiver)(); 8328 8329 /** 8330 * @brief Sets the width and height for a component after the measurement. 8331 * 8332 * @param node Indicates the target node. 8333 * @param width Indicates the width. 8334 * @param height Indicates the height. 8335 * @return Returns the error code. 8336 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8337 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8338 */ 8339 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 8340 8341 /** 8342 * @brief Sets the position for a component. 8343 * 8344 * @param node Indicates the target node. 8345 * @param positionX Indicates the X coordinate. 8346 * @param positionY Indicates the Y coordinate. 8347 * @return Returns the error code. 8348 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8349 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8350 */ 8351 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 8352 8353 /** 8354 * @brief Obtains the width and height of a component after measurement. 8355 * 8356 * @param node Indicates the target node. 8357 * @return Returns the width and height of the component. 8358 */ 8359 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 8360 8361 /** 8362 * @brief Obtains the position of a component after the layout is complete. 8363 * 8364 * @param node Indicates the target node. 8365 * @return Returns the position of the component. 8366 */ 8367 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 8368 8369 /** 8370 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 8371 * 8372 * @param node Indicates the target node. 8373 * @param Constraint Indicates the size constraint. 8374 * @return Returns the error code. 8375 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8376 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8377 */ 8378 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 8379 8380 /** 8381 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 8382 * 8383 * @param node Indicates the target node. 8384 * @param positionX Indicates the X coordinate. 8385 * @param positionY Indicates the Y coordinate. 8386 * @return Returns the error code. 8387 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8388 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8389 */ 8390 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 8391 8392 /** 8393 * @brief Adds a component event callback function to a component to receive component events generated 8394 * by the component. 8395 * 8396 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 8397 * receivers to be added to the same component. \n 8398 * The callback added by this API is triggered before the global callback registered by 8399 * <b>registerNodeEventReceiver</b>. \n 8400 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 8401 * The data will be destroyed after the callback is complete. \n 8402 * 8403 * @param node Indicates the component for which you want to add the event callback function. 8404 * @param eventReceiver Indicates the component event callback function to add. 8405 * @return Returns the error code. 8406 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8407 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8408 */ 8409 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 8410 8411 /** 8412 * @brief Removes the registered component event callback function from a component. 8413 * 8414 * @param node Indicates the component from which you want to remove the event callback function. 8415 * @param eventReceiver Indicates the component event callback function to remove. 8416 * @return Returns the error code. 8417 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8418 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8419 */ 8420 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 8421 8422 /** 8423 * @brief Adds a custom event callback function to a component to receive custom events 8424 * (such as layout and drawing events) generated by the component. 8425 * 8426 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 8427 * multiple event receivers to be added to the same component. \n 8428 * The callback added by this API is triggered before the global callback registered by 8429 * <b>registerNodeCustomEventReceiver</b>. \n 8430 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 8431 * The data will be destroyed after the callback is complete. \n 8432 * 8433 * @param node Indicates the component for which you want to add the custom event callback function. 8434 * @param eventReceiver Indicates the custom event callback function to add. 8435 * @return Returns the error code. 8436 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8437 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8438 */ 8439 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8440 8441 /** 8442 * @brief Removes a registered custom event callback function from a component. 8443 * 8444 * @param node Indicates the component from which you want to remove the custom event callback function. 8445 * @param eventReceiver Indicates the custom event callback function to remove. 8446 * @return Returns the error code. 8447 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8448 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8449 */ 8450 int32_t (*removeNodeCustomEventReceiver)( 8451 ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 8452 8453 /** 8454 * @brief Saves custom data on the specified component. 8455 * 8456 * @param node Indicates the component on which the custom data will be saved. 8457 * @param userData Indicates the custom data to be saved. 8458 * @return Returns the error code. 8459 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8460 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8461 */ 8462 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 8463 8464 /** 8465 * @brief Obtains the custom data saved on the specified component. 8466 * 8467 * @param node Indicates the target component. 8468 * @return Returns the custom data. 8469 */ 8470 void* (*getUserData)(ArkUI_NodeHandle node); 8471 8472 /** 8473 * @brief Sets the unit for a component. 8474 * 8475 * @param node Indicates the component for which you want to set the unit. 8476 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 8477 * @return Returns the error code. 8478 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8479 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8480 */ 8481 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 8482 8483 /** 8484 * @brief Obtains the parent node. 8485 * 8486 * @param node Indicates the target node. 8487 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 8488 */ 8489 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 8490 8491 /** 8492 * @brief Remove all child nodes from the parent component. 8493 * 8494 * @param parent target node object. 8495 * @return Returns the error code. 8496 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8497 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8498 * @since 12 8499 */ 8500 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 8501 } ArkUI_NativeNodeAPI_1; 8502 8503 /** 8504 * @brief Obtains the size constraint for measurement through a custom component event. 8505 * 8506 * @param event Indicates the pointer to the custom component event. 8507 * @return Returns the pointer to the size constraint. 8508 * @since 12 8509 */ 8510 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 8511 8512 /** 8513 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 8514 * custom component event. 8515 * 8516 * @param event Indicates the pointer to the custom component event. 8517 * @return Returns the expected position relative to the parent component. 8518 * @since 12 8519 */ 8520 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 8521 8522 /** 8523 * @brief Obtains the drawing context through a custom component event. 8524 * 8525 * @param event Indicates the pointer to the custom component event. 8526 * @return Returns the drawing context. 8527 * @since 12 8528 */ 8529 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 8530 8531 /** 8532 * @brief Obtains the ID of a custom component event. 8533 * 8534 * @param event Indicates the pointer to the custom component event. 8535 * @return Returns the ID of the custom component event. 8536 * @since 12 8537 */ 8538 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 8539 8540 /** 8541 * @brief Obtains custom event parameters through a custom component event. 8542 * 8543 * @param event Indicates the pointer to the custom component event. 8544 * @return Returns the custom event parameters. 8545 * @since 12 8546 */ 8547 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 8548 8549 /** 8550 * @brief Obtains a component object through a custom component event. 8551 * 8552 * @param event Indicates the pointer to the custom component event. 8553 * @return Returns the component object. 8554 * @since 12 8555 */ 8556 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 8557 8558 /** 8559 * @brief Obtains the event type through a custom component event. 8560 * 8561 * @param event Indicates the pointer to the custom component event. 8562 * @return Returns the type of the custom component event. 8563 * @since 12 8564 */ 8565 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 8566 8567 /** 8568 * @brief 通过自定义组件事件获取自定义段落组件的测量信息。 8569 * 8570 * @param event 自定义组件事件。 8571 * @param info 需要获取的测量信息。 8572 * @return 错误码。 8573 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8574 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 8575 * @since 12 8576 */ 8577 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 8578 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 8579 8580 /** 8581 * @brief 通过自定义组件事件设置自定义段落的度量指标。 8582 * 8583 * @param event 自定义组件事件。 8584 * @param metrics 需要获取的度量指标信息。 8585 * @return 错误码。 8586 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8587 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 8588 * @since 12 8589 */ 8590 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 8591 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 8592 8593 /** 8594 * @brief 通过自定义组件事件获取自定义段落组件的绘制信息。 8595 * 8596 * @param event 自定义组件事件。 8597 * @param event 需要获取的绘制信息。 8598 * @return 错误码。 8599 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 8600 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 8601 * @since 12 8602 */ 8603 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 8604 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 8605 8606 /** 8607 * @brief Adds a component to a node content. 8608 * 8609 * @param content Indicates the pointer to the node content instance. 8610 * @param node Indicates the pointer to the node. 8611 * @return Returns 0 if success. 8612 * Returns 401 if a parameter exception occurs. 8613 * @since 12 8614 */ 8615 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8616 8617 /** 8618 * @brief Adds a component to a node content. 8619 * 8620 * @param content Indicates the pointer to the node content instance. 8621 * @param node Indicates the pointer to the node. 8622 * @return Returns 0 if success. 8623 * Returns 401 if a parameter exception occurs. 8624 * @since 12 8625 */ 8626 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 8627 8628 /** 8629 * @brief Removes a component from a node content. 8630 * 8631 * @param content Indicates the pointer to the node content. 8632 * @param node Indicates the pointer to the node. 8633 * @return Returns 0 if success. 8634 * Returns 401 if a parameter exception occurs. 8635 * @since 12 8636 */ 8637 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 8638 8639 /** 8640 * @brief Defines the node content event type. 8641 * 8642 * @since 12 8643 */ 8644 typedef enum { 8645 /** Defines the mount event. */ 8646 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 8647 /** Defines the unmount event. */ 8648 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 8649 } ArkUI_NodeContentEventType; 8650 8651 8652 /** 8653 * @brief Enumerates the inspector error codes. 8654 * @since 15 8655 */ 8656 typedef enum { 8657 /** 8658 * @error Success. 8659 */ 8660 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 8661 /** 8662 * @error Invalid parameter. 8663 */ 8664 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 8665 } ArkUI_InspectorErrorCode; 8666 8667 /** 8668 * @brief Defines the general structure of a node content event. 8669 * 8670 * @since 12 8671 */ 8672 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 8673 8674 /** 8675 * @brief Defines the node content event callback function. 8676 * 8677 * @since 12 8678 */ 8679 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 8680 8681 /** 8682 * @brief Register a callback for this <b>ArkUI_NodeContentHandle</b> instance. 8683 * 8684 * @param content Indicates the <b>ArkUI_NodeContentHandle</b> instance. 8685 * @param callback Indicates the callback of <b>ArkUI_NodeContentHandle</b> 8686 * @return Returns the status code 8687 * @since 12 8688 */ 8689 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 8690 8691 /** 8692 * @brief Obtains the type of a node content. 8693 * 8694 * @param event Indicates the pointer to the node content. 8695 * @return Returns the type of the node content. 8696 * @since 12 8697 */ 8698 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 8699 8700 /** 8701 * @brief Obtains the node content object that triggers a node content event. 8702 * 8703 * @param event Indicates the pointer to the node content event. 8704 * @return Returns the node content object that triggers the node content event. 8705 * @since 12 8706 */ 8707 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 8708 8709 /** 8710 * @brief Saves custom data on the specified node content. 8711 * 8712 * @param content Indicates the node content on which the custom data will be saved. 8713 * @param userData Indicates the custom data to be saved. 8714 * @return Returns the error code. 8715 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8716 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8717 * @since 12 8718 */ 8719 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 8720 8721 /** 8722 * @brief Obtains the custom data saved on the specified node content. 8723 * 8724 * @param content Indicates the target node content. 8725 * @return Returns the custom data. 8726 * @since 12 8727 */ 8728 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 8729 8730 /** 8731 * @brief Get the size of the component layout area. 8732 * The layout area size does not include graphic variation attributes such as scaling. 8733 * 8734 * @param node ArkUI_NodeHandle pointer. 8735 * @param size The drawing area size of the component handle, in px. 8736 * @return Error code. 8737 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8738 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8739 * @since 12 8740 */ 8741 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 8742 8743 /** 8744 * @brief Obtain the position of the component layout area relative to the parent component. 8745 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8746 * 8747 * @param node ArkUI_NodeHandle pointer. 8748 * @param localOffset The offset value of the component handle relative to the parent component, in px. 8749 * @return Error code. 8750 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8751 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8752 * @since 12 8753 */ 8754 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 8755 8756 /** 8757 * @brief Obtain the position of the component layout area relative to the window. 8758 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8759 * 8760 * @param node ArkUI_NodeHandle pointer. 8761 * @param globalOffset The offset value of the component handle relative to the window, in px. 8762 * @return Error code. 8763 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8764 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8765 * @since 12 8766 */ 8767 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 8768 8769 /** 8770 * @brief Obtain the position of the component layout area relative to the screen. 8771 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8772 * 8773 * @param node ArkUI_NodeHandle pointer. 8774 * @param screenOffset The offset value of the component handle relative to the screen, in px. 8775 * @return Error code. 8776 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8777 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8778 * @since 12 8779 */ 8780 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 8781 8782 /** 8783 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 8784 * 8785 * @param node ArkUI_NodeHandle pointer. 8786 * @param translateOffset The cumulative offset value of the component handle itself, 8787 * parent components, and ancestor nodes, in px. 8788 * @return Error code. 8789 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8790 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8791 * @since 12 8792 */ 8793 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8794 8795 /** 8796 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 8797 * 8798 * @param node ArkUI_NodeHandle pointer. 8799 * @param translateOffset The cumulative offset value of the component handle itself, 8800 * parent components, and ancestor nodes, in px. 8801 * @return Error code. 8802 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8803 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8804 * @since 12 8805 */ 8806 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8807 8808 /** 8809 * @brief Add the custom property of the component. This interface only works on the main thread. 8810 * 8811 * @param node ArkUI_NodeHandle pointer. 8812 * @param name The name of the custom property. Passing null pointers is not allowed. 8813 * @param value The value of the custom property. Passing null pointers is not allowed. 8814 * @since 13 8815 */ 8816 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 8817 8818 /** 8819 * @brief Remove the custom property of the component. 8820 * 8821 * @param node ArkUI_NodeHandle pointer. 8822 * @param name The name of the custom property. 8823 * @since 13 8824 */ 8825 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 8826 8827 /** 8828 * @brief Get the value of the custom property of the component. 8829 * 8830 * @param node ArkUI-NodeHandle pointer. 8831 * @param name The name of the custom attribute. 8832 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 8833 * @return Error code. 8834 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8835 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8836 * @since 14 8837 */ 8838 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 8839 8840 /** 8841 * @brief Get the parent node to obtain the component nodes created by ArkTs. 8842 * 8843 * @param node Target node object. 8844 * @return Return the pointer of the component. 8845 * @since 14 8846 */ 8847 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 8848 8849 /** 8850 * @brief Retrieve all active child nodes of a node. Span and ImageSpan will not be counted in the children. 8851 * 8852 * @param head Pass in the node that needs to be obtained. 8853 * @param handle The structure corresponding to the sub node information of the head node. 8854 * @return Error code. 8855 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8856 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8857 * @since 14 8858 */ 8859 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 8860 8861 /** 8862 * @brief Retrieve the root node of the current page. 8863 * 8864 * @param node Target node object. 8865 * @return Return the pointer of the component. 8866 * @since 14 8867 */ 8868 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 8869 8870 /** 8871 * @brief Retrieve whether the component is labeled by C-API. 8872 * 8873 * @param node Target node object. 8874 * @return Return whether the node is a Tag created by C-API, 8875 * true represents created by C-API, false represents not created by C-API. 8876 * @since 14 8877 */ 8878 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 8879 8880 /** 8881 * @brief Get the type of node. 8882 * 8883 * @param node Target node object. 8884 * @return Return the type of the node. 8885 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 8886 * @since 14 8887 */ 8888 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 8889 8890 /** 8891 * @brief Get the node handle by id. This interface only works on the main thread. 8892 * 8893 * @param id The id of the target node handle. 8894 * @param node The handle of target node handle. 8895 * @return Error code. 8896 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8897 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8898 * @since 15 8899 */ 8900 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 8901 8902 /** 8903 * @brief Get info of the window to which the node belongs. 8904 * 8905 * @param node Target node object. 8906 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 8907 * @return Error code. 8908 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8909 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8910 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 8911 * @since 15 8912 */ 8913 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 8914 8915 /** 8916 * @brief Move the node handle to target parent node as child. 8917 * 8918 * @param node The node handle of the node to move. 8919 * @param target_parent The node handle of target parent. 8920 * @param index Indicates the index which the node is moved to. If the value is a nagative number of invalid, the 8921 * node is moved to the end of the target parent node. 8922 * @return Error code. 8923 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8924 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8925 * {@link ARKUI_ERROR_CODE_CAPI_INIT_ERROR} if the CAPI init error. 8926 * @since 16 8927 */ 8928 int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index); 8929 8930 /** 8931 * @brief The event called when the sliding operation offset changes. 8932 * 8933 * @param node Indicates the target node. 8934 * @param userData Indicates the custom data to be saved. 8935 * @param onFinish Callback Events. 8936 * offset Slide offset. 8937 * @return Error code. 8938 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8939 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8940 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8941 * @since 12 8942 */ 8943 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 8944 8945 /** 8946 * @brief Obtain the UIContext pointer to the page where the node is located. 8947 * 8948 * @param node The node. 8949 * @return The UIContext pointer. 8950 * If a null pointer is returned, it may be because the node is empty. 8951 * @since 12 8952 */ 8953 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 8954 8955 /** 8956 * @brief The event called when the system color mode changes. 8957 * Only one system color change callback can be registered for the same component. 8958 * 8959 * @param node Indicates the target node. 8960 * @param userData Indicates the custom data to be saved. 8961 * @param onColorModeChange Callback Events. 8962 * @return Error code. 8963 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8964 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8965 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8966 * @since 12 8967 */ 8968 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent( 8969 ArkUI_NodeHandle node, void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 8970 8971 /** 8972 * @brief Unregister the event callback when the system color mode changes. 8973 * 8974 * @param node Indicates the target node. 8975 * @since 12 8976 */ 8977 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 8978 8979 /** 8980 * @brief The event called when the system font style changes. 8981 * Only one system font change callback can be registered for the same component. 8982 * 8983 * @param node Indicates the target node. 8984 * @param userData Indicates the custom data to be saved. 8985 * @param onFontStyleChange Callback Events. 8986 * @return Error code. 8987 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8988 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8989 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8990 * @since 12 8991 */ 8992 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, void* userData, 8993 void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 8994 8995 /** 8996 * @brief Unregister the event callback when the system font style changes. 8997 * 8998 * @param node Indicates the target node. 8999 * @since 12 9000 */ 9001 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 9002 9003 /** 9004 * @brief Retrieve the font size value for system font change events. 9005 * 9006 * @param event Indicates a pointer to the current system font change event. 9007 * @return Updated system font size scaling factor. Default value: 1.0. 9008 * -1 indicates a retrieval error. 9009 * @since 12 9010 */ 9011 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 9012 9013 /** 9014 * @brief Retrieve the font thickness values for system font change events. 9015 * 9016 * @param event Indicates a pointer to the current system font change event. 9017 * @return The updated system font thickness scaling factor. Default value: 1.0. 9018 * -1 indicates a retrieval error. 9019 * @since 12 9020 */ 9021 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 9022 9023 /** 9024 * @brief Registers a callback for node when layout is completed. 9025 * 9026 * @param node Indicates the target node. 9027 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 9028 * @param onLayoutCompleted Indicates the function when layout completed is callback. 9029 * @return error code 9030 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9031 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9032 * @since 15 9033 */ 9034 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 9035 void* userData, void (*onLayoutCompleted)(void* userData)); 9036 9037 9038 /** 9039 * @brief Registers a callback for node when draw is completed. 9040 * 9041 * @param node Indicates the target node. 9042 * @param userData Indicates the custom data used in onDrawCompleted callback function. 9043 * @param onDrawCompleted Indicates the function when draw completed is callback. 9044 * @return error code 9045 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9046 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9047 * @since 15 9048 */ 9049 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 9050 void* userData, void (*onDrawCompleted)(void* userData)); 9051 9052 /** 9053 * @brief Unregisters the layout completed callback for node. 9054 * 9055 * @param node Indicates the target node. 9056 * @return error code 9057 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9058 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9059 * @since 15 9060 */ 9061 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 9062 9063 /** 9064 * @brief Unregisters the draw completed callback for node. 9065 * 9066 * @param node Indicates the target node. 9067 * @return error code 9068 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 9069 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 9070 * @since 15 9071 */ 9072 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 9073 9074 /** 9075 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 9076 * tree or is not rendered yet. 9077 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 9078 * 9079 * @param node Indicates the target node. 9080 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 9081 * @param pixelmap Pixelmap pointer created by system, it's the out result. 9082 * @return Returns the result code. 9083 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 9084 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 9085 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 9086 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 9087 * @since 15 9088 */ 9089 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 9090 OH_PixelmapNative** pixelmap); 9091 9092 /** 9093 * @brief Set the cross-language option of the target node handle. 9094 * 9095 * @param node The target node handle. 9096 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9097 * @return Error code. 9098 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9099 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9100 * @since 15 9101 */ 9102 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9103 9104 /** 9105 * @brief Get the cross-language option of the target node handle. 9106 * 9107 * @param node The target node handle. 9108 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 9109 * @return Error code. 9110 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9111 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9112 * @since 15 9113 */ 9114 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 9115 9116 /** 9117 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 9118 * 9119 * @param node Indicates the target node. 9120 * @param index The index of the subnode. 9121 * @return Error code. 9122 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9123 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9124 * @since 15 9125 */ 9126 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9127 9128 /** 9129 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 9130 * 9131 * @param node Indicates the target node. 9132 * @param index the index of the subnode. 9133 * @return Error code. 9134 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9135 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9136 * @since 15 9137 */ 9138 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 9139 9140 /** 9141 * @brief Obtains a subnode by position with the expand mode. 9142 * 9143 * @param node Indicates the target node. 9144 * @param position Indicates the position of the subnode. 9145 * @param subnode The pointer to the subnode. 9146 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 9147 * @return Error code. 9148 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 9149 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9150 * @since 15 9151 */ 9152 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 9153 ArkUI_NodeHandle* subnode, uint32_t expandMode); 9154 9155 /** 9156 * @brief Obtain the position of the component layout area relative to the window. 9157 * The relative position of the layout area does not include graphic variation attributes, such as translation. 9158 * 9159 * @param node ArkUI_NodeHandle pointer. 9160 * @param globalOffset The offset value of the component handle relative to the window, in px. 9161 * @return Error code. 9162 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 9163 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 9164 * @since 15 9165 */ 9166 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 9167 9168 #ifdef __cplusplus 9169 }; 9170 #endif 9171 9172 #endif // ARKUI_NATIVE_NODE_H 9173 /** @}*/ 9174