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