arkui_sys/native_node/native_node_ffi.rs
1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6use crate::native_type::*;
7use crate::ui_input_event::ArkUI_UIInputEvent;
8#[cfg(feature = "api-15")]
9use ohos_sys_opaque_types::OH_PixelmapNative;
10
11#[cfg(feature = "api-12")]
12#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13impl ArkUI_NodeType {
14 /// Custom node.
15 pub const ARKUI_NODE_CUSTOM: ArkUI_NodeType = ArkUI_NodeType(0);
16 /// Text.
17 pub const ARKUI_NODE_TEXT: ArkUI_NodeType = ArkUI_NodeType(1);
18 /// Text span.
19 pub const ARKUI_NODE_SPAN: ArkUI_NodeType = ArkUI_NodeType(2);
20 /// Image span.
21 pub const ARKUI_NODE_IMAGE_SPAN: ArkUI_NodeType = ArkUI_NodeType(3);
22 /// Image.
23 pub const ARKUI_NODE_IMAGE: ArkUI_NodeType = ArkUI_NodeType(4);
24 /// Toggle.
25 pub const ARKUI_NODE_TOGGLE: ArkUI_NodeType = ArkUI_NodeType(5);
26 /// Loading icon.
27 pub const ARKUI_NODE_LOADING_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(6);
28 /// Single-line text input.
29 pub const ARKUI_NODE_TEXT_INPUT: ArkUI_NodeType = ArkUI_NodeType(7);
30 /// Multi-line text input.
31 pub const ARKUI_NODE_TEXT_AREA: ArkUI_NodeType = ArkUI_NodeType(8);
32 /// Button.
33 pub const ARKUI_NODE_BUTTON: ArkUI_NodeType = ArkUI_NodeType(9);
34 /// Progress indicator.
35 pub const ARKUI_NODE_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(10);
36 /// Check box.
37 pub const ARKUI_NODE_CHECKBOX: ArkUI_NodeType = ArkUI_NodeType(11);
38 /// XComponent.
39 pub const ARKUI_NODE_XCOMPONENT: ArkUI_NodeType = ArkUI_NodeType(12);
40 /// Date picker.
41 pub const ARKUI_NODE_DATE_PICKER: ArkUI_NodeType = ArkUI_NodeType(13);
42 /// Time picker.
43 pub const ARKUI_NODE_TIME_PICKER: ArkUI_NodeType = ArkUI_NodeType(14);
44 /// Text picker.
45 pub const ARKUI_NODE_TEXT_PICKER: ArkUI_NodeType = ArkUI_NodeType(15);
46 /// Calendar picker.
47 pub const ARKUI_NODE_CALENDAR_PICKER: ArkUI_NodeType = ArkUI_NodeType(16);
48 /// Slider.
49 pub const ARKUI_NODE_SLIDER: ArkUI_NodeType = ArkUI_NodeType(17);
50 /// Radio
51 pub const ARKUI_NODE_RADIO: ArkUI_NodeType = ArkUI_NodeType(18);
52 /// Image animator.
53 pub const ARKUI_NODE_IMAGE_ANIMATOR: ArkUI_NodeType = ArkUI_NodeType(19);
54 /// XComponent of type TEXTURE.
55 ///
56 /// Available since API-level: 18
57 #[cfg(feature = "api-18")]
58 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
59 pub const ARKUI_NODE_XCOMPONENT_TEXTURE: ArkUI_NodeType = ArkUI_NodeType(20);
60 /// Check box group.
61 ///
62 /// Available since API-level: 15
63 #[cfg(feature = "api-15")]
64 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
65 pub const ARKUI_NODE_CHECKBOX_GROUP: ArkUI_NodeType = ArkUI_NodeType(21);
66 /// Stack container.
67 pub const ARKUI_NODE_STACK: ArkUI_NodeType = ArkUI_NodeType(1000);
68 /// Swiper.
69 pub const ARKUI_NODE_SWIPER: ArkUI_NodeType = ArkUI_NodeType(1001);
70 /// Scrolling container.
71 pub const ARKUI_NODE_SCROLL: ArkUI_NodeType = ArkUI_NodeType(1002);
72 /// List.
73 pub const ARKUI_NODE_LIST: ArkUI_NodeType = ArkUI_NodeType(1003);
74 /// List item.
75 pub const ARKUI_NODE_LIST_ITEM: ArkUI_NodeType = ArkUI_NodeType(1004);
76 /// List item group.
77 pub const ARKUI_NODE_LIST_ITEM_GROUP: ArkUI_NodeType = ArkUI_NodeType(1005);
78 /// Column container.
79 pub const ARKUI_NODE_COLUMN: ArkUI_NodeType = ArkUI_NodeType(1006);
80 /// Row container.
81 pub const ARKUI_NODE_ROW: ArkUI_NodeType = ArkUI_NodeType(1007);
82 /// Flex container.
83 pub const ARKUI_NODE_FLEX: ArkUI_NodeType = ArkUI_NodeType(1008);
84 /// Refresh component.
85 pub const ARKUI_NODE_REFRESH: ArkUI_NodeType = ArkUI_NodeType(1009);
86 /// Water flow container.
87 pub const ARKUI_NODE_WATER_FLOW: ArkUI_NodeType = ArkUI_NodeType(1010);
88 /// Water flow item.
89 pub const ARKUI_NODE_FLOW_ITEM: ArkUI_NodeType = ArkUI_NodeType(1011);
90 /// Relative layout component.
91 pub const ARKUI_NODE_RELATIVE_CONTAINER: ArkUI_NodeType = ArkUI_NodeType(1012);
92 /// Grid.
93 pub const ARKUI_NODE_GRID: ArkUI_NodeType = ArkUI_NodeType(1013);
94 /// Grid item.
95 pub const ARKUI_NODE_GRID_ITEM: ArkUI_NodeType = ArkUI_NodeType(1014);
96 /// Custom span.
97 pub const ARKUI_NODE_CUSTOM_SPAN: ArkUI_NodeType = ArkUI_NodeType(1015);
98 /// EmbeddedComponent.
99 ///
100 /// Available since API-level: 20
101 #[cfg(feature = "api-20")]
102 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
103 pub const ARKUI_NODE_EMBEDDED_COMPONENT: ArkUI_NodeType = ArkUI_NodeType(1016);
104 /// Undefined.
105 ///
106 /// Available since API-level: 20
107 #[cfg(feature = "api-20")]
108 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
109 pub const ARKUI_NODE_UNDEFINED: ArkUI_NodeType = ArkUI_NodeType(1017);
110}
111#[repr(transparent)]
112/// Enumerates ArkUI component types that can be created on the native side.
113///
114///
115/// Available since API-level: 12
116#[cfg(feature = "api-12")]
117#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
118#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
119pub struct ArkUI_NodeType(pub ::core::ffi::c_uint);
120/// Defines the general input parameter structure of the [`setAttribute`] function.
121///
122///
123/// Available since API-level: 12
124#[cfg(feature = "api-12")]
125#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
126#[repr(C)]
127#[derive(Debug, Copy, Clone)]
128pub struct ArkUI_AttributeItem {
129 /// Numeric array.
130 pub value: *const ArkUI_NumberValue,
131 /// Size of the numeric array.
132 pub size: i32,
133 /// String type.
134 pub string: *const ::core::ffi::c_char,
135 /// Object type.
136 pub object: *mut ::core::ffi::c_void,
137}
138#[cfg(feature = "api-12")]
139#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
140impl ArkUI_NodeAttributeType {
141 /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
142 ///
143 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
144 ///
145 /// .value[0].f32: width, in vp.
146 ///
147 ///
148 ///
149 /// Format of the return value [`ArkUI_AttributeItem`]:
150 ///
151 /// .value[0].f32: width, in vp.
152 pub const NODE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(0);
153 /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
154 ///
155 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
156 ///
157 /// .value[0].f32: height, in vp.
158 ///
159 ///
160 ///
161 /// Format of the return value [`ArkUI_AttributeItem`]:
162 ///
163 /// .value[0].f32: height, in vp.
164 pub const NODE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1);
165 /// Defines the background color attribute, which can be set, reset, and obtained as required through APIs.
166 ///
167 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
168 ///
169 /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
170 ///
171 ///
172 ///
173 /// Format of the return value [`ArkUI_AttributeItem`]:
174 ///
175 /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
176 pub const NODE_BACKGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2);
177 /// Defines the background image attribute, which can be set, reset, and obtained as required through APIs.
178 ///
179 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
180 ///
181 /// .string: image address;
182 ///
183 /// .value[0]?.i32: whether to repeat the image. Optional. The parameter type is [`ArkUI_ImageRepeat`].
184 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
185 ///
186 /// The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.
187 ///
188 ///
189 ///
190 /// Format of the return value [`ArkUI_AttributeItem`]:
191 ///
192 /// .string: image address;
193 ///
194 /// .value[0].i32: whether to repeat the image. The parameter type is [`ArkUI_ImageRepeat`].
195 ///
196 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
197 pub const NODE_BACKGROUND_IMAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3);
198 /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
199 ///
200 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
201 ///
202 /// 1: Specify the same padding for the four directions.
203 ///
204 /// .value[0].f32: padding, in vp.
205 ///
206 /// 2: Specify different paddings for different directions.
207 ///
208 /// .value[0].f32: top padding, in vp.
209 ///
210 /// .value[1].f32: right padding, in vp.
211 ///
212 /// .value[2].f32: bottom padding, in vp.
213 ///
214 /// .value[3].f32: left padding, in vp.
215 ///
216 ///
217 ///
218 /// Format of the return value [`ArkUI_AttributeItem`]:
219 ///
220 /// .value[0].f32: top padding, in vp.
221 ///
222 /// .value[1].f32: right padding, in vp.
223 ///
224 /// .value[2].f32: bottom padding, in vp.
225 ///
226 /// .value[3].f32: left padding, in vp.
227 pub const NODE_PADDING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4);
228 /// Defines the component ID attribute, which can be set, reset, and obtained as required through APIs.
229 ///
230 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
231 ///
232 /// .string: component ID.
233 ///
234 ///
235 ///
236 /// Format of the return value [`ArkUI_AttributeItem`]:
237 ///
238 /// .string: component ID.
239 pub const NODE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5);
240 /// Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs.
241 ///
242 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
243 ///
244 /// .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.
245 ///
246 ///
247 ///
248 /// Format of the return value [`ArkUI_AttributeItem`]:
249 ///
250 /// .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite.
251 pub const NODE_ENABLED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6);
252 /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
253 ///
254 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
255 ///
256 /// 1: Specify the same margin for the four directions.
257 ///
258 /// .value[0].f32: margin, in vp.
259 ///
260 /// 2: Specify different margins for different directions.
261 ///
262 /// .value[0].f32: top margin, in vp.
263 ///
264 /// .value[1].f32: right margin, in vp.
265 ///
266 /// .value[2].f32: bottom margin, in vp.
267 ///
268 /// .value[3].f32: left margin, in vp.
269 ///
270 ///
271 ///
272 /// Format of the return value [`ArkUI_AttributeItem`]:
273 ///
274 /// .value[0].f32: top margin, in vp.
275 ///
276 /// .value[1].f32: right margin, in vp.
277 ///
278 /// .value[2].f32: bottom margin, in vp.
279 ///
280 /// .value[3].f32: left margin, in vp.
281 pub const NODE_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7);
282 /// Defines the translate attribute, which can be set, reset, and obtained as required through APIs.
283 ///
284 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
285 ///
286 /// .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.
287 ///
288 /// .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.
289 ///
290 /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
291 ///
292 ///
293 ///
294 /// Format of the return value [`ArkUI_AttributeItem`]:
295 ///
296 /// .value[0].f32: distance to translate along the x-axis, in vp.
297 ///
298 /// .value[1].f32: distance to translate along the y-axis, in vp.
299 ///
300 /// .value[2].f32: distance to translate along the z-axis, in vp.
301 pub const NODE_TRANSLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8);
302 /// Defines the scale attribute, which can be set, reset, and obtained as required through APIs.
303 ///
304 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
305 ///
306 /// .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.
307 ///
308 /// .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>.
309 ///
310 ///
311 ///
312 /// Format of the return value [`ArkUI_AttributeItem`]:
313 ///
314 /// .value[0].f32: scale factor along the x-axis.
315 ///
316 /// .value[1].f32: scale factor along the y-axis.
317 pub const NODE_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9);
318 /// Defines the rotate attribute, which can be set, reset, and obtained as required through APIs.
319 ///
320 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
321 ///
322 /// .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.
323 ///
324 /// .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.
325 ///
326 /// .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.
327 ///
328 /// .value[3].f32: rotation angle. The default value is <b>0</b>.
329 ///
330 /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
331 /// The default value is <b>0</b>.
332 ///
333 ///
334 ///
335 /// Format of the return value [`ArkUI_AttributeItem`]:
336 ///
337 /// .value[0].f32: X coordinate of the rotation axis vector.
338 ///
339 /// .value[1].f32: Y coordinate of the rotation axis vector.
340 ///
341 /// .value[2].f32: Z coordinate of the rotation axis vector.
342 ///
343 /// .value[3].f32: rotation angle.
344 ///
345 /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
346 pub const NODE_ROTATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10);
347 /// Sets the brightness attribute, which can be set, reset, and obtained as required through APIs.
348 ///
349 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
350 ///
351 /// .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2].
352 ///
353 ///
354 ///
355 /// Format of the return value [`ArkUI_AttributeItem`]:
356 ///
357 /// .value[0].f32: brightness value.
358 pub const NODE_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11);
359 /// Sets the saturation attribute, which can be set, reset, and obtained as required through APIs.
360 ///
361 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
362 ///
363 /// .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50).
364 ///
365 ///
366 ///
367 /// Format of the return value [`ArkUI_AttributeItem`]:
368 ///
369 /// .value[0].f32: saturation value.
370 pub const NODE_SATURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12);
371 /// Sets the blur attribute, which can be set, reset, and obtained as required through APIs.
372 ///
373 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
374 ///
375 /// .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>,
376 /// the component is not blurred. The unit is vp. The default value is <b>0.0</b>.
377 ///
378 ///
379 ///
380 /// Format of the return value [`ArkUI_AttributeItem`]:
381 ///
382 /// .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>,
383 /// the image is not blurred. The unit is vp.
384 pub const NODE_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13);
385 /// Sets the gradient attribute, which can be set, reset, and obtained as required through APIs.
386 ///
387 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
388 ///
389 /// .value[0].f32: start angle of the linear gradient. This attribute takes effect only when
390 /// [`ArkUI_LinearGradientDirection`] is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
391 /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
392 ///
393 /// .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect.
394 /// The parameter type is [`ArkUI_LinearGradientDirection`]:
395 ///
396 /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
397 ///
398 /// .object: array of color stops, each of which consists of a color and its stop position.
399 /// Invalid colors are automatically skipped.
400 ///
401 /// colors: colors of the color stops.
402 ///
403 /// stops: stop positions of the color stops.
404 ///
405 /// size: number of colors.
406 ///
407 ///
408 ///
409 /// Format of the return value [`ArkUI_AttributeItem`]:
410 ///
411 /// .value[0].f32: start angle of the linear gradient.
412 ///
413 /// .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set.
414 ///
415 /// .value[2].i32: whether the colors are repeated.
416 ///
417 /// .object: array of color stops, each of which consists of a color and its stop position.
418 /// Invalid colors are automatically skipped.
419 ///
420 /// colors: colors of the color stops.
421 ///
422 /// stops: stop positions of the color stops.
423 ///
424 /// size: number of colors.
425 pub const NODE_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14);
426 /// Sets the alignment attribute, which can be set, reset, and obtained as required through APIs.
427 ///
428 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
429 ///
430 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
431 /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
432 ///
433 ///
434 ///
435 /// Format of the return value [`ArkUI_AttributeItem`]:
436 ///
437 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
438 pub const NODE_ALIGNMENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15);
439 /// Defines the opacity attribute, which can be set, reset, and obtained as required through APIs.
440 ///
441 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
442 ///
443 /// .value[0].f32: opacity value. The value ranges from 0 to 1.
444 ///
445 ///
446 ///
447 /// Format of the return value [`ArkUI_AttributeItem`]:
448 ///
449 /// .value[0].f32: opacity value. The value ranges from 0 to 1.
450 pub const NODE_OPACITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16);
451 /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
452 ///
453 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
454 ///
455 /// 1: .value[0].f32: width of the four borders.
456 ///
457 /// 2: .value[0].f32: width of the top border.
458 ///
459 /// .value[1].f32: width of the right border.
460 ///
461 /// .value[2].f32: width of the bottom border.
462 ///
463 /// .value[3].f32: width of the left border.
464 ///
465 ///
466 ///
467 /// Format of the return value [`ArkUI_AttributeItem`]:
468 ///
469 /// .value[0].f32: width of the top border.
470 ///
471 /// .value[1].f32: width of the right border.
472 ///
473 /// .value[2].f32: width of the bottom border.
474 ///
475 /// .value[3].f32: width of the left border.
476 pub const NODE_BORDER_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17);
477 /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
478 ///
479 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
480 ///
481 /// 1: .value[0].f32: radius of the four corners.
482 ///
483 /// 2: .value[0].f32: radius of the upper left corner.
484 ///
485 /// .value[1].f32: radius of the upper right corner.
486 ///
487 /// .value[2].f32: radius of the lower left corner.
488 ///
489 /// .value[3].f32: radius of the lower right corner.
490 ///
491 ///
492 ///
493 /// Format of the return value [`ArkUI_AttributeItem`]:
494 ///
495 /// .value[0].f32: radius of the upper left corner.
496 ///
497 /// .value[1].f32: radius of the upper right corner.
498 ///
499 /// .value[2].f32: radius of the lower left corner.
500 ///
501 /// .value[3].f32: radius of the lower right corner.
502 pub const NODE_BORDER_RADIUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18);
503 /// Defines the border color attribute, which can be set, reset, and obtained as required through APIs.
504 ///
505 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
506 ///
507 /// 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
508 ///
509 /// 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
510 ///
511 /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
512 ///
513 /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
514 ///
515 /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
516 ///
517 ///
518 ///
519 /// Format of the return value [`ArkUI_AttributeItem`]:
520 ///
521 /// .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
522 ///
523 /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
524 ///
525 /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
526 ///
527 /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
528 pub const NODE_BORDER_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19);
529 /// Defines the border line style attribute, which can be set, reset, and obtained as required through APIs.
530 ///
531 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
532 ///
533 /// 1: .value[0].i32: line style of the four borders. The parameter type is [`ArkUI_BorderStyle`].
534 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
535 ///
536 /// 2: .value[0].i32: line style of the top border. The parameter type is [`ArkUI_BorderStyle`].
537 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
538 ///
539 /// .value[1].i32: line style of the right border. The parameter type is [`ArkUI_BorderStyle`].
540 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
541 ///
542 /// .value[2].i32: line style of the bottom border. The parameter type is [`ArkUI_BorderStyle`].
543 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
544 ///
545 /// .value[3].i32: line style of the left border. The parameter type is [`ArkUI_BorderStyle`].
546 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
547 ///
548 ///
549 ///
550 /// Format of the return value [`ArkUI_AttributeItem`]:
551 ///
552 /// .value[0].i32: line style of the top border.
553 ///
554 /// .value[1].i32: line style of the right border.
555 ///
556 /// .value[2].i32: line style of the bottom border.
557 ///
558 /// .value[3].i32: line style of the left border.
559 pub const NODE_BORDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(20);
560 /// Defines the z-index attribute for the stack sequence.
561 /// This attribute can be set, reset, and obtained as required through APIs.
562 ///
563 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
564 ///
565 /// .value[0].i32: z-index value.
566 ///
567 ///
568 ///
569 /// Format of the return value [`ArkUI_AttributeItem`]:
570 ///
571 /// .value[0].i32: z-index value.
572 pub const NODE_Z_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21);
573 /// Defines the visibility attribute, which can be set, reset, and obtained as required through APIs.
574 ///
575 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
576 ///
577 /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
578 /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
579 ///
580 ///
581 ///
582 /// Format of the return value [`ArkUI_AttributeItem`]:
583 ///
584 /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
585 /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
586 pub const NODE_VISIBILITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(22);
587 /// Defines the clipping and masking attribute, which can be set, reset, and obtained as required through
588 /// APIs.
589 ///
590 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
591 ///
592 /// .value[0].i32: whether to clip the component based on the parent container bounds.
593 /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
594 ///
595 ///
596 ///
597 /// Format of the return value [`ArkUI_AttributeItem`]:
598 ///
599 /// .value[0].i32: whether to clip the component based on the parent container bounds.
600 /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
601 pub const NODE_CLIP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(23);
602 /// Defines the clipping region on the component.
603 /// This attribute can be set and obtained as required through APIs.
604 ///
605 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute,
606 /// which supports five types of shapes:
607 ///
608 /// 1. Rectangle:
609 ///
610 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
611 /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
612 ///
613 /// .value[1].f32: width of the rectangle.
614 ///
615 /// .value[2].f32: height of rectangle.
616 ///
617 /// .value[3].f32: width of the rounded corner of the rectangle.
618 ///
619 /// .value[4].f32: height of the rounded corner of the rectangle.
620 ///
621 /// .value[5]?.f32: radius of the top left corner of the rectangular shape.
622 ///
623 /// .value[6]?.f32: radius of the bottom left corner of the rectangular shape.
624 ///
625 /// .value[7]?.f32: radius of the top right corner of the rectangular shape.
626 ///
627 /// .value[8]?.f32: radius of the bottom right corner of the rectangular shape.
628 ///
629 /// 2. Circle:
630 ///
631 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
632 /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
633 ///
634 /// .value[1].f32: width of the circle.
635 ///
636 /// .value[2].f32: height of the circle.
637 ///
638 /// 3.Ellipse:
639 ///
640 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
641 /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
642 ///
643 /// .value[1].f32: width of the ellipse.
644 ///
645 /// .value[2].f32: height of the ellipse.
646 ///
647 /// 4. Path:
648 ///
649 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
650 /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
651 ///
652 /// .value[1].f32: width of the path.
653 ///
654 /// .value[2].f32: height of the path.
655 ///
656 /// .string: command for drawing the path.
657 ///
658 /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
659 ///
660 /// 1. Rectangle:
661 ///
662 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
663 /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
664 ///
665 /// .value[1].f32: width of the rectangle.
666 ///
667 /// .value[2].f32: height of rectangle.
668 ///
669 /// .value[3].f32: width of the rounded corner of the rectangle.
670 ///
671 /// .value[4].f32: height of the rounded corner of the rectangle.
672 ///
673 /// .value[5].f32: radius of the top left corner of the rectangular shape;
674 ///
675 /// .value[6].f32: radius of the bottom left corner of the rectangular shape;
676 ///
677 /// .value[7].f32: radius of the top right corner of the rectangular shape;
678 ///
679 /// .value[8].f32: radius of the bottom right corner of the rectangular shape;
680 ///
681 /// 2. Circle:
682 ///
683 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
684 /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
685 ///
686 /// .value[1].f32: width of the circle.
687 ///
688 /// .value[2].f32: height of the circle.
689 ///
690 /// 3.Ellipse:
691 ///
692 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
693 /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
694 ///
695 /// .value[1].f32: width of the ellipse.
696 ///
697 /// .value[2].f32: height of the ellipse.
698 ///
699 /// 4. Path:
700 ///
701 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
702 /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
703 ///
704 /// .value[1].f32: width of the path.
705 ///
706 /// .value[2].f32: height of the path.
707 ///
708 /// .string: command for drawing the path.
709 pub const NODE_CLIP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(24);
710 /// Defines the transform attribute, which can be used to translate, rotate, and scale images.
711 /// This attribute can be set, reset, and obtained as required through APIs.
712 ///
713 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
714 ///
715 /// .value[0...15].f32: 16 floating-point numbers.
716 ///
717 ///
718 ///
719 /// Format of the return value [`ArkUI_AttributeItem`]:
720 ///
721 /// .value[0...15].f32: 16 floating-point numbers.
722 pub const NODE_TRANSFORM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(25);
723 /// Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs.
724 ///
725 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
726 ///
727 /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
728 /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
729 ///
730 ///
731 ///
732 /// Format of the return value [`ArkUI_AttributeItem`]:
733 ///
734 /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
735 /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
736 pub const NODE_HIT_TEST_BEHAVIOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(26);
737 /// Defines the offset attribute, which specifies the offset of the component's upper left corner relative
738 /// to the parent container's. This attribute can be set, reset, and obtained as required through APIs.
739 ///
740 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
741 ///
742 /// .value[0].f32: X coordinate.
743 ///
744 /// .value[1].f32: Y coordinate.
745 ///
746 ///
747 ///
748 /// Format of the return value [`ArkUI_AttributeItem`]:
749 ///
750 /// .value[0].f32: X coordinate.
751 ///
752 /// .value[1].f32: Y coordinate.
753 pub const NODE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(27);
754 /// Defines the shadow attribute, which can be set, reset, and obtained as required through APIs.
755 ///
756 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
757 ///
758 /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
759 ///
760 ///
761 ///
762 /// Format of the return value [`ArkUI_AttributeItem`]:
763 ///
764 /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
765 pub const NODE_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(28);
766 /// Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs.
767 ///
768 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
769 ///
770 /// .value[0]?.f32: blur radius of the shadow, in vp.
771 ///
772 /// .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring
773 /// strategy, and <b>0</b> (default value) means the opposite.
774 ///
775 /// .value[2]?.f32: offset of the shadow along the x-axis, in px.
776 ///
777 /// .value[3]?.f32: offset of the shadow along the y-axis, in px.
778 ///
779 /// .value[4]?.i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
780 ///
781 /// .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
782 ///
783 /// .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
784 /// means the opposite.
785 ///
786 ///
787 ///
788 ///
789 /// Format of the return value [`ArkUI_AttributeItem`]:
790 ///
791 /// .value[0].f32: blur radius of the shadow, in vp.
792 ///
793 /// .value[1].i32: whether to enable the coloring strategy.
794 ///
795 /// .value[2].f32: offset of the shadow along the x-axis, in px.
796 ///
797 /// .value[3].f32: offset of the shadow along the y-axis, in px.
798 ///
799 /// .value[4].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
800 ///
801 /// .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
802 ///
803 /// .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
804 /// means the opposite.
805 pub const NODE_CUSTOM_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(29);
806 /// Defines the background image width and height.
807 /// This attribute can be set, reset, and obtained as required through APIs.
808 ///
809 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
810 ///
811 /// .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp.
812 ///
813 /// .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp.
814 ///
815 ///
816 ///
817 /// Format of the return value [`ArkUI_AttributeItem`]:
818 ///
819 /// .value[0].f32: width of the image, in vp.
820 ///
821 /// .value[1].f32: height of the image, in vp.
822 pub const NODE_BACKGROUND_IMAGE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(30);
823 /// Defines the background image size.
824 /// This attribute can be set, reset, and obtained as required through APIs.
825 ///
826 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
827 ///
828 /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
829 ///
830 ///
831 ///
832 /// Format of the return value [`ArkUI_AttributeItem`]:
833 ///
834 /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
835 pub const NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE: ArkUI_NodeAttributeType =
836 ArkUI_NodeAttributeType(31);
837 /// Defines the background blur attribute, which can be set, reset, and obtained as required through APIs.
838 ///
839 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
840 ///
841 /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
842 ///
843 /// .value[1]?.i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
844 ///
845 /// .value[2]?.i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
846 ///
847 /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
848 ///
849 /// .value[4]?.f32: start boundary of grayscale blur.
850 ///
851 /// .value[5]?.f32: end boundary of grayscale blur.
852 ///
853 ///
854 ///
855 /// Format of the return value [`ArkUI_AttributeItem`]:
856 ///
857 /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
858 ///
859 /// .value[1].i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
860 ///
861 /// .value[2].i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
862 ///
863 /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
864 ///
865 /// .value[4].f32: start boundary of grayscale blur.
866 ///
867 /// .value[5].f32: end boundary of grayscale blur.
868 pub const NODE_BACKGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(32);
869 /// Defines the transform center attribute, which can be set, reset, and obtained as required through APIs.
870 ///
871 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
872 ///
873 /// .value[0]?.f32: X coordinate of the center point, in vp.
874 ///
875 /// .value[1]?.f32: Y coordinate of the center point, in vp.
876 ///
877 /// .value[2]?.f32: Z coordinate of the center point, in vp.
878 ///
879 /// .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage.
880 /// For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>.
881 ///
882 /// .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage.
883 /// For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>.
884 ///
885 /// .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage.
886 /// For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>.
887 ///
888 ///
889 ///
890 /// Format of the return value [`ArkUI_AttributeItem`]:
891 ///
892 /// .value[0].f32: X coordinate of the center point, in vp.
893 ///
894 /// .value[1].f32: Y coordinate of the center point, in vp.
895 ///
896 /// .value[2].f32: Z coordinate of the center point, in vp.
897 ///
898 /// Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API
899 /// returns the calculated value in vp.
900 pub const NODE_TRANSFORM_CENTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(33);
901 /// Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs.
902 ///
903 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
904 ///
905 /// .value[0].f32: opacity values of the start and end points.
906 ///
907 /// .value[1].i32: animation duration, in milliseconds.
908 ///
909 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
910 ///
911 /// .value[3]?.i32: animation delay duration, in milliseconds.
912 ///
913 /// .value[4]?.i32: number of times that the animation is played.
914 ///
915 /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
916 ///
917 /// .value[6]?.f32: animation playback speed.
918 ///
919 ///
920 ///
921 /// Format of the return value [`ArkUI_AttributeItem`]:
922 ///
923 /// .value[0].f32: opacity values of the start and end points.
924 ///
925 /// .value[1].i32: animation duration, in milliseconds.
926 ///
927 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
928 ///
929 /// .value[3].i32: animation delay duration, in milliseconds.
930 ///
931 /// .value[4].i32: number of times that the animation is played.
932 ///
933 /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
934 ///
935 /// .value[6].f32: animation playback speed.
936 pub const NODE_OPACITY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(34);
937 /// Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs.
938 ///
939 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
940 ///
941 /// .value[0].f32: X-component of the rotation vector.
942 ///
943 /// .value[1].f32: Y-component of the rotation vector.
944 ///
945 /// .value[2].f32: Z-component of the rotation vector
946 ///
947 /// .value[3].f32: angle.
948 ///
949 /// .value[4].f32: line of sight. The default value is <b>0.0f</b>.
950 ///
951 /// .value[5].i32: animation duration, in milliseconds.
952 ///
953 /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
954 ///
955 ///
956 /// .value[7]?.i32: animation delay duration, in milliseconds.
957 ///
958 /// .value[8]?.i32: number of times that the animation is played.
959 ///
960 /// .value[9]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
961 ///
962 /// .value[10]?.f32: animation playback speed.
963 ///
964 ///
965 ///
966 /// Format of the return value [`ArkUI_AttributeItem`]:
967 ///
968 /// .value[0].f32: X-component of the rotation vector.
969 ///
970 /// .value[1].f32: Y-component of the rotation vector.
971 ///
972 /// .value[2].f32: Z-component of the rotation vector
973 ///
974 /// .value[3].f32: angle.
975 ///
976 /// .value[4].f32: line of sight.
977 ///
978 /// .value[5].i32: animation duration, in milliseconds.
979 ///
980 /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
981 ///
982 ///
983 /// .value[7].i32: animation delay duration, in milliseconds.
984 ///
985 /// .value[8].i32: number of times that the animation is played.
986 ///
987 /// .value[9].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
988 ///
989 /// .value[10].f32: animation playback speed.
990 pub const NODE_ROTATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(35);
991 /// Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs.
992 ///
993 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
994 ///
995 /// .value[0].f32: scale factor along the x-axis.
996 ///
997 /// .value[1].f32: scale factor along the y-axis.
998 ///
999 /// .value[2].f32: scale factor along the z-axis.
1000 ///
1001 /// .value[3].i32: animation duration, in milliseconds.
1002 ///
1003 /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1004 ///
1005 ///
1006 /// .value[5]?.i32: animation delay duration, in milliseconds.
1007 ///
1008 /// .value[6]?.i32: number of times that the animation is played.
1009 ///
1010 /// .value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1011 ///
1012 /// .value[8]?.f32: animation playback speed.
1013 ///
1014 ///
1015 ///
1016 /// Format of the return value [`ArkUI_AttributeItem`]:
1017 ///
1018 /// .value[0].f32: scale factor along the x-axis.
1019 ///
1020 /// .value[1].f32: scale factor along the y-axis.
1021 ///
1022 /// .value[2].f32: scale factor along the z-axis.
1023 ///
1024 /// .value[3].i32: animation duration, in milliseconds.
1025 ///
1026 /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1027 ///
1028 ///
1029 /// .value[5].i32: animation delay duration, in milliseconds.
1030 ///
1031 /// .value[6].i32: number of times that the animation is played.
1032 ///
1033 /// .value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1034 ///
1035 /// .value[8].f32: animation playback speed.
1036 pub const NODE_SCALE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(36);
1037 /// Defines the transition translation attribute.
1038 /// This attribute can be set, reset, and obtained as required through APIs.
1039 ///
1040 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1041 ///
1042 /// value[0].f32: translation distance along the x-axis, in vp.
1043 ///
1044 /// value[1].f32: translation distance along the y-axis, in vp.
1045 ///
1046 /// value[2].f32: translation distance along the z-axis, in vp.
1047 ///
1048 /// value[3].i32: animation duration, in milliseconds.
1049 ///
1050 /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1051 ///
1052 ///
1053 /// value[5]?.i32: animation delay duration, in milliseconds.
1054 ///
1055 /// value[6]?.i32: number of times that the animation is played.
1056 ///
1057 /// value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1058 ///
1059 /// value[8]?.f32: animation playback speed.
1060 ///
1061 ///
1062 ///
1063 /// Format of the return value [`ArkUI_AttributeItem`]:
1064 ///
1065 /// value[0].f32: translation distance along the x-axis, in vp.
1066 ///
1067 /// value[1].f32: translation distance along the y-axis, in vp.
1068 ///
1069 /// value[2].f32: translation distance along the z-axis, in vp.
1070 ///
1071 /// value[3].i32: animation duration, in milliseconds.
1072 ///
1073 /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1074 ///
1075 ///
1076 /// value[5].i32: animation delay duration, in milliseconds.
1077 ///
1078 /// value[6].i32: number of times that the animation is played.
1079 ///
1080 /// value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1081 ///
1082 /// value[8].f32: animation playback speed.
1083 pub const NODE_TRANSLATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(37);
1084 /// Defines the slide-in and slide-out of the component from the screen edge during transition.
1085 /// This attribute can be set, reset, and obtained as required through APIs.
1086 ///
1087 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1088 ///
1089 /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1090 ///
1091 /// .value[1].i32: animation duration, in milliseconds.
1092 ///
1093 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1094 ///
1095 /// .value[3]?.i32: animation delay duration, in milliseconds.
1096 ///
1097 /// .value[4]?.i32: number of times that the animation is played.
1098 ///
1099 /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1100 ///
1101 /// .value[6]?.f32: animation playback speed.
1102 ///
1103 ///
1104 ///
1105 /// Format of the return value [`ArkUI_AttributeItem`]:
1106 ///
1107 /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1108 ///
1109 /// .value[1].i32: animation duration, in milliseconds.
1110 ///
1111 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1112 ///
1113 /// .value[3].i32: animation delay duration, in milliseconds.
1114 ///
1115 /// .value[4].i32: number of times that the animation is played.
1116 ///
1117 /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1118 ///
1119 /// .value[6].f32: animation playback speed.
1120 pub const NODE_MOVE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(38);
1121 /// Defines the focus attribute, which can be set, reset, and obtained as required through APIs.
1122 ///
1123 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1124 ///
1125 /// .value[0].i32: The parameter type is 1 or 0.
1126 ///
1127 ///
1128 /// Format of the return value [`ArkUI_AttributeItem`]:
1129 ///
1130 /// .value[0].i32: The parameter type is 1 or 0.
1131 pub const NODE_FOCUSABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(39);
1132 /// Defines the default focus attribute, which can be set, reset, and obtained as required through APIs.
1133 ///
1134 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1135 ///
1136 /// value[0].i32: The parameter type is 1 or 0.
1137 ///
1138 ///
1139 /// Format of the return value [`ArkUI_AttributeItem`]:
1140 ///
1141 /// value[0].i32: The parameter type is 1 or 0.
1142 pub const NODE_DEFAULT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(40);
1143 /// Defines the touch target attribute, which can be set, reset, and obtained as required through APIs.
1144 ///
1145 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1146 ///
1147 /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1148 ///
1149 /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1150 ///
1151 /// .data[2].f32: width of the touch target, in %.
1152 ///
1153 /// .data[3].f32: height of the touch target, in %.
1154 ///
1155 /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1156 ///
1157 ///
1158 /// Format of the return value [`ArkUI_AttributeItem`]:
1159 ///
1160 /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1161 ///
1162 /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1163 ///
1164 /// .data[2].f32: width of the touch target, in %.
1165 ///
1166 /// .data[3].f32: height of the touch target, in %.
1167 ///
1168 /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1169 pub const NODE_RESPONSE_REGION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(41);
1170 /// Defines the overlay attribute, which can be set, reset, and obtained as required through APIs.
1171 ///
1172 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1173 ///
1174 /// .string: mask text.
1175 ///
1176 /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1177 /// The parameter type is [`ArkUI_Alignment`].
1178 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1179 ///
1180 /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1181 ///
1182 /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1183 ///
1184 ///
1185 /// Format of the return value [`ArkUI_AttributeItem`]:
1186 ///
1187 /// .string: mask text.
1188 ///
1189 /// .value[0].i32: position of the overlay relative to the component.
1190 /// The parameter type is [`ArkUI_Alignment`].
1191 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1192 ///
1193 /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1194 ///
1195 /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1196 ///
1197 ///
1198 /// Available since API-level: 12
1199 ////
1200 ////**
1201 /// Defines the overlay attribute, which can be set, reset, and obtained as required through APIs.
1202 ///
1203 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1204 ///
1205 /// .string: mask text.
1206 ///
1207 /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1208 /// The parameter type is [`ArkUI_Alignment`].
1209 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1210 ///
1211 /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1212 ///
1213 /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1214 ///
1215 ///
1216 /// .value[3]?.i32: the layout direction.
1217 /// The parameter type is [`ArkUI_Direction`].
1218 /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1219 ///
1220 /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1221 /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1222 /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1223 ///
1224 ///
1225 /// .object: the node tree used as the overlay.
1226 /// The parameter type is [`ArkUI_NodeHandle`].
1227 /// The default value is <b>nullptr.</b>
1228 ///
1229 /// this parameter is conflict with .string, and it has lower priority than .string. Optional.
1230 ///
1231 ///
1232 /// Format of the return value [`ArkUI_AttributeItem`]:
1233 ///
1234 /// .string: mask text.
1235 ///
1236 /// .value[0].i32: position of the overlay relative to the component.
1237 /// The parameter type is [`ArkUI_Alignment`].
1238 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1239 ///
1240 /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1241 ///
1242 /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1243 /// .value[3].i32: the layout direction.
1244 /// The parameter type is [`ArkUI_Direction`].
1245 /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1246 ///
1247 /// .object: the overlay node handle.
1248 ///
1249 ///
1250 ///
1251 /// Available since API-level: 21
1252 #[cfg(feature = "api-12")]
1253 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1254 pub const NODE_OVERLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(42);
1255 /// Defines the sweep gradient effect.
1256 /// This attribute can be set, reset, and obtained as required through APIs.
1257 ///
1258 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1259 ///
1260 /// .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1261 ///
1262 /// .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1263 ///
1264 /// .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>.
1265 ///
1266 /// .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>.
1267 ///
1268 /// .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1269 ///
1270 /// .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1271 /// and <b>0</b> means the opposite.
1272 ///
1273 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1274 /// automatically skipped.
1275 ///
1276 /// colors: colors of the color stops.
1277 ///
1278 /// stops: stop positions of the color stops.
1279 ///
1280 /// size: number of colors.
1281 ///
1282 ///
1283 ///
1284 /// Format of the return value [`ArkUI_AttributeItem`]:
1285 ///
1286 /// .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1287 ///
1288 /// .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1289 ///
1290 /// .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>.
1291 ///
1292 /// .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>.
1293 ///
1294 /// .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1295 ///
1296 /// .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1297 /// and <b>0</b> means the opposite.
1298 ///
1299 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1300 /// automatically skipped.
1301 ///
1302 /// colors: colors of the color stops.
1303 ///
1304 /// stops: stop positions of the color stops.
1305 ///
1306 /// size: number of colors.
1307 pub const NODE_SWEEP_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(43);
1308 /// Defines the radial gradient effect.
1309 /// This attribute can be set, reset, and obtained as required through APIs.
1310 ///
1311 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1312 ///
1313 /// .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1314 ///
1315 /// .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1316 ///
1317 /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
1318 ///
1319 /// .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1320 /// and <b>0</b> means the opposite.
1321 ///
1322 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1323 /// automatically skipped.
1324 ///
1325 /// colors: colors of the color stops.
1326 ///
1327 /// stops: stop positions of the color stops.
1328 ///
1329 /// size: number of colors.
1330 ///
1331 ///
1332 ///
1333 /// Format of the return value [`ArkUI_AttributeItem`]:
1334 ///
1335 /// .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1336 ///
1337 /// .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1338 ///
1339 /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
1340 ///
1341 /// .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1342 /// and <b>0</b> means the opposite.
1343 ///
1344 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1345 /// automatically skipped.
1346 ///
1347 /// colors: colors of the color stops.
1348 ///
1349 /// stops: stop positions of the color stops.
1350 ///
1351 /// size: number of colors.
1352 pub const NODE_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(44);
1353 /// Adds a mask of the specified shape to the component.
1354 /// This attribute can be set, reset, and obtained as required through APIs.
1355 ///
1356 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute, which supports five types of
1357 /// shapes:
1358 ///
1359 /// 1. Rectangle:
1360 ///
1361 /// .value[0].u32 fill color, in 0xARGB format.
1362 ///
1363 /// .value[1].u32: stroke color, in 0xARGB format.
1364 ///
1365 /// .value[2].f32: stroke width, in vp.
1366 ///
1367 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1368 /// The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.
1369 ///
1370 /// .value[4].f32: width of the rectangle.
1371 ///
1372 /// .value[5].f32: height of the rectangle.
1373 ///
1374 /// .value[6].f32: width of the rounded corner of the rectangle.
1375 ///
1376 /// .value[7].f32: height of the rounded corner of the rectangle.
1377 ///
1378 /// .value[8]?.f32: radius of the top left corner of the rectangular shape.
1379 ///
1380 /// .value[9]?.f32: radius of the bottom left corner of the rectangular shape.
1381 ///
1382 /// .value[10]?.f32: radius of the top right corner of the rectangular shape.
1383 ///
1384 /// .value[11]?.f32: radius of the bottom right corner of the rectangular shape.
1385 ///
1386 /// 2. Circle:
1387 ///
1388 /// .value[0].u32 fill color, in 0xARGB format.
1389 ///
1390 /// .value[1].u32: stroke color, in 0xARGB format.
1391 ///
1392 /// .value[2].f32: stroke width, in vp.
1393 ///
1394 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1395 /// The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.
1396 ///
1397 /// .value[4].f32: width of the circle.
1398 ///
1399 /// .value[5].f32: height of the circle.
1400 ///
1401 /// 3. Ellipse:
1402 ///
1403 /// .value[0].u32 fill color, in 0xARGB format.
1404 ///
1405 /// .value[1].u32: stroke color, in 0xARGB format.
1406 ///
1407 /// .value[2].f32: stroke width, in vp.
1408 ///
1409 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1410 /// The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.
1411 ///
1412 /// .value[4].f32: width of the ellipse.
1413 ///
1414 /// .value[5].f32: height of the ellipse.
1415 ///
1416 /// 4. Path:
1417 ///
1418 /// .value[0].u32 fill color, in 0xARGB format.
1419 ///
1420 /// .value[1].u32: stroke color, in 0xARGB format.
1421 ///
1422 /// .value[2].f32: stroke width, in vp.
1423 ///
1424 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1425 /// The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.
1426 ///
1427 /// .value[4].f32: width of the path.
1428 ///
1429 /// .value[5].f32: height of the path.
1430 ///
1431 /// .string: command for drawing the path.
1432 ///
1433 /// 5. Progress:
1434 ///
1435 /// .value[0].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1436 /// The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.
1437 ///
1438 /// .value[1].f32: current value of the progress indicator.
1439 ///
1440 /// .value[2].f32: maximum value of the progress indicator.
1441 ///
1442 /// .value[3].u32: color of the progress indicator, in 0xARGB format.
1443 ///
1444 ///
1445 ///
1446 /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
1447 ///
1448 /// 1. Rectangle:
1449 ///
1450 /// .value[0].u32 fill color, in 0xARGB format.
1451 ///
1452 /// .value[1].u32: stroke color, in 0xARGB format.
1453 ///
1454 /// .value[2].f32: stroke width, in vp.
1455 ///
1456 /// .value[3].i32: mask type.
1457 ///
1458 /// .value[4].f32: width of the rectangle.
1459 ///
1460 /// .value[5].f32: height of the rectangle.
1461 ///
1462 /// .value[6].f32: width of the rounded corner of the rectangle.
1463 ///
1464 /// .value[7].f32: height of the rounded corner of the rectangle.
1465 ///
1466 /// .value[8].f32: radius of the top left corner of the rectangular shape.
1467 ///
1468 /// .value[9].f32: radius of the bottom left corner of the rectangular shape.
1469 ///
1470 /// .value[10].f32: radius of the top right corner of the rectangular shape.
1471 ///
1472 /// .value[11].f32: radius of the bottom right corner of the rectangular shape.
1473 ///
1474 /// 2. Circle:
1475 ///
1476 /// .value[0].u32 fill color, in 0xARGB format.
1477 ///
1478 /// .value[1].u32: stroke color, in 0xARGB format.
1479 ///
1480 /// .value[2].f32: stroke width, in vp.
1481 ///
1482 /// .value[3].i32: mask type.
1483 ///
1484 /// .value[4].f32: width of the circle.
1485 ///
1486 /// .value[5].f32: height of the circle.
1487 ///
1488 /// 3. Ellipse:
1489 ///
1490 /// .value[0].u32 fill color, in 0xARGB format.
1491 ///
1492 /// .value[1].u32: stroke color, in 0xARGB format.
1493 ///
1494 /// .value[2].f32: stroke width, in vp.
1495 ///
1496 /// .value[3].i32: mask type.
1497 ///
1498 /// .value[4].f32: width of the ellipse.
1499 ///
1500 /// .value[5].f32: height of the ellipse.
1501 ///
1502 /// 4. Path:
1503 ///
1504 /// .value[0].u32 fill color, in 0xARGB format.
1505 ///
1506 /// .value[1].u32: stroke color, in 0xARGB format.
1507 ///
1508 /// .value[2].f32: stroke width, in vp.
1509 ///
1510 /// .value[3].i32: mask type.
1511 ///
1512 /// .value[4].f32: width of the path.
1513 ///
1514 /// .value[5].f32: height of the path.
1515 ///
1516 /// .string: command for drawing the path.
1517 ///
1518 /// 5. Progress:
1519 ///
1520 /// .value[0].i32: mask type.
1521 ///
1522 /// .value[1].f32: current value of the progress indicator.
1523 ///
1524 /// .value[2].f32: maximum value of the progress indicator.
1525 ///
1526 /// .value[3].u32: color of the progress indicator.
1527 pub const NODE_MASK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(45);
1528 /// Blends the component's background with the content of the component's child node.
1529 /// This attribute can be set, reset, and obtained as required through APIs.
1530 ///
1531 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1532 ///
1533 /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1534 /// <b>ARKUI_BLEND_MODE_NONE</b>.
1535 ///
1536 /// .value[1].?i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1537 /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1538 ///
1539 ///
1540 ///
1541 /// Format of the return value [`ArkUI_AttributeItem`]:
1542 ///
1543 /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1544 /// <b>ARKUI_BLEND_MODE_NONE</b>.
1545 ///
1546 /// .value[1].i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1547 /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1548 pub const NODE_BLEND_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(46);
1549 /// Sets the direction of the main axis.
1550 /// This attribute can be set, reset, and obtained as required through APIs.
1551 ///
1552 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1553 ///
1554 /// .value[0].i32: direction of the main axis.
1555 ///
1556 /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1557 ///
1558 ///
1559 ///
1560 /// Format of the return value [`ArkUI_AttributeItem`]:
1561 ///
1562 /// .value[0].i32: direction of the main axis.
1563 ///
1564 /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1565 pub const NODE_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(47);
1566 /// Defines the size constraints.
1567 /// This attribute can be set, reset, and obtained as required through APIs.
1568 ///
1569 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1570 ///
1571 /// .value[0].f32: minimum width, in vp.
1572 ///
1573 /// .value[1].f32: maximum width, in vp.
1574 ///
1575 /// .value[2].f32: minimum height, in vp.
1576 ///
1577 /// .value[3].f32: maximum height, in vp.
1578 ///
1579 ///
1580 ///
1581 /// Format of the return value [`ArkUI_AttributeItem`]:
1582 ///
1583 /// .value[0].f32: minimum width, in vp.
1584 ///
1585 /// .value[1].f32: maximum width, in vp.
1586 ///
1587 /// .value[2].f32: minimum height, in vp.
1588 ///
1589 /// .value[3].f32: maximum height, in vp.
1590 pub const NODE_CONSTRAINT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(48);
1591 /// Defines the grayscale effect.
1592 /// This attribute can be set, reset, and obtained as required through APIs.
1593 ///
1594 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1595 ///
1596 /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1597 /// For example, 0.5 indicates a 50% grayscale conversion ratio.
1598 ///
1599 ///
1600 ///
1601 /// Format of the return value [`ArkUI_AttributeItem`]:
1602 ///
1603 /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1604 pub const NODE_GRAY_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(49);
1605 /// Inverts the image.
1606 /// This attribute can be set, reset, and obtained as required through APIs.
1607 ///
1608 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1609 ///
1610 /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1611 /// For example, 0.5 indicates a 50% image inversion ratio.
1612 ///
1613 ///
1614 ///
1615 /// Format of the return value [`ArkUI_AttributeItem`]:
1616 ///
1617 /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1618 pub const NODE_INVERT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(50);
1619 /// Defines the sepia conversion ratio.
1620 /// This attribute can be set, reset, and obtained as required through APIs.
1621 ///
1622 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1623 ///
1624 /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1625 /// For example, 0.5 indicates that a 50% sepia conversion ratio.
1626 ///
1627 ///
1628 ///
1629 /// Format of the return value [`ArkUI_AttributeItem`]:
1630 ///
1631 /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1632 pub const NODE_SEPIA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(51);
1633 /// Defines the contrast attribute, which can be set, reset, and obtained as required through APIs.
1634 ///
1635 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1636 ///
1637 /// .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed.
1638 /// A larger value indicates a higher contrast. Value range: [0, 10).
1639 ///
1640 ///
1641 ///
1642 /// Format of the return value [`ArkUI_AttributeItem`]:
1643 ///
1644 /// .value[0].f32: contrast. Value range: [0, 10).
1645 pub const NODE_CONTRAST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(52);
1646 /// Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs.
1647 ///
1648 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1649 ///
1650 /// 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
1651 ///
1652 /// 2: .value[0].i32: color enum [`ArkUI_ColoringStrategy`].
1653 ///
1654 ///
1655 ///
1656 /// Format of the return value [`ArkUI_AttributeItem`]:
1657 ///
1658 /// .value[0].u32: color value, in 0xARGB format.
1659 pub const NODE_FOREGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(53);
1660 /// Defines the offset of the component's child relative to the component.
1661 /// This attribute can be set, reset, and obtained as required through APIs.
1662 ///
1663 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1664 ///
1665 /// .value[0].f32 : offset along the x-axis, in vp.
1666 ///
1667 /// .value[1].f32 : offset along the y-axis, in vp.
1668 ///
1669 ///
1670 ///
1671 /// Format of the return value [`ArkUI_AttributeItem`]:
1672 ///
1673 /// .value[0].f32 : offset along the x-axis, in vp.
1674 ///
1675 /// .value[1].f32 : offset along the y-axis, in vp.
1676 pub const NODE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(54);
1677 /// Sets the anchor for locating the component's child.
1678 /// This attribute can be set, reset, and obtained as required through APIs.
1679 ///
1680 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1681 ///
1682 /// .value[0].f32: X coordinate of the anchor, in vp.
1683 ///
1684 /// .value[1].f32: Y coordinate of the anchor, in vp.
1685 ///
1686 ///
1687 ///
1688 /// Format of the return value [`ArkUI_AttributeItem`]:
1689 ///
1690 /// .value[0].f32: X coordinate of the anchor, in vp.
1691 ///
1692 /// .value[1].f32: Y coordinate of the anchor, in vp.
1693 pub const NODE_MARK_ANCHOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(55);
1694 /// Defines the position of the background image in the component, that is, the coordinates relative to
1695 /// the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs.
1696 ///
1697 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1698 ///
1699 /// .value[0].f32: position along the x-axis, in px.
1700 ///
1701 /// .value[1].f32: position along the y-axis, in px.
1702 ///
1703 /// .value[2].?i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1704 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1705 ///
1706 /// .value[3].?i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1707 /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1708 ///
1709 /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1710 /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1711 /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1712 /// Format of the return value [`ArkUI_AttributeItem`]:
1713 ///
1714 /// .value[0].f32: position along the x-axis, in px.
1715 ///
1716 /// .value[1].f32: position along the y-axis, in px.
1717 ///
1718 /// .value[2].i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1719 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1720 ///
1721 /// .value[3].i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1722 /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1723 pub const NODE_BACKGROUND_IMAGE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(56);
1724 /// Sets the alignment rules in the relative container.
1725 /// This attribute can be set, reset, and obtained as required through APIs.
1726 ///
1727 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1728 ///
1729 /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1730 ///
1731 ///
1732 ///
1733 /// Format of the return value [`ArkUI_AttributeItem`]:
1734 ///
1735 /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1736 pub const NODE_ALIGN_RULES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(57);
1737 /// Sets the alignment mode of the child components along the cross axis of the parent container.
1738 /// This attribute can be set, reset, and obtained as required through APIs.
1739 ///
1740 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1741 ///
1742 /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1743 ///
1744 /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1745 ///
1746 ///
1747 ///
1748 /// Format of the return value [`ArkUI_AttributeItem`]:
1749 ///
1750 /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1751 ///
1752 /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1753 pub const NODE_ALIGN_SELF: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(58);
1754 /// Sets the percentage of the parent container's remaining space that is allocated to the component.
1755 /// This attribute can be set, reset, and obtained as required through APIs.
1756 ///
1757 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1758 ///
1759 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1760 ///
1761 ///
1762 ///
1763 /// Format of the return value [`ArkUI_AttributeItem`]:
1764 ///
1765 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1766 pub const NODE_FLEX_GROW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(59);
1767 /// Sets the percentage of the parent container's shrink size that is allocated to the component.
1768 /// This attribute can be set, reset, and obtained as required through APIs.
1769 ///
1770 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1771 ///
1772 /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1773 ///
1774 ///
1775 ///
1776 /// Format of the return value [`ArkUI_AttributeItem`]:
1777 ///
1778 /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1779 pub const NODE_FLEX_SHRINK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(60);
1780 /// Sets the base size of the component.
1781 /// This attribute can be set, reset, and obtained as required through APIs.
1782 ///
1783 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1784 ///
1785 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1786 ///
1787 ///
1788 ///
1789 /// Format of the return value [`ArkUI_AttributeItem`]:
1790 ///
1791 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1792 pub const NODE_FLEX_BASIS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(61);
1793 /// Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs.
1794 ///
1795 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1796 ///
1797 /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1798 /// form an entire selectable component.
1799 /// In this case, the accessibility service will no longer be available for the content of its child components.
1800 /// The value is <b>1</b> or <b>0</b>.
1801 ///
1802 ///
1803 /// Format of the return value [`ArkUI_AttributeItem`]:
1804 ///
1805 /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1806 /// form an entire selectable component.
1807 /// In this case, the accessibility service will no longer be available for the content of its child components.
1808 /// The value is <b>1</b> or <b>0</b>.
1809 pub const NODE_ACCESSIBILITY_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(62);
1810 /// Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs.
1811 ///
1812 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1813 ///
1814 /// .string: accessibility text.
1815 ///
1816 ///
1817 /// Format of the return value [`ArkUI_AttributeItem`]:
1818 ///
1819 /// .string: accessibility text.
1820 pub const NODE_ACCESSIBILITY_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(63);
1821 /// Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs.
1822 ///
1823 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1824 ///
1825 /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1826 ///
1827 ///
1828 /// Format of the return value [`ArkUI_AttributeItem`]:
1829 ///
1830 /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1831 pub const NODE_ACCESSIBILITY_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(64);
1832 /// Sets the accessibility description.
1833 /// This attribute can be set, reset, and obtained as required through APIs.
1834 ///
1835 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1836 ///
1837 /// .string: accessibility description.
1838 ///
1839 ///
1840 /// Format of the return value [`ArkUI_AttributeItem`]:
1841 ///
1842 /// .string: accessibility description.
1843 pub const NODE_ACCESSIBILITY_DESCRIPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(65);
1844 /// Defines the focused state. This attribute can be set and obtained as required through APIs.
1845 ///
1846 /// **Note:** Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level
1847 /// of the page to the root container.
1848 ///
1849 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1850 ///
1851 /// .value[0].i32: The parameter type is 1 or 0.
1852 ///
1853 ///
1854 /// Format of the return value [`ArkUI_AttributeItem`]:
1855 ///
1856 /// .value[0].i32: The parameter type is 1 or 0.
1857 pub const NODE_FOCUS_STATUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(66);
1858 /// Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs.
1859 ///
1860 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1861 ///
1862 /// .value[0].f32: aspect ratio of the component, in width/height format.
1863 ///
1864 ///
1865 ///
1866 /// Format of the return value [`ArkUI_AttributeItem`]:
1867 ///
1868 /// .value[0].f32: aspect ratio of the component, in width/height format.
1869 pub const NODE_ASPECT_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(67);
1870 /// Defines the weight of the component within its row, column, or flex container for proportional
1871 /// distribution of available space within the container.
1872 /// This attribute can be set, reset, and obtained as required through APIs.
1873 ///
1874 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1875 ///
1876 /// .value[0].u32: weight of the component along the main axis.
1877 ///
1878 ///
1879 ///
1880 /// Format of the return value [`ArkUI_AttributeItem`]:
1881 ///
1882 /// .value[0].u32: weight of the component along the main axis.
1883 pub const NODE_LAYOUT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(68);
1884 /// Sets the display priority for the component in the row, column, or flex (single-line) container.
1885 /// This attribute can be set, reset, and obtained as required through APIs.
1886 ///
1887 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1888 ///
1889 /// .value[0].u32: display priority of the component in the container.
1890 ///
1891 ///
1892 ///
1893 /// Format of the return value [`ArkUI_AttributeItem`]:
1894 ///
1895 /// .value[0].u32: display priority of the component in the container.
1896 pub const NODE_DISPLAY_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(69);
1897 /// Sets the thickness of an element's outline.
1898 ///
1899 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1900 ///
1901 /// .value[0].f32: thickness of the left outline.
1902 ///
1903 /// .value[1].f32: thickness of the top outline.
1904 ///
1905 /// .value[2].f32: thickness of the right outline.
1906 ///
1907 /// .value[3].f32: thickness of the bottom outline.
1908 ///
1909 ///
1910 ///
1911 /// Format of the return value [`ArkUI_AttributeItem`]:
1912 ///
1913 /// .value[0].f32: thickness of the left outline.
1914 ///
1915 /// .value[1].f32: thickness of the top outline.
1916 ///
1917 /// .value[2].f32: thickness of the right outline.
1918 ///
1919 /// .value[3].f32: thickness of the bottom outline.
1920 pub const NODE_OUTLINE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(70);
1921 /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
1922 ///
1923 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1924 ///
1925 /// .value[0].f32: width, in percentage.
1926 ///
1927 ///
1928 ///
1929 /// Format of the return value [`ArkUI_AttributeItem`]:
1930 ///
1931 /// .value[0].f32: width, in percentage.
1932 pub const NODE_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(71);
1933 /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
1934 ///
1935 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1936 ///
1937 /// .value[0].f32: height, in percentage.
1938 ///
1939 ///
1940 ///
1941 /// Format of the return value [`ArkUI_AttributeItem`]:
1942 ///
1943 /// .value[0].f32: height, in percentage.
1944 pub const NODE_HEIGHT_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(72);
1945 /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
1946 ///
1947 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1948 ///
1949 /// 1: Specify the same padding for the four directions.
1950 ///
1951 /// .value[0].f32: padding, in percentage.
1952 ///
1953 /// 2: Specify different paddings for different directions.
1954 ///
1955 /// .value[0].f32: top padding, in percentage.
1956 ///
1957 /// .value[1].f32: right padding, in percentage.
1958 ///
1959 /// .value[2].f32: bottom padding, in percentage.
1960 ///
1961 /// .value[3].f32: left padding, in percentage.
1962 ///
1963 ///
1964 ///
1965 /// Format of the return value [`ArkUI_AttributeItem`]:
1966 ///
1967 /// .value[0].f32: top padding, in percentage.
1968 ///
1969 /// .value[1].f32: right padding, in percentage.
1970 ///
1971 /// .value[2].f32: bottom padding, in percentage.
1972 ///
1973 /// .value[3].f32: left padding, in percentage.
1974 pub const NODE_PADDING_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(73);
1975 /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
1976 ///
1977 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1978 ///
1979 /// 1: Specify the same margin for the four directions.
1980 ///
1981 /// .value[0].f32: margin, in percentage.
1982 ///
1983 /// 2: Specify different margins for different directions.
1984 ///
1985 /// .value[0].f32: top margin, in percentage.
1986 ///
1987 /// .value[1].f32: right margin, in percentage.
1988 ///
1989 /// .value[2].f32: bottom margin, in percentage.
1990 ///
1991 /// .value[3].f32: left margin, in percentage.
1992 ///
1993 ///
1994 ///
1995 /// Format of the return value [`ArkUI_AttributeItem`]:
1996 ///
1997 /// .value[0].f32: top margin, in percentage.
1998 ///
1999 /// .value[1].f32: right margin, in percentage.
2000 ///
2001 /// .value[2].f32: bottom margin, in percentage.
2002 ///
2003 /// .value[3].f32: left margin, in percentage.
2004 pub const NODE_MARGIN_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(74);
2005 /// The implicit shared element transition within the component supports attribute setting,
2006 /// attribute reset, and attribute acquisition interfaces.
2007 ///
2008 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2009 ///
2010 /// .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings,
2011 /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2012 /// the default is false, and the original position will remain unchanged if not involved.
2013 ///
2014 /// .string is used to set the binding relationship. Set the id to "" to
2015 /// clear the binding relationship to avoid participating in sharing behavior.
2016 ///
2017 /// The id can be changed and the binding relationship re-established.
2018 /// The same ID can only be bound to two components and they are in/out roles of different types.
2019 /// Multiple components cannot be bound to the same id.
2020 ///
2021 ///
2022 ///
2023 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
2024 ///
2025 /// .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings,
2026 /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2027 /// the default is not false, if not involved, the original position will remain unchanged.
2028 ///
2029 /// .string is used to set the binding relationship. Set the id to "" to
2030 /// clear the binding relationship to avoid participating in sharing behavior.
2031 ///
2032 /// The id can be changed and the binding relationship re-established.
2033 /// The same ID can only be bound to two components and they are in/out roles of different types.
2034 /// Multiple components cannot be bound to the same id.
2035 pub const NODE_GEOMETRY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(75);
2036 /// specifies the parameters of the chain formed by this component as the chain head,
2037 /// and supports attribute setting, attribute reset and attribute acquisition interfaces.
2038 ///
2039 /// Only takes effect when the parent container is RelativeContainer
2040 ///
2041 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2042 ///
2043 /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2044 ///
2045 /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2046 ///
2047 ///
2048 ///
2049 /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2050 ///
2051 /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2052 pub const NODE_RELATIVE_LAYOUT_CHAIN_MODE: ArkUI_NodeAttributeType =
2053 ArkUI_NodeAttributeType(76);
2054 /// Set the component content filling method in the process of width and height animation,
2055 /// support property setting, property reset, property acquisition interface.
2056 ///
2057 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2058 ///
2059 /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2060 ///
2061 ///
2062 ///
2063 /// Format of the return value [`ArkUI_AttributeItem`]:
2064 ///
2065 /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2066 pub const NODE_RENDER_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(77);
2067 /// External stroke color properties, support property setting,
2068 /// property reset and property acquisition interface.
2069 ///
2070 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2071 ///
2072 /// 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF.
2073 ///
2074 /// 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2075 ///
2076 /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2077 ///
2078 /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2079 ///
2080 /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2081 ///
2082 ///
2083 ///
2084 /// Format of the return value [`ArkUI_AttributeItem`]:
2085 ///
2086 /// .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2087 ///
2088 /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2089 ///
2090 /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2091 ///
2092 /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2093 pub const NODE_OUTLINE_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(78);
2094 /// Set the height and width dimensions, support property setting,
2095 /// property reset and property acquisition interface.
2096 ///
2097 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2098 ///
2099 /// .value[0].f32: Width value, unit is vp;
2100 ///
2101 /// .value[1].f32: Height value, unit is vp;
2102 ///
2103 ///
2104 ///
2105 /// Format of the return value [`ArkUI_AttributeItem`]:
2106 ///
2107 /// .value[0].f32: Width value, unit is vp;
2108 ///
2109 /// .value[1].f32: Height value, unit is vp;
2110 pub const NODE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(79);
2111 /// Set whether the current component and child component are
2112 /// rendered off the screen first and then fused with the parent control,
2113 /// supporting property setting, property reset and property acquisition.
2114 ///
2115 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2116 ///
2117 /// .value[0].i32: The parameter type is 1 or 0.
2118 ///
2119 ///
2120 /// Format of the return value [`ArkUI_AttributeItem`]:
2121 ///
2122 /// .value[0].i32: The parameter type is 1 or 0.
2123 pub const NODE_RENDER_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(80);
2124 /// Add color overlay effect to components, support property setting,
2125 /// property reset and property acquisition interface.
2126 ///
2127 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2128 ///
2129 /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2130 ///
2131 ///
2132 ///
2133 /// Format of the return value [`ArkUI_AttributeItem`]:
2134 ///
2135 /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2136 pub const NODE_COLOR_BLEND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(81);
2137 /// Provide content ambiguity capability for the current component,
2138 /// support property setting, property reset, property acquisition interface.
2139 ///
2140 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2141 ///
2142 /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2143 ///
2144 /// .value[1]?.i32 Represents the dark and light mode used by the content blur effect,
2145 ///
2146 /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2147 ///
2148 /// .value[2]?.i32 The color extraction mode used to represent the content blur effect takes
2149 ///
2150 /// the [`ArkUI_AdaptiveColor`] enumeration value.
2151 ///
2152 /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
2153 ///
2154 /// .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2155 ///
2156 /// .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2157 ///
2158 ///
2159 ///
2160 /// Format of the return value [`ArkUI_AttributeItem`]:
2161 ///
2162 /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2163 ///
2164 /// .value[1].i32 Represents the dark and light mode used by the content blur effect,
2165 ///
2166 /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2167 ///
2168 /// .value[2].i32 The color extraction mode used to represent the content blur effect takes
2169 ///
2170 /// the [`ArkUI_AdaptiveColor`] enumeration value.
2171 ///
2172 /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
2173 ///
2174 /// .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2175 ///
2176 /// .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2177 pub const NODE_FOREGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(82);
2178 /// Defines the component size and position for layout.
2179 /// This attribute can be set, reset, and obtained as required through APIs.
2180 ///
2181 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2182 ///
2183 /// .value[0].i32: X coordinate of the component, in px.
2184 ///
2185 /// .value[1].i32: Y coordinate of the component, in px.
2186 ///
2187 /// .value[2].i32: width of the component, in px.
2188 ///
2189 /// .value[3].i32: height of the component, in px.
2190 ///
2191 ///
2192 ///
2193 /// Format of the return value [`ArkUI_AttributeItem`]:
2194 ///
2195 /// .value[0].i32: X coordinate of the component, in px.
2196 ///
2197 /// .value[1].i32: Y coordinate of the component, in px.
2198 ///
2199 /// .value[2].i32: width of the component, in px.
2200 ///
2201 /// .value[3].i32: height of the component, in px.
2202 pub const NODE_LAYOUT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(83);
2203 /// Whether the current component supports click-to-focus capability,
2204 /// which can be set, reset, and obtained as required through APIs.
2205 ///
2206 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2207 ///
2208 /// .value[0].i32: The parameter type is 1 or 0.
2209 ///
2210 ///
2211 /// Format of the return value [`ArkUI_AttributeItem`]:
2212 ///
2213 /// .value[0].i32: The parameter type is 1 or 0.
2214 pub const NODE_FOCUS_ON_TOUCH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(84);
2215 /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
2216 ///
2217 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2218 ///
2219 /// 1: .value[0].f32: width of the four borders, in percentage.
2220 ///
2221 /// 2: .value[0].f32: width of the top border, in percentage.
2222 ///
2223 /// .value[1].f32: width of the right border, in percentage.
2224 ///
2225 /// .value[2].f32: width of the bottom border, in percentage.
2226 ///
2227 /// .value[3].f32: width of the left border, in percentage.
2228 ///
2229 ///
2230 ///
2231 /// Format of the return value [`ArkUI_AttributeItem`]:
2232 ///
2233 /// .value[0].f32: width of the top border, in percentage.
2234 ///
2235 /// .value[1].f32: width of the right border, in percentage.
2236 ///
2237 /// .value[2].f32: width of the bottom border, in percentage.
2238 ///
2239 /// .value[3].f32: width of the left border, in percentage.
2240 pub const NODE_BORDER_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(85);
2241 /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
2242 ///
2243 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2244 ///
2245 /// 1: .value[0].f32: radius of the four corners, in percentage.
2246 ///
2247 /// 2: .value[0].f32: radius of the upper left corner, in percentage.
2248 ///
2249 /// .value[1].f32: radius of the upper right corner, in percentage.
2250 ///
2251 /// .value[2].f32: radius of the lower left corner, in percentage.
2252 ///
2253 /// .value[3].f32: radius of the lower right corner, in percentage.
2254 ///
2255 ///
2256 ///
2257 /// Format of the return value [`ArkUI_AttributeItem`]:
2258 ///
2259 /// .value[0].f32: radius of the upper left corner, in percentage.
2260 ///
2261 /// .value[1].f32: radius of the upper right corner, in percentage.
2262 ///
2263 /// .value[2].f32: radius of the lower left corner, in percentage.
2264 ///
2265 /// .value[3].f32: radius of the lower right corner, in percentage.
2266 pub const NODE_BORDER_RADIUS_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(86);
2267 /// Accessible ID, which can be obtained as required through APIs.
2268 ///
2269 /// Format of the return value [`ArkUI_AttributeItem`]:
2270 ///
2271 /// .value[0].i32:Accessible ID。
2272 pub const NODE_ACCESSIBILITY_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(87);
2273 /// Define accessible actions, which can be set, reset, and obtained as required through APIs.
2274 ///
2275 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2276 ///
2277 /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2278 ///
2279 ///
2280 ///
2281 /// Format of the return value [`ArkUI_AttributeItem`]:
2282 ///
2283 /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2284 pub const NODE_ACCESSIBILITY_ACTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(88);
2285 /// Define accessible role, which can be set, reset, and obtained as required through APIs.
2286 ///
2287 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2288 ///
2289 /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2290 ///
2291 ///
2292 ///
2293 /// Format of the return value [`ArkUI_AttributeItem`]:
2294 ///
2295 /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2296 pub const NODE_ACCESSIBILITY_ROLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(89);
2297 /// Define accessible state, which can be set, reset, and obtained as required through APIs.
2298 ///
2299 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2300 ///
2301 /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2302 ///
2303 ///
2304 ///
2305 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2306 ///
2307 /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2308 pub const NODE_ACCESSIBILITY_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(90);
2309 /// Define accessible value, which can be set, reset, and obtained as required through APIs.
2310 ///
2311 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2312 ///
2313 /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2314 ///
2315 ///
2316 ///
2317 /// Format of the return value [`ArkUI_AttributeItem`]:
2318 ///
2319 /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2320 pub const NODE_ACCESSIBILITY_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(91);
2321 /// defines control components to extend their security zones,
2322 /// supporting property setting, property reset, and property fetching.
2323 ///
2324 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2325 ///
2326 /// .value[0]? .u32: Set of extended security zone enumerated values [`ArkUI_SafeAreaType`],
2327 /// For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;
2328 ///
2329 /// .value[1]? .u32: set of directional enum values for extended security zones [`ArkUI_SafeAreaEdge`];
2330 ///
2331 /// For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;
2332 ///
2333 ///
2334 ///
2335 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2336 ///
2337 /// .value[0].u32: extends the security zone.
2338 /// .
2339 ///
2340 /// .value[1].u32: indicates the direction to extend the security zone.
2341 /// .
2342 pub const NODE_EXPAND_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(92);
2343 /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2344 /// visible area change event of the component.
2345 ///
2346 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2347 ///
2348 /// .value[...].f32: threshold array. The value range is 0 to 1.
2349 ///
2350 ///
2351 /// Format of the return value [`ArkUI_AttributeItem`]:
2352 ///
2353 /// .value[...].f32: threshold array.
2354 pub const NODE_VISIBLE_AREA_CHANGE_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(93);
2355 /// Sets the transition effect when the component is inserted or deleted.
2356 /// This attribute can be set, and obtained as required through APIs.
2357 ///
2358 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2359 ///
2360 /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2361 ///
2362 ///
2363 ///
2364 /// Format of the return value [`ArkUI_AttributeItem`]:
2365 ///
2366 /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2367 pub const NODE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(94);
2368 /// Defines the component ID.
2369 /// This attribute can be obtained through APIs.
2370 ///
2371 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
2372 ///
2373 /// .value[0].i32: component ID.
2374 ///
2375 ///
2376 ///
2377 /// **Deprecated** since 20
2378 /// OH_ArkUI_NodeUtils_GetNodeUniqueId
2379 #[deprecated(since = "20")]
2380 pub const NODE_UNIQUE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(95);
2381 /// Set the current component system focus box style.
2382 ///
2383 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2384 ///
2385 /// .value[0].f32: The distance between the focus box and the edge of the component.
2386 ///
2387 /// Positive numbers represent the outer side, negative numbers represent the inner side.
2388 ///
2389 /// Percentage is not supported.
2390 ///
2391 /// .value[1].f32: Focus box width. Negative numbers and percentages are not supported.
2392 ///
2393 /// .value[2].u32: Focus box color.
2394 ///
2395 ///
2396 pub const NODE_FOCUS_BOX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(96);
2397 /// Defines the moving distance limit for the component-bound tap gesture.
2398 /// This attribute can be set as required through APIs.
2399 ///
2400 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2401 ///
2402 /// .value[0].f32: allowed moving distance of a finger, in vp.
2403 pub const NODE_CLICK_DISTANCE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(97);
2404 /// Sets whether the focus can be placed on this component.
2405 /// This attribute can be set, reset, and obtained as required through APIs.
2406 ///
2407 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2408 ///
2409 /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2410 ///
2411 ///
2412 /// Format of the return value [`ArkUI_AttributeItem`]:
2413 ///
2414 /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2415 ///
2416 ///
2417 /// Available since API-level: 14
2418 #[cfg(feature = "api-14")]
2419 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2420 pub const NODE_TAB_STOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(98);
2421 /// Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs.
2422 ///
2423 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2424 ///
2425 /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2426 ///
2427 /// .value[1]?.f32:grayscale blur settings that control the brightness of the black color.
2428 ///
2429 /// The value range is [0, 127].
2430 ///
2431 /// .value[2]?.f32:grayscale blur settings that control the darkness of the white color.
2432 ///
2433 /// The value range is [0, 127].
2434 ///
2435 ///
2436 ///
2437 /// Format of the return value [`ArkUI_AttributeItem`]:
2438 ///
2439 /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2440 ///
2441 /// .value[1].f32:grayscale blur settings that control the brightness of the black color.
2442 ///
2443 /// The value range is [0, 127].
2444 ///
2445 /// .value[2].f32:grayscale blur settings that control the darkness of the white color.
2446 ///
2447 /// The value range is [0, 127].
2448 ///
2449 ///
2450 ///
2451 /// Available since API-level: 15
2452 #[cfg(feature = "api-15")]
2453 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2454 pub const NODE_BACKDROP_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(99);
2455 /// Defines the background image resizable attribute, which can be set, reset,
2456 /// and obtained as required through APIs.
2457 ///
2458 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2459 ///
2460 /// .value[0].f32: width of the left edge. The unit is vp.
2461 ///
2462 /// .value[1].f32: width of the top edge. The unit is vp.
2463 ///
2464 /// .value[2].f32: width of the right edge. The unit is vp.
2465 ///
2466 /// .value[3].f32: width of the bottom edge. The unit is vp.
2467 ///
2468 ///
2469 ///
2470 /// Format of the return value [`ArkUI_AttributeItem`]:
2471 ///
2472 /// .value[0].f32: width of the left edge. The unit is vp.
2473 ///
2474 /// .value[1].f32: width of the top edge. The unit is vp.
2475 ///
2476 /// .value[2].f32: width of the right edge. The unit is vp.
2477 ///
2478 /// .value[3].f32: width of the bottom edge. The unit is vp.
2479 ///
2480 ///
2481 ///
2482 /// Available since API-level: 19
2483 #[cfg(feature = "api-19")]
2484 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
2485 pub const NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE: ArkUI_NodeAttributeType =
2486 ArkUI_NodeAttributeType(100);
2487 /// Sets the next focus node.
2488 ///
2489 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2490 ///
2491 /// .value[0].i32: focus movement direction, as defined in [`ArkUI_FocusMove`].
2492 /// .object: next focus node. The parameter type is [`ArkUI_NodeHandle`].
2493 ///
2494 ///
2495 ///
2496 ///
2497 ///
2498 /// Available since API-level: 18
2499 #[cfg(feature = "api-18")]
2500 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
2501 pub const NODE_NEXT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(101);
2502 /// Sets the parameters for visible area change events.
2503 ///
2504 ///
2505 /// **Note:** The visible area change callback is not a real-time callback. The actual callback interval may differ from
2506 /// the expected interval due to system load and other factors.
2507 /// The interval between two visible area change callbacks will not be less than the expected update interval. If the
2508 /// provided expected interval is too short, the actual callback interval will be determined by the system load.
2509 /// By default, the interval threshold of the visible area change callback includes 0. This means that,
2510 /// if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5].
2511 ///
2512 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2513 ///
2514 /// .object: parameters for visible area change events.
2515 /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2516 ///
2517 ///
2518 ///
2519 /// Format of the return value [`ArkUI_AttributeItem`]:
2520 ///
2521 /// .object: parameters for visible area change events.
2522 /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2523 ///
2524 ///
2525 ///
2526 /// Available since API-level: 17
2527 #[cfg(feature = "api-17")]
2528 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
2529 pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO: ArkUI_NodeAttributeType =
2530 ArkUI_NodeAttributeType(102);
2531 /// Defines the translate attribute, which supports for percentile translation input, and can be set, reset,
2532 /// and obtained as required through APIs.
2533 ///
2534 ///
2535 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2536 ///
2537 /// .value[0].f32: distance to translate along the x-axis. The default unit is percentage.
2538 /// The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.
2539 ///
2540 /// .value[1].f32: distance to translate along the y-axis. The default unit is percentage.
2541 /// The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.
2542 ///
2543 /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
2544 ///
2545 /// .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage.
2546 /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2547 /// For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction.
2548 /// The default value is <b>1</b>.
2549 ///
2550 /// .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage.
2551 /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2552 /// For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction.
2553 /// The default value is <b>1</b>.
2554 ///
2555 ///
2556 ///
2557 /// Format of the return value [`ArkUI_AttributeItem`]:
2558 ///
2559 /// .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].
2560 ///
2561 /// .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].
2562 ///
2563 /// .value[2].f32: distance to translate along the z-axis. The unit is vp.
2564 ///
2565 /// .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0,
2566 /// the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation
2567 /// distance is percentage;
2568 ///
2569 /// .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0,
2570 /// the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation
2571 /// distance is percentage;
2572 ///
2573 ///
2574 ///
2575 /// Available since API-level: 20
2576 #[cfg(feature = "api-20")]
2577 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2578 pub const NODE_TRANSLATE_WITH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(103);
2579 /// Sets component rotation with multi-axis angle control. This attribute can be set, reset,
2580 /// and obtained as required through APIs.
2581 ///
2582 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2583 ///
2584 /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2585 ///
2586 /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2587 ///
2588 /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2589 ///
2590 /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2591 ///
2592 ///
2593 ///
2594 /// Format of the return value [`ArkUI_AttributeItem`]:
2595 ///
2596 /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2597 /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2598 ///
2599 /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2600 ///
2601 /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2602 ///
2603 ///
2604 ///
2605 /// Available since API-level: 20
2606 #[cfg(feature = "api-20")]
2607 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2608 pub const NODE_ROTATE_ANGLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(104);
2609 /// Defines the width attribute with param type LayoutPolicy, which can be set, reset, and obtained
2610 /// as required through APIs.
2611 ///
2612 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2613 ///
2614 /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2615 ///
2616 /// The parameter type is [`ArkUI_LayoutPolicy`].
2617 ///
2618 ///
2619 ///
2620 /// Format of the return value [`ArkUI_AttributeItem`]:
2621 ///
2622 /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2623 ///
2624 /// The parameter type is [`ArkUI_LayoutPolicy`].
2625 ///
2626 ///
2627 ///
2628 /// Available since API-level: 21
2629 #[cfg(feature = "api-21")]
2630 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2631 pub const NODE_WIDTH_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(105);
2632 /// Defines the height attribute with param type LayoutPolicy, which can be set, reset, and obtained
2633 /// as required through APIs.
2634 ///
2635 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2636 ///
2637 /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2638 ///
2639 /// The parameter type is [`ArkUI_LayoutPolicy`].
2640 ///
2641 ///
2642 ///
2643 /// Format of the return value [`ArkUI_AttributeItem`]:
2644 ///
2645 /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2646 ///
2647 /// The parameter type is [`ArkUI_LayoutPolicy`].
2648 ///
2649 ///
2650 ///
2651 /// Available since API-level: 21
2652 #[cfg(feature = "api-21")]
2653 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2654 pub const NODE_HEIGHT_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(106);
2655 /// Defines the position attribute in param type Edges, which specifies the position of the component
2656 /// by the distance relative to the parent container's four edges. This attribute can be set, reset, and obtained as
2657 /// required through APIs.
2658 ///
2659 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2660 ///
2661 /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2662 ///
2663 ///
2664 ///
2665 /// Format of the return value [`ArkUI_AttributeItem`]:
2666 ///
2667 /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2668 ///
2669 ///
2670 ///
2671 /// Available since API-level: 21
2672 #[cfg(feature = "api-21")]
2673 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2674 pub const NODE_POSITION_EDGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(107);
2675 /// Set whether the component enables the ability to invert colors.
2676 /// This attribute can be set , and obtained as required through APIs.
2677 ///
2678 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2679 ///
2680 /// .value[0].i32: The parameter type is 1 or 0.
2681 ///
2682 ///
2683 ///
2684 /// Available since API-level: 21
2685 #[cfg(feature = "api-21")]
2686 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2687 pub const NODE_ALLOW_FORCE_DARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(108);
2688 /// Defines the pixelRound attribute, which can be set, reset, and obtained as required through APIs.
2689 ///
2690 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2691 ///
2692 /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2693 ///
2694 ///
2695 ///
2696 /// Format of the return value [`ArkUI_AttributeItem`]:
2697 ///
2698 /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2699 ///
2700 ///
2701 ///
2702 /// Available since API-level: 21
2703 #[cfg(feature = "api-21")]
2704 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2705 pub const NODE_PIXEL_ROUND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(109);
2706 /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
2707 ///
2708 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2709 ///
2710 /// .string: text content.
2711 ///
2712 ///
2713 ///
2714 /// Format of the return value [`ArkUI_AttributeItem`]:
2715 ///
2716 /// .string: text content.
2717 pub const NODE_TEXT_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000);
2718 /// Defines the font color attribute, which can be set, reset, and obtained as required through APIs.
2719 ///
2720 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2721 ///
2722 /// .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
2723 ///
2724 ///
2725 ///
2726 /// Format of the return value [`ArkUI_AttributeItem`]:
2727 ///
2728 /// .value[0].u32: font color value, in 0xARGB format.
2729 pub const NODE_FONT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001);
2730 /// Defines the font size attribute, which can be set, reset, and obtained as required through APIs.
2731 ///
2732 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2733 ///
2734 /// .value[0].f32: font size, in fp.
2735 ///
2736 ///
2737 ///
2738 /// Format of the return value [`ArkUI_AttributeItem`]:
2739 ///
2740 /// .value[0].f32: font size, in fp.
2741 pub const NODE_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002);
2742 /// Defines the font style attribute, which can be set, reset, and obtained as required through APIs.
2743 ///
2744 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2745 ///
2746 /// .value[0].i32: font style [`ArkUI_FontStyle`]. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2747 ///
2748 ///
2749 ///
2750 /// Format of the return value [`ArkUI_AttributeItem`]:
2751 ///
2752 /// .value[0].i32: font style [`ArkUI_FontStyle`].
2753 pub const NODE_FONT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003);
2754 /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
2755 ///
2756 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2757 ///
2758 /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2759 ///
2760 ///
2761 ///
2762 /// Format of the return value [`ArkUI_AttributeItem`]:
2763 ///
2764 /// .value[0].i32: font weight [`ArkUI_FontWeight`].
2765 pub const NODE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1004);
2766 /// Defines the text line height attribute, which can be set, reset, and obtained as required through APIs.
2767 ///
2768 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2769 ///
2770 /// .value[0].f32: line height, in fp.
2771 ///
2772 ///
2773 ///
2774 /// Format of the return value [`ArkUI_AttributeItem`]:
2775 ///
2776 /// .value[0].f32: line height, in fp.
2777 pub const NODE_TEXT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1005);
2778 /// Defines the text decoration style and color.
2779 /// This attribute can be set, reset, and obtained as required through APIs.
2780 ///
2781 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2782 ///
2783 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
2784 /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
2785 ///
2786 /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
2787 ///
2788 /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
2789 ///
2790 ///
2791 ///
2792 /// Format of the return value [`ArkUI_AttributeItem`]:
2793 ///
2794 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
2795 ///
2796 /// .value[1].u32: text decoration color, in 0xARGB format.
2797 ///
2798 /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
2799 pub const NODE_TEXT_DECORATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006);
2800 /// Defines the text case attribute, which can be set, reset, and obtained as required through APIs.
2801 ///
2802 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2803 ///
2804 /// .value[0].i32: text case.
2805 ///
2806 ///
2807 ///
2808 /// Format of the return value [`ArkUI_AttributeItem`]:
2809 ///
2810 /// .value[0].i32: text case.
2811 pub const NODE_TEXT_CASE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007);
2812 /// Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs.
2813 ///
2814 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2815 ///
2816 /// .value[0].f32: letter spacing, in fp.
2817 ///
2818 ///
2819 ///
2820 /// Format of the return value [`ArkUI_AttributeItem`]:
2821 ///
2822 /// .value[0].f32: letter spacing, in fp.
2823 pub const NODE_TEXT_LETTER_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008);
2824 /// Sets the maximum number of lines in the text.
2825 /// This attribute can be set, reset, and obtained as required through APIs.
2826 ///
2827 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2828 ///
2829 /// .value[0].i32: maximum number of lines in the text.
2830 ///
2831 ///
2832 ///
2833 /// Format of the return value [`ArkUI_AttributeItem`]:
2834 ///
2835 /// .value[0].i32: maximum number of lines in the text.
2836 pub const NODE_TEXT_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009);
2837 /// Horizontal alignment mode of the text.
2838 /// This attribute can be set, reset, and obtained as required through APIs.
2839 ///
2840 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2841 ///
2842 /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
2843 ///
2844 ///
2845 ///
2846 /// Format of the return value [`ArkUI_AttributeItem`]:
2847 ///
2848 /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
2849 pub const NODE_TEXT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010);
2850 /// Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs.
2851 ///
2852 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2853 ///
2854 /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
2855 ///
2856 ///
2857 ///
2858 /// Format of the return value [`ArkUI_AttributeItem`]:
2859 ///
2860 /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
2861 pub const NODE_TEXT_OVERFLOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1011);
2862 /// Defines the font family attribute, which can be set, reset, and obtained as required through APIs.
2863 ///
2864 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2865 ///
2866 /// .string: fonts, separated by commas (,).
2867 ///
2868 ///
2869 /// Format of the return value [`ArkUI_AttributeItem`]:
2870 ///
2871 /// .string: fonts, separated by commas (,).
2872 pub const NODE_FONT_FAMILY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1012);
2873 /// Defines the copy option attribute, which can be set, reset, and obtained as required through APIs.
2874 ///
2875 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2876 ///
2877 /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
2878 ///
2879 ///
2880 ///
2881 /// Format of the return value [`ArkUI_AttributeItem`]:
2882 ///
2883 /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
2884 pub const NODE_TEXT_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013);
2885 /// Defines the text baseline offset attribute
2886 /// This attribute can be set, reset, and obtained as required through APIs.
2887 ///
2888 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2889 ///
2890 /// .value[0].f32: baseline offset, in fp.
2891 ///
2892 ///
2893 ///
2894 /// Format of the return value [`ArkUI_AttributeItem`]:
2895 ///
2896 /// .value[0].f32: baseline offset, in fp.
2897 pub const NODE_TEXT_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014);
2898 /// Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs.
2899 ///
2900 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2901 ///
2902 /// .value[0].f32: blur radius of the shadow, in vp.
2903 ///
2904 /// .value[1].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
2905 ///
2906 /// .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
2907 ///
2908 /// .value[3].f32: offset of the shadow along the x-axis, in vp.
2909 ///
2910 /// .value[4].f32: offset of the shadow along the y-axis, in vp.
2911 ///
2912 ///
2913 ///
2914 /// Format of the return value [`ArkUI_AttributeItem`]:
2915 ///
2916 /// .value[0].f32: blur radius of the shadow, in vp.
2917 ///
2918 /// .value[1].i32: shadow type [`ArkUI_ShadowType`].
2919 ///
2920 /// .value[2].u32: shadow color, in 0xARGB format.
2921 ///
2922 /// .value[3].f32: offset of the shadow along the x-axis, in vp.
2923 ///
2924 /// .value[4].f32: offset of the shadow along the y-axis, in vp.
2925 pub const NODE_TEXT_TEXT_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1015);
2926 /// Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs.
2927 ///
2928 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2929 ///
2930 /// .value[0].f32: minimum font size, in fp.
2931 ///
2932 ///
2933 /// Format of the return value [`ArkUI_AttributeItem`]:
2934 ///
2935 /// .value[0].f32: minimum font size, in fp.
2936 pub const NODE_TEXT_MIN_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1016);
2937 /// Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs.
2938 ///
2939 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2940 ///
2941 /// .value[0].f32: maximum font size, in fp.
2942 ///
2943 ///
2944 /// Format of the return value [`ArkUI_AttributeItem`]:
2945 ///
2946 /// .value[0].f32: maximum font size, in fp.
2947 pub const NODE_TEXT_MAX_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1017);
2948 /// Defines the text style attribute, which can be set, reset, and obtained as required through APIs.
2949 ///
2950 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2951 ///
2952 /// .string?: font family. Optional. Use commas (,) to separate multiple fonts.
2953 ///
2954 /// .value[0].f32: font size, in fp.
2955 ///
2956 /// .value[1]?.i32: font weight. Optional. The parameter type is [`ArkUI_FontWeight`].
2957 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2958 ///
2959 /// .value[2]?.i32: font style. Optional. The parameter type is [`ArkUI_FontStyle`].
2960 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2961 ///
2962 ///
2963 /// Format of the return value [`ArkUI_AttributeItem`]:
2964 ///
2965 /// .string: font family. Use commas (,) to separate multiple fonts.
2966 ///
2967 /// .value[0].f32: font size, in fp.
2968 ///
2969 /// .value[1].i32: font weight. The parameter type is [`ArkUI_FontWeight`].
2970 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
2971 ///
2972 /// .value[2].i32: font style. The parameter type is [`ArkUI_FontStyle`].
2973 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
2974 pub const NODE_TEXT_FONT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018);
2975 /// Defines how the adaptive height is determined for the text.
2976 /// This attribute can be set, reset, and obtained as required through APIs.
2977 ///
2978 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2979 ///
2980 /// .value[0].i32: how the adaptive height is determined for the text.
2981 /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`].
2982 ///
2983 ///
2984 /// Format of the return value [`ArkUI_AttributeItem`]:
2985 ///
2986 /// .value[0].i32: how the adaptive height is determined for the text.
2987 /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`]
2988 pub const NODE_TEXT_HEIGHT_ADAPTIVE_POLICY: ArkUI_NodeAttributeType =
2989 ArkUI_NodeAttributeType(1019);
2990 /// Defines the indentation of the first line.
2991 /// This attribute can be set, reset, and obtained as required through APIs.
2992 ///
2993 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2994 ///
2995 /// .value[0].f32: indentation of the first line.
2996 ///
2997 ///
2998 ///
2999 /// Format of the return value [`ArkUI_AttributeItem`]:
3000 ///
3001 /// .value[0].f32: indentation of the first line.
3002 pub const NODE_TEXT_INDENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1020);
3003 /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
3004 ///
3005 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3006 ///
3007 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3008 ///
3009 ///
3010 ///
3011 /// Format of the return value [`ArkUI_AttributeItem`]:
3012 ///
3013 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3014 pub const NODE_TEXT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1021);
3015 /// Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs.
3016 ///
3017 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3018 ///
3019 /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3020 ///
3021 ///
3022 ///
3023 /// Format of the return value [`ArkUI_AttributeItem`]:
3024 ///
3025 /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3026 pub const NODE_TEXT_ELLIPSIS_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1022);
3027 /// Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs.
3028 ///
3029 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3030 ///
3031 /// .value[0].f32: line spacing, in fp.
3032 ///
3033 ///
3034 ///
3035 /// Format of the return value [`ArkUI_AttributeItem`]:
3036 ///
3037 /// .value[0].f32: line spacing, in fp.
3038 pub const NODE_TEXT_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1023);
3039 /// Set the text feature effect and the NODE_FONT_FEATURE attribute,
3040 /// NODE_FONT_FEATURE is the advanced typesetting capability of OpenType
3041 /// Features such as ligatures and equal-width digits are generally used in customized fonts.
3042 ///
3043 /// The capabilities need to be supported by the fonts,
3044 ///
3045 /// Interfaces for setting, resetting, and obtaining attributes are supported.
3046 ///
3047 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
3048 ///
3049 /// .string: complies with the text feature format. The format is normal |
3050 ///
3051 /// is in the format of [ | on | off],
3052 /// .
3053 /// There can be multiple values separated by commas (,).
3054 ///
3055 /// For example, the input format of a number with the same width is ss01 on.
3056 ///
3057 ///
3058 ///
3059 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
3060 ///
3061 /// .string indicates the content of the text feature. Multiple text features are separated by commas (,).
3062 pub const NODE_FONT_FEATURE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1024);
3063 /// Setting Enable Text Recognition.
3064 ///
3065 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3066 ///
3067 /// .value[0].i32:Enable text recognition, default value false.
3068 ///
3069 ///
3070 ///
3071 /// Format of the return value [`ArkUI_AttributeItem`]:
3072 ///
3073 /// .value[0].i32:Enable Text Recognition
3074 pub const NODE_TEXT_ENABLE_DATA_DETECTOR: ArkUI_NodeAttributeType =
3075 ArkUI_NodeAttributeType(1025);
3076 /// Set the text recognition configuration.
3077 ///
3078 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3079 ///
3080 /// .value[0...].i32: Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3081 ///
3082 ///
3083 ///
3084 /// Format of the return value [`ArkUI_AttributeItem`]:
3085 ///
3086 /// .value[0...].i32:Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3087 pub const NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG: ArkUI_NodeAttributeType =
3088 ArkUI_NodeAttributeType(1026);
3089 /// Defines the background color of the selected text.
3090 /// This attribute can be set, reset, and obtained as required through APIs.
3091 ///
3092 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3093 ///
3094 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3095 ///
3096 ///
3097 ///
3098 /// Format of the return value [`ArkUI_AttributeItem`]:
3099 ///
3100 /// .value[0].u32: color value, in 0xARGB format.
3101 pub const NODE_TEXT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
3102 ArkUI_NodeAttributeType(1027);
3103 /// The text component uses a formatted string object to set text content properties,
3104 /// and supports property setting, property reset, and property acquisition interfaces.
3105 ///
3106 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3107 ///
3108 /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3109 ///
3110 ///
3111 ///
3112 /// Format of the return value [`ArkUI_AttributeItem`]:
3113 ///
3114 /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3115 pub const NODE_TEXT_CONTENT_WITH_STYLED_STRING: ArkUI_NodeAttributeType =
3116 ArkUI_NodeAttributeType(1028);
3117 /// Sets whether to center text vertically in the text component.
3118 ///
3119 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3120 ///
3121 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
3122 ///
3123 ///
3124 ///
3125 /// Format of the return value [`ArkUI_AttributeItem`]:
3126 ///
3127 /// .value[0].i32: whether to center text vertically.
3128 pub const NODE_TEXT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1029);
3129 /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3130 /// The font weight specified by this API is not affected by any changes in the system font weight settings.
3131 ///
3132 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3133 ///
3134 /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3135 ///
3136 ///
3137 ///
3138 /// Format of the return value [`ArkUI_AttributeItem`]:
3139 ///
3140 /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3141 ///
3142 ///
3143 ///
3144 /// Available since API-level: 15
3145 #[cfg(feature = "api-15")]
3146 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
3147 pub const NODE_IMMUTABLE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1030);
3148 /// Sets whether to optimize the trailing spaces at the end of each line during text layout.
3149 /// This attribute can be set, reset, and obtained as required through APIs.
3150 ///
3151 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3152 ///
3153 /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3154 /// The default value is <b>false</b>.
3155 ///
3156 ///
3157 ///
3158 /// Format of the return value [`ArkUI_AttributeItem`]:
3159 ///
3160 /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3161 ///
3162 ///
3163 ///
3164 /// Available since API-level: 20
3165 #[cfg(feature = "api-20")]
3166 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3167 pub const NODE_TEXT_OPTIMIZE_TRAILING_SPACE: ArkUI_NodeAttributeType =
3168 ArkUI_NodeAttributeType(1032);
3169 /// Defines the text line count attribute, which can only be obtained as required through APIs.
3170 ///
3171 /// Format of the return value [`ArkUI_AttributeItem`]:
3172 ///
3173 /// .value[0].i32: line count of the node.
3174 ///
3175 ///
3176 /// Available since API-level: 20
3177 #[cfg(feature = "api-20")]
3178 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3179 pub const NODE_TEXT_LINE_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1031);
3180 /// Sets a linear gradient effect for text.
3181 /// This attribute can be set, reset, and obtained as required through APIs.
3182 ///
3183 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3184 ///
3185 /// .value[0].f32: start angle of the linear gradient.
3186 /// The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
3187 /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
3188 ///
3189 /// .value[1].i32: direction of the linear gradient. When a direction other than
3190 /// <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored.
3191 /// The parameter type is [`ArkUI_LinearGradientDirection`].
3192 ///
3193 /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
3194 /// .object: array of color stops, each of which consists of a color and its stop position.
3195 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3196 ///
3197 ///
3198 /// colors: colors of the color stops.
3199 ///
3200 /// stops: stop positions of the color stops.
3201 ///
3202 /// size: number of colors.
3203 ///
3204 ///
3205 ///
3206 /// Format of the return value [`ArkUI_AttributeItem`]:
3207 ///
3208 /// .value[0].f32: start angle of the linear gradient.
3209 /// When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value;
3210 /// otherwise, it is at default value.
3211 ///
3212 /// .value[1].i32: direction of the linear gradient.
3213 ///
3214 /// .value[2].i32: whether the colors are repeated.
3215 ///
3216 /// .object: array of color stops, each of which consists of a color and its stop position.
3217 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3218 ///
3219 ///
3220 /// colors: colors of the color stops.
3221 ///
3222 /// stops: stop positions of the color stops.
3223 ///
3224 /// size: number of colors.
3225 ///
3226 ///
3227 ///
3228 /// Available since API-level: 20
3229 #[cfg(feature = "api-20")]
3230 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3231 pub const NODE_TEXT_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1033);
3232 /// Sets a radial gradient effect for text.
3233 /// This attribute can be set, reset, and obtained as required through APIs.
3234 ///
3235 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3236 ///
3237 /// .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3238 ///
3239 /// .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3240 ///
3241 /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
3242 ///
3243 /// .value[3]?.i32: whether the colors are repeated.
3244 /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3245 ///
3246 ///
3247 /// .object: array of color stops, each of which consists of a color and its stop position.
3248 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3249 ///
3250 /// colors: colors of the color stops.
3251 ///
3252 /// stops: stop positions of the color stops.
3253 ///
3254 /// size: number of colors.
3255 ///
3256 ///
3257 ///
3258 /// Format of the return value [`ArkUI_AttributeItem`]:
3259 ///
3260 /// .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3261 ///
3262 /// .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3263 ///
3264 /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
3265 ///
3266 /// .value[3].i32: whether the colors are repeated.
3267 /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3268 ///
3269 /// .object: array of color stops, each of which consists of a color and its stop position.
3270 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3271 ///
3272 /// colors: colors of the color stops.
3273 ///
3274 /// stops: stop positions of the color stops.
3275 ///
3276 /// size: number of colors.
3277 ///
3278 ///
3279 ///
3280 /// Available since API-level: 20
3281 #[cfg(feature = "api-20")]
3282 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3283 pub const NODE_TEXT_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1034);
3284 /// Sets the vertical alignment of the text content.
3285 /// This attribute can be set, reset, and obtained as required through APIs.
3286 ///
3287 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3288 ///
3289 /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3290 /// enum. The default value is <b>ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE</b>.
3291 ///
3292 ///
3293 ///
3294 /// Format of the return value [`ArkUI_AttributeItem`]:
3295 ///
3296 /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3297 /// enum.
3298 ///
3299 ///
3300 ///
3301 /// Available since API-level: 20
3302 #[cfg(feature = "api-20")]
3303 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3304 pub const NODE_TEXT_VERTICAL_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1035);
3305 /// Sets the content align of the text.
3306 /// This attribute can be set, reset, and obtained as required through APIs.
3307 ///
3308 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3309 ///
3310 /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3311 /// enum. The default value is <b>ARKUI_TEXT_CONTENT_ALIGN_CENTER</b>.
3312 ///
3313 ///
3314 ///
3315 /// Format of the return value [`ArkUI_AttributeItem`]:
3316 ///
3317 /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3318 /// enum.
3319 ///
3320 ///
3321 ///
3322 /// Available since API-level: 21
3323 #[cfg(feature = "api-21")]
3324 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3325 pub const NODE_TEXT_CONTENT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1036);
3326 /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3327 ///
3328 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3329 ///
3330 /// .string: content of the text span.
3331 ///
3332 ///
3333 ///
3334 /// Format of the return value [`ArkUI_AttributeItem`]:
3335 ///
3336 /// .string: content of the text span.
3337 pub const NODE_SPAN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2000);
3338 /// Defines the text background style.
3339 /// This attribute can be set, reset, and obtained as required through APIs.
3340 ///
3341 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3342 ///
3343 /// .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red.
3344 ///
3345 /// The second parameter indicates the rounded corners of the text background. Two setting modes are available:
3346 ///
3347 /// 1: .value[1].f32: radius of the four corners, in vp.
3348 ///
3349 /// 2: .value[1].f32: radius of the upper left corner, in vp.
3350 ///
3351 /// .value[2].f32: radius of the upper right corner, in vp.
3352 ///
3353 /// .value[3].f32: radius of the lower left corner, in vp.
3354 ///
3355 /// .value[4].f32: radius of the lower right corner, in vp.
3356 ///
3357 ///
3358 ///
3359 /// Format of the return value [`ArkUI_AttributeItem`]:
3360 ///
3361 /// .value[0].u32: color of the text background, in 0xARGB format.
3362 ///
3363 /// .value[1].f32: radius of the upper left corner, in vp.
3364 ///
3365 /// .value[2].f32: radius of the upper right corner, in vp.
3366 ///
3367 /// .value[3].f32: radius of the lower left corner, in vp.
3368 ///
3369 /// .value[4].f32: radius of the lower right corner, in vp.
3370 pub const NODE_SPAN_TEXT_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
3371 ArkUI_NodeAttributeType(2001);
3372 /// Defines the text baseline offset attribute
3373 /// This attribute can be set, reset, and obtained as required through APIs.
3374 ///
3375 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3376 ///
3377 /// .value[0].f32: baseline offset, in fp.
3378 ///
3379 ///
3380 ///
3381 /// Format of the return value [`ArkUI_AttributeItem`]:
3382 ///
3383 /// .value[0].f32: baseline offset, in fp.
3384 pub const NODE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2002);
3385 /// Defines the image source of the image span.
3386 /// This attribute can be set, reset, and obtained as required through APIs.
3387 ///
3388 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3389 ///
3390 /// .string: image address of the image span.
3391 ///
3392 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3393 ///
3394 ///
3395 ///
3396 /// Format of the return value [`ArkUI_AttributeItem`]:
3397 ///
3398 /// .string: image address of the image span.
3399 ///
3400 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3401 pub const NODE_IMAGE_SPAN_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3000);
3402 /// Defines the alignment mode of the image with the text.
3403 /// This attribute can be set, reset, and obtained as required through APIs.
3404 ///
3405 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3406 ///
3407 /// .value[0].i32: alignment mode of the image with the text.
3408 /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
3409 ///
3410 ///
3411 ///
3412 /// Format of the return value [`ArkUI_AttributeItem`]:
3413 ///
3414 /// .value[0].i32: alignment mode of the image with the text.
3415 /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
3416 pub const NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT: ArkUI_NodeAttributeType =
3417 ArkUI_NodeAttributeType(3001);
3418 /// Defines the placeholder image source.
3419 /// This attribute can be set, reset, and obtained as required through APIs.
3420 ///
3421 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3422 ///
3423 /// .string: placeholder image source.
3424 ///
3425 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3426 ///
3427 ///
3428 ///
3429 /// Format of the return value [`ArkUI_AttributeItem`]:
3430 ///
3431 /// .string: placeholder image source.
3432 ///
3433 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3434 pub const NODE_IMAGE_SPAN_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3002);
3435 /// Defines the baseline offset attribute of the <b>ImageSpan</b> component.
3436 /// This attribute can be set, reset, and obtained as required through APIs.
3437 /// A positive value means an upward offset, while a negative value means a downward offset.
3438 /// The default value is <b>0</b>, and the unit is fp.
3439 ///
3440 ///
3441 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3442 ///
3443 /// .value[0].f32: baseline offset, in fp.
3444 ///
3445 ///
3446 ///
3447 /// Format of the return value [`ArkUI_AttributeItem`]:
3448 ///
3449 /// .value[0].f32: baseline offset, in fp.
3450 ///
3451 ///
3452 ///
3453 /// Available since API-level: 13
3454 #[cfg(feature = "api-13")]
3455 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3456 pub const NODE_IMAGE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType =
3457 ArkUI_NodeAttributeType(3003);
3458 /// Defines the image source of the <Image> component.
3459 /// This attribute can be set, reset, and obtained as required through APIs.
3460 ///
3461 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3462 ///
3463 /// .string: image source.
3464 ///
3465 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3466 ///
3467 ///
3468 ///
3469 /// Format of the return value [`ArkUI_AttributeItem`]:
3470 ///
3471 /// .string: image source.
3472 ///
3473 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3474 pub const NODE_IMAGE_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4000);
3475 /// Defines how the image is resized to fit its container.
3476 /// This attribute can be set, reset, and obtained as required through APIs.
3477 ///
3478 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3479 ///
3480 /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
3481 ///
3482 ///
3483 ///
3484 /// Format of the return value [`ArkUI_AttributeItem`]:
3485 ///
3486 /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
3487 pub const NODE_IMAGE_OBJECT_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4001);
3488 /// Defines the interpolation effect of the image.
3489 /// This attribute can be set, reset, and obtained as required through APIs.
3490 ///
3491 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3492 ///
3493 /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
3494 ///
3495 ///
3496 ///
3497 /// Format of the return value [`ArkUI_AttributeItem`]:
3498 ///
3499 /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
3500 pub const NODE_IMAGE_INTERPOLATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4002);
3501 /// Defines how the image is repeated.
3502 /// This attribute can be set, reset, and obtained as required through APIs.
3503 ///
3504 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3505 ///
3506 /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
3507 ///
3508 ///
3509 ///
3510 /// Format of the return value [`ArkUI_AttributeItem`]:
3511 ///
3512 /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
3513 pub const NODE_IMAGE_OBJECT_REPEAT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4003);
3514 /// Defines the color filter of the image.
3515 /// This attribute can be set, reset, and obtained as required through APIs.
3516 ///
3517 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3518 ///
3519 /// .value[0].f32 to .value[19].f32: filter matrix array.
3520 ///
3521 /// .size: 5 x 4 filter array size.
3522 ///
3523 /// .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set.
3524 ///
3525 ///
3526 ///
3527 /// Format of the return value [`ArkUI_AttributeItem`]:
3528 ///
3529 /// .value[0].f32 to .value[19].f32: filter matrix array.
3530 ///
3531 /// .size: 5 x 4 filter array size.
3532 ///
3533 /// .object: the pointer to OH_Drawing_ColorFilter.
3534 pub const NODE_IMAGE_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4004);
3535 /// Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs.
3536 ///
3537 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3538 ///
3539 /// .value[0].i32 : whether to resize the image source.
3540 ///
3541 ///
3542 ///
3543 /// Format of the return value [`ArkUI_AttributeItem`]:
3544 ///
3545 /// .value[0].i32 : whether to resize the image source.
3546 pub const NODE_IMAGE_AUTO_RESIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4005);
3547 /// Defines the placeholder image source.
3548 /// This attribute can be set, reset, and obtained as required through APIs.
3549 ///
3550 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3551 ///
3552 /// .string: placeholder image source.
3553 ///
3554 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
3555 ///
3556 ///
3557 ///
3558 /// Format of the return value [`ArkUI_AttributeItem`]:
3559 ///
3560 /// .string: placeholder image source.
3561 ///
3562 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
3563 pub const NODE_IMAGE_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4006);
3564 /// Defines whether the image is draggable.
3565 /// This attribute can be set, reset, and obtained as required through APIs.
3566 ///
3567 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3568 ///
3569 /// .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable.
3570 ///
3571 ///
3572 ///
3573 /// Format of the return value [`ArkUI_AttributeItem`]:
3574 ///
3575 /// .value[0].i32: whether the image is draggable.
3576 pub const NODE_IMAGE_DRAGGABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4007);
3577 /// Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs.
3578 ///
3579 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3580 ///
3581 /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
3582 ///
3583 ///
3584 ///
3585 /// Format of the return value [`ArkUI_AttributeItem`]:
3586 ///
3587 /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
3588 pub const NODE_IMAGE_RENDER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4008);
3589 /// Defines whether the image display size follows the image source size.
3590 /// This attribute can be set, reset, and obtained as required through APIs.
3591 ///
3592 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3593 ///
3594 /// .value[0].i32: wheter to follow, true means to follow.
3595 ///
3596 ///
3597 ///
3598 /// Format of the return value [`ArkUI_AttributeItem`]:
3599 ///
3600 /// .value[0].i32: wheter to follow, true means to follow.
3601 pub const NODE_IMAGE_FIT_ORIGINAL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4009);
3602 /// Defines the fill color of the swiper.
3603 /// This attribute can be set, reset, and obtained as required through APIs.
3604 ///
3605 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3606 ///
3607 /// .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3608 ///
3609 ///
3610 ///
3611 /// Format of the return value [`ArkUI_AttributeItem`]:
3612 ///
3613 /// .value[0].u32: fill color, in 0xARGB format.
3614 pub const NODE_IMAGE_FILL_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4010);
3615 /// Sets the resizable image options.
3616 ///
3617 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3618 ///
3619 /// .value[0].f32: width of the left edge. The unit is vp.
3620 ///
3621 /// .value[1].f32: width of the top edge. The unit is vp.
3622 ///
3623 /// .value[2].f32: width of the right edge. The unit is vp.
3624 ///
3625 /// .value[3].f32: width of the bottom edge. The unit is vp.
3626 ///
3627 ///
3628 ///
3629 /// Format of the return value [`ArkUI_AttributeItem`]:
3630 ///
3631 /// .value[0].f32: width of the left edge. The unit is vp.
3632 ///
3633 /// .value[1].f32: width of the top edge. The unit is vp.
3634 ///
3635 /// .value[2].f32: width of the right edge. The unit is vp.
3636 ///
3637 /// .value[3].f32: width of the bottom edge. The unit is vp.
3638 pub const NODE_IMAGE_RESIZABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4011);
3639 /// Defines the synchronous image loading attribute.
3640 /// This attribute can be set, reset, and obtained as required through APIs.
3641 ///
3642 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3643 ///
3644 /// .value[0].i32: whether to load the image synchronously.
3645 ///
3646 ///
3647 ///
3648 /// Format of the return value [`ArkUI_AttributeItem`]:
3649 ///
3650 /// .value[0].i32: whether to load the image synchronously.
3651 ///
3652 ///
3653 ///
3654 /// Available since API-level: 20
3655 #[cfg(feature = "api-20")]
3656 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3657 pub const NODE_IMAGE_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4012);
3658 /// Defines the image decoding size attribute.
3659 /// This attribute can be set, reset, and obtained as required through APIs.
3660 ///
3661 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3662 ///
3663 /// .value[0].i32: width of the image decoding, in px.
3664 ///
3665 /// .value[1].i32: height of the image decoding, in px.
3666 ///
3667 ///
3668 ///
3669 /// Format of the return value [`ArkUI_AttributeItem`]:
3670 ///
3671 /// .value[0].i32: width of the image decoding, in px.
3672 ///
3673 /// .value[1].i32: height of the image decoding, in px.
3674 ///
3675 ///
3676 ///
3677 /// Available since API-level: 21
3678 #[cfg(feature = "api-21")]
3679 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3680 pub const NODE_IMAGE_SOURCE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4013);
3681 /// Defines the display tranformation matrix for an image.
3682 /// This attribute can be set, reset, and obtained as required through APIs.
3683 ///
3684 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3685 ///
3686 /// .value[0...15].f32: 16 floating-point numbers.
3687 ///
3688 ///
3689 ///
3690 /// Format of the return value [`ArkUI_AttributeItem`]:
3691 ///
3692 /// .value[0...15].f32: 16 floating-point numbers.
3693 ///
3694 ///
3695 ///
3696 /// Available since API-level: 21
3697 #[cfg(feature = "api-21")]
3698 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3699 pub const NODE_IMAGE_IMAGE_MATRIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4014);
3700 /// Defines the image follow text direction attribute.
3701 /// This attribute can be set, reset, and obtained as required through APIs.
3702 ///
3703 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3704 ///
3705 /// .value[0].i32: whether to follows the text direction.
3706 ///
3707 ///
3708 ///
3709 /// Format of the return value [`ArkUI_AttributeItem`]:
3710 ///
3711 /// .value[0].i32: whether to follows the text direction.
3712 ///
3713 ///
3714 ///
3715 /// Available since API-level: 21
3716 #[cfg(feature = "api-21")]
3717 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3718 pub const NODE_IMAGE_MATCH_TEXT_DIRECTION: ArkUI_NodeAttributeType =
3719 ArkUI_NodeAttributeType(4015);
3720 /// Defines the image copy attribute.
3721 /// This attribute can be set, reset, and obtained as required through APIs.
3722 ///
3723 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3724 ///
3725 /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
3726 ///
3727 ///
3728 ///
3729 /// Format of the return value [`ArkUI_AttributeItem`]:
3730 ///
3731 /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
3732 #[cfg(feature = "api-21")]
3733 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3734 pub const NODE_IMAGE_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4016);
3735 /// Defines the image AI analysis enable attribute.
3736 /// This attribute can be set, reset, and obtained as required through APIs.
3737 ///
3738 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3739 ///
3740 /// .value[0].i32: whether to enable AI analysis for the image.
3741 ///
3742 ///
3743 ///
3744 /// Format of the return value [`ArkUI_AttributeItem`]:
3745 ///
3746 /// .value[0].i32: whether to enable AI analysis for the image.
3747 ///
3748 ///
3749 ///
3750 /// Available since API-level: 21
3751 #[cfg(feature = "api-21")]
3752 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3753 pub const NODE_IMAGE_ENABLE_ANALYZER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4017);
3754 /// Defines the image dynamic display range attribute.
3755 /// This attribute can be set, reset, and obtained as required through APIs.
3756 ///
3757 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3758 ///
3759 /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode`].
3760 /// The default value is <b>ARKUI_DYNAMIC_RANGE_MODE_STANDARD</b>.
3761 ///
3762 ///
3763 ///
3764 /// Format of the return value [`ArkUI_AttributeItem`]:
3765 ///
3766 /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode.`]
3767 #[cfg(feature = "api-21")]
3768 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3769 pub const NODE_IMAGE_DYNAMIC_RANGE_MODE: ArkUI_NodeAttributeType =
3770 ArkUI_NodeAttributeType(4018);
3771 /// Defines the image dynamic display brightness attribute.
3772 /// This attribute can be set, reset, and obtained as required through APIs.
3773 ///
3774 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3775 ///
3776 /// .value[0].f32: hdr brightness. value range [0, 1]
3777 ///
3778 ///
3779 ///
3780 /// Format of the return value [`ArkUI_AttributeItem`]:
3781 ///
3782 /// .value[0].f32: hdr brightness. value range [0, 1]
3783 ///
3784 ///
3785 ///
3786 /// Available since API-level: 21
3787 #[cfg(feature = "api-21")]
3788 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3789 pub const NODE_IMAGE_HDR_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4019);
3790 /// Defines the image display direction attribute.
3791 /// This attribute can be set, reset, and obtained as required through APIs.
3792 ///
3793 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3794 ///
3795 /// .value[0].i32: orientation [`ArkUI_Orientation`].
3796 /// The default value is <b>ARKUI_ORIENTATION_UP</b>.
3797 ///
3798 ///
3799 ///
3800 /// Format of the return value [`ArkUI_AttributeItem`]:
3801 ///
3802 /// .value[0].i32: orientation [`ArkUI_Orientation.`]
3803 #[cfg(feature = "api-21")]
3804 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3805 pub const NODE_IMAGE_ORIENTATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4020);
3806 /// Set the range of SVG parsing capabilities supported through enable switch.
3807 /// This attribute can be set, reset, and obtained as required through APIs.
3808 ///
3809 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3810 ///
3811 /// .value[0].i32: enable switch.
3812 ///
3813 ///
3814 ///
3815 /// Format of the return value [`ArkUI_AttributeItem`]:
3816 ///
3817 /// .value[0].i32: enable switch.
3818 ///
3819 ///
3820 ///
3821 /// Available since API-level: 21
3822 #[cfg(feature = "api-21")]
3823 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3824 pub const NODE_IMAGE_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4021);
3825 /// Set the animation effect for the image content transformation.
3826 /// This attribute can be set, reset, and obtained as required through APIs.
3827 ///
3828 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3829 ///
3830 /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
3831 ///
3832 ///
3833 /// Format of the return value [`ArkUI_AttributeItem`]:
3834 ///
3835 /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
3836 ///
3837 ///
3838 ///
3839 /// Available since API-level: 21
3840 #[cfg(feature = "api-21")]
3841 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3842 pub const NODE_IMAGE_CONTENT_TRANSITION: ArkUI_NodeAttributeType =
3843 ArkUI_NodeAttributeType(4022);
3844 /// Defines the color of the component when it is selected.
3845 /// This attribute can be set, reset, and obtained as required through APIs.
3846 ///
3847 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3848 ///
3849 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3850 ///
3851 ///
3852 ///
3853 /// Format of the return value [`ArkUI_AttributeItem`]:
3854 ///
3855 /// .value[0].u32: background color, in 0xARGB format.
3856 pub const NODE_TOGGLE_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5000);
3857 /// Defines the color of the circular slider for the component of the switch type.
3858 /// This attribute can be set, reset, and obtained as required through APIs.
3859 ///
3860 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3861 ///
3862 /// .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3863 ///
3864 ///
3865 ///
3866 /// Format of the return value [`ArkUI_AttributeItem`]:
3867 ///
3868 /// .value[0].u32: color of the circular slider, in 0xARGB format.
3869 pub const NODE_TOGGLE_SWITCH_POINT_COLOR: ArkUI_NodeAttributeType =
3870 ArkUI_NodeAttributeType(5001);
3871 /// Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs.
3872 ///
3873 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3874 ///
3875 /// .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle.
3876 ///
3877 ///
3878 ///
3879 /// Format of the return value [`ArkUI_AttributeItem`]:
3880 ///
3881 /// .value[0].i32: whether to enable the toggle.
3882 pub const NODE_TOGGLE_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5002);
3883 /// Defines the color of the component when it is deselected.
3884 /// This attribute can be set, reset, and obtained as required through APIs.
3885 ///
3886 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3887 ///
3888 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3889 ///
3890 ///
3891 ///
3892 /// Format of the return value [`ArkUI_AttributeItem`]:
3893 ///
3894 /// .value[0].u32: background color, in 0xARGB format.
3895 pub const NODE_TOGGLE_UNSELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5003);
3896 /// Defines the foreground color of the loading progress bar.
3897 /// This attribute can be set, reset, and obtained as required through APIs.
3898 ///
3899 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3900 ///
3901 /// .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3902 ///
3903 ///
3904 ///
3905 /// Format of the return value [`ArkUI_AttributeItem`]:
3906 ///
3907 /// .value[0].u32: foreground color, in 0xARGB format.
3908 pub const NODE_LOADING_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6000);
3909 /// Defines whether to show the loading animation for the <LoadingProgress> component.
3910 /// This attribute can be set, reset, and obtained as required through APIs.
3911 ///
3912 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3913 ///
3914 /// .value[0].i32: whether to show the loading animation.
3915 /// The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.
3916 ///
3917 ///
3918 ///
3919 /// Format of the return value [`ArkUI_AttributeItem`]:
3920 ///
3921 /// .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite.
3922 pub const NODE_LOADING_PROGRESS_ENABLE_LOADING: ArkUI_NodeAttributeType =
3923 ArkUI_NodeAttributeType(6001);
3924 /// Defines the default placeholder text of the single-line text box.
3925 /// This attribute can be set, reset, and obtained as required through APIs.
3926 ///
3927 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3928 ///
3929 /// .string: default placeholder text.
3930 ///
3931 ///
3932 ///
3933 /// Format of the return value [`ArkUI_AttributeItem`]:
3934 ///
3935 /// .string: default placeholder text.
3936 pub const NODE_TEXT_INPUT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7000);
3937 /// Defines the default text content of the single-line text box.
3938 /// This attribute can be set, reset, and obtained as required through APIs.
3939 ///
3940 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3941 ///
3942 /// .string: default text content.
3943 ///
3944 ///
3945 ///
3946 /// Format of the return value [`ArkUI_AttributeItem`]:
3947 ///
3948 /// .string: default text content.
3949 pub const NODE_TEXT_INPUT_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7001);
3950 /// Defines the caret color attribute.
3951 /// This attribute can be set, reset, and obtained as required through APIs.
3952 ///
3953 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3954 ///
3955 /// .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3956 ///
3957 ///
3958 ///
3959 /// Format of the return value [`ArkUI_AttributeItem`]:
3960 ///
3961 /// .value[0].u32: caret color, in 0xARGB format.
3962 pub const NODE_TEXT_INPUT_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7002);
3963 /// Defines the caret style attribute.
3964 /// This attribute can be set, reset, and obtained as required through APIs.
3965 ///
3966 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3967 ///
3968 /// .value[0].f32: caret width, in vp.
3969 ///
3970 ///
3971 ///
3972 /// Format of the return value [`ArkUI_AttributeItem`]:
3973 ///
3974 /// .value[0].f32: caret width, in vp.
3975 pub const NODE_TEXT_INPUT_CARET_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7003);
3976 /// Defines the underline attribute of the single-line text box.
3977 /// This attribute can be set, reset, and obtained as required through APIs.
3978 ///
3979 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3980 ///
3981 /// .value[0].i32: whether to show an underline.
3982 /// The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.
3983 ///
3984 ///
3985 ///
3986 /// Format of the return value [`ArkUI_AttributeItem`]:
3987 ///
3988 /// .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite.
3989 pub const NODE_TEXT_INPUT_SHOW_UNDERLINE: ArkUI_NodeAttributeType =
3990 ArkUI_NodeAttributeType(7004);
3991 /// Defines the maximum number of characters in the text input.
3992 /// This attribute can be set, reset, and obtained as required through APIs.
3993 ///
3994 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3995 ///
3996 /// .value[0].i32: maximum number of characters in the text input, without a unit.
3997 ///
3998 ///
3999 ///
4000 /// Format of the return value [`ArkUI_AttributeItem`]:
4001 ///
4002 /// .value[0].i32: maximum number of characters in the text input.
4003 pub const NODE_TEXT_INPUT_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7005);
4004 /// Defines the type of the Enter key.
4005 /// This attribute can be set, reset, and obtained as required through APIs.
4006 ///
4007 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4008 ///
4009 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4010 ///
4011 ///
4012 ///
4013 /// Format of the return value [`ArkUI_AttributeItem`]:
4014 ///
4015 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4016 pub const NODE_TEXT_INPUT_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4017 ArkUI_NodeAttributeType(7006);
4018 /// Defines the placeholder text color.
4019 /// This attribute can be set, reset, and obtained as required through APIs.
4020 ///
4021 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4022 ///
4023 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4024 ///
4025 ///
4026 ///
4027 /// Format of the return value [`ArkUI_AttributeItem`]:
4028 ///
4029 /// .value[0].u32: color value, in 0xARGB format.
4030 pub const NODE_TEXT_INPUT_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4031 ArkUI_NodeAttributeType(7007);
4032 /// Defines the placeholder text font.
4033 /// This attribute can be set, reset, and obtained as required through APIs.
4034 ///
4035 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4036 ///
4037 /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4038 ///
4039 /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional.
4040 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4041 ///
4042 /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional.
4043 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4044 ///
4045 /// ?.string: font family. Multiple font families are separated by commas (,).
4046 /// Example: "font weight; font family 1, font family 2".
4047 ///
4048 ///
4049 ///
4050 /// Format of the return value [`ArkUI_AttributeItem`]:
4051 ///
4052 /// .value[0].f32: font size, in fp.
4053 ///
4054 /// .value[1].i32: font style [`ArkUI_FontStyle`].
4055 ///
4056 /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4057 ///
4058 /// .string: font family. Multiple font families are separated by commas (,).
4059 pub const NODE_TEXT_INPUT_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4060 ArkUI_NodeAttributeType(7008);
4061 /// Defines whether to enable the input method when the component obtains focus.
4062 /// This attribute can be set, reset, and obtained as required through APIs.
4063 ///
4064 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4065 ///
4066 /// .value[0].i32: whether to enable the input method when the component obtains focus.
4067 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4068 ///
4069 ///
4070 ///
4071 ///
4072 /// Format of the return value [`ArkUI_AttributeItem`]:
4073 ///
4074 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4075 /// and <b>0</b> means the opposite.
4076 pub const NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4077 ArkUI_NodeAttributeType(7009);
4078 /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4079 ///
4080 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4081 ///
4082 /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4083 /// The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>.
4084 ///
4085 ///
4086 ///
4087 /// Format of the return value [`ArkUI_AttributeItem`]:
4088 ///
4089 /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4090 pub const NODE_TEXT_INPUT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7010);
4091 /// Defines the background color of the selected text.
4092 /// This attribute can be set, reset, and obtained as required through APIs.
4093 ///
4094 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4095 ///
4096 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4097 ///
4098 ///
4099 ///
4100 /// Format of the return value [`ArkUI_AttributeItem`]:
4101 ///
4102 /// .value[0].u32: color value, in 0xARGB format.
4103 pub const NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4104 ArkUI_NodeAttributeType(7011);
4105 /// Defines whether to display the password icon at the end of the password text box.
4106 /// This attribute can be set, reset, and obtained as required through APIs.
4107 ///
4108 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4109 ///
4110 /// .value[0].i32: whether to display the password icon at the end of the password text box.
4111 /// The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.
4112 ///
4113 ///
4114 ///
4115 /// Format of the return value [`ArkUI_AttributeItem`]:
4116 ///
4117 /// .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box,
4118 /// and <b>0</b> means the opposite.
4119 pub const NODE_TEXT_INPUT_SHOW_PASSWORD_ICON: ArkUI_NodeAttributeType =
4120 ArkUI_NodeAttributeType(7012);
4121 /// Defines the editable state for the single-line text box.
4122 /// This attribute can be set as required through APIs.
4123 ///
4124 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4125 ///
4126 /// .value[0].i32: whether to remain in the editable state. The value
4127 /// <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state.
4128 ///
4129 ///
4130 ///
4131 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4132 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4133 /// state, and <b>false</b> means to exit the editable state.
4134 pub const NODE_TEXT_INPUT_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7013);
4135 /// Defines the style of the cancel button on the right of the single-line text box.
4136 /// This attribute can be set, reset, and obtained as required through APIs.
4137 ///
4138 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4139 ///
4140 /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4141 /// The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.
4142 ///
4143 /// .value[1]?.f32: button icon size, in vp.
4144 ///
4145 /// .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4146 ///
4147 /// ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png.
4148 ///
4149 ///
4150 ///
4151 /// Format of the return value [`ArkUI_AttributeItem`]:
4152 ///
4153 /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4154 ///
4155 /// .value[1].f32: icon size, in vp.
4156 ///
4157 /// .value[2].u32: button icon color, in 0xARGB format.
4158 ///
4159 /// .string: button icon image source.
4160 pub const NODE_TEXT_INPUT_CANCEL_BUTTON: ArkUI_NodeAttributeType =
4161 ArkUI_NodeAttributeType(7014);
4162 /// Sets the text selection area, which will be highlighted.
4163 /// This attribute can be set, reset, and obtained as required through APIs.
4164 ///
4165 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4166 ///
4167 /// .value[0].i32: start position of the text selection.
4168 ///
4169 /// .value[1].i32: end position of the text selection.
4170 ///
4171 ///
4172 ///
4173 /// Format of the return value [`ArkUI_AttributeItem`]:
4174 ///
4175 /// .value[0].i32: start position of the text selection.
4176 ///
4177 /// .value[1].i32: end position of the text selection.
4178 pub const NODE_TEXT_INPUT_TEXT_SELECTION: ArkUI_NodeAttributeType =
4179 ArkUI_NodeAttributeType(7015);
4180 /// Sets the color of the text underline when it is enabled.
4181 ///
4182 /// The default underline color configured for the theme is <b>'0x33182431'</b>.
4183 ///
4184 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4185 ///
4186 /// .value[0].u32: color of the underline applied to the text being typed in.
4187 /// The value is in 0xARGB format.
4188 ///
4189 /// .value[1].u32: color of the underline applied to the text in the normal state.
4190 /// The value is in 0xARGB format.
4191 ///
4192 /// .value[2].u32: color of the underline applied to the text when an error is detected.
4193 /// The value is in 0xARGB format.
4194 ///
4195 /// .value[3].u32: color of the underline applied to the text when it is disabled.
4196 /// The value is in 0xARGB format.
4197 ///
4198 ///
4199 ///
4200 /// Format of the return value [`ArkUI_AttributeItem`]:
4201 ///
4202 /// .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format.
4203 ///
4204 /// .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format.
4205 ///
4206 /// .value[2].u32: color of the underline applied to the text when an error is detected.
4207 /// The value is in 0xARGB format.
4208 ///
4209 /// .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format.
4210 pub const NODE_TEXT_INPUT_UNDERLINE_COLOR: ArkUI_NodeAttributeType =
4211 ArkUI_NodeAttributeType(7016);
4212 /// Sets whether to enable autofill.
4213 ///
4214 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4215 ///
4216 /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4217 ///
4218 ///
4219 ///
4220 /// Format of the return value [`ArkUI_AttributeItem`]:
4221 ///
4222 /// .value[0].i32: whether to enable autofill.
4223 pub const NODE_TEXT_INPUT_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4224 ArkUI_NodeAttributeType(7017);
4225 /// Sets the autofill type.
4226 ///
4227 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4228 ///
4229 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4230 ///
4231 ///
4232 ///
4233 /// Format of the return value [`ArkUI_AttributeItem`]:
4234 ///
4235 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4236 pub const NODE_TEXT_INPUT_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7018);
4237 /// Defines the rules for generating passwords. When autofill is used, these rules are transparently
4238 /// transmitted to Password Vault for generating a new password.
4239 ///
4240 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4241 ///
4242 /// .string: rules for generating passwords.
4243 ///
4244 ///
4245 ///
4246 /// Format of the return value [`ArkUI_AttributeItem`]:
4247 ///
4248 /// .string: rules for generating passwords.
4249 pub const NODE_TEXT_INPUT_PASSWORD_RULES: ArkUI_NodeAttributeType =
4250 ArkUI_NodeAttributeType(7019);
4251 /// Sets whether to select all text in the initial state. The inline mode is not supported.
4252 ///
4253 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4254 ///
4255 /// .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>.
4256 ///
4257 ///
4258 ///
4259 /// Format of the return value [`ArkUI_AttributeItem`]:
4260 ///
4261 /// .value[0].i32: whether to select all text in the initial state.
4262 pub const NODE_TEXT_INPUT_SELECT_ALL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7020);
4263 /// Sets the regular expression for input filtering.
4264 /// Only inputs that comply with the regular expression can be displayed.
4265 /// Other inputs are filtered out. The specified regular expression can match single characters,
4266 /// but not strings.
4267 ///
4268 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4269 ///
4270 /// .string: regular expression.
4271 ///
4272 ///
4273 ///
4274 /// Format of the return value [`ArkUI_AttributeItem`]:
4275 ///
4276 /// .string: regular expression.
4277 pub const NODE_TEXT_INPUT_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7021);
4278 /// Sets the text box to the default style or inline input style.
4279 ///
4280 /// For the inline input style, only <b>InputType.Normal</b> is supported.
4281 ///
4282 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4283 ///
4284 /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
4285 ///
4286 ///
4287 ///
4288 /// Format of the return value [`ArkUI_AttributeItem`]:
4289 ///
4290 /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
4291 pub const NODE_TEXT_INPUT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7022);
4292 /// Sets or obtains the caret position.
4293 ///
4294 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4295 ///
4296 /// In the case of setting the caret position:
4297 /// .value[0].i32: character count from the beginning of a string to the caret position.
4298 ///
4299 ///
4300 /// Format of the return value [`ArkUI_AttributeItem`]:
4301 ///
4302 /// In the case of obtaining the caret position: If this API is called when the caret position is updated in the
4303 /// current frame, it will not take effect.
4304 /// .value[0].i32: index of the caret position.
4305 ///
4306 /// .value[1].f32: X coordinate of the caret relative to the text box.
4307 ///
4308 /// .value[2].f32: Y coordinate of the caret relative to the text box.
4309 pub const NODE_TEXT_INPUT_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7023);
4310 /// Obtains the position of the edited text area relative to the component and its size.
4311 ///
4312 /// Format of the return value [`ArkUI_AttributeItem`]:
4313 ///
4314 /// .value[0].f32: horizontal coordinate.
4315 ///
4316 /// .value[1].f32: vertical coordinate.
4317 ///
4318 /// .value[2].f32: content width.
4319 ///
4320 /// .value[3].f32: content height.
4321 pub const NODE_TEXT_INPUT_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7024);
4322 /// Obtains the number of lines of the edited text.
4323 ///
4324 /// Format of the return value [`ArkUI_AttributeItem`]:
4325 ///
4326 /// .value[0].i32: number of lines of the edited text.
4327 pub const NODE_TEXT_INPUT_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
4328 ArkUI_NodeAttributeType(7025);
4329 /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or
4330 /// right-clicked. This attribute can be set, reset, and obtained as required through APIs.
4331 ///
4332 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4333 ///
4334 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
4335 /// right-clicked. The default value is <b>false</b>.
4336 ///
4337 ///
4338 ///
4339 /// Format of the return value [`ArkUI_AttributeItem`]:
4340 ///
4341 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
4342 /// right-clicked.
4343 pub const NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
4344 ArkUI_NodeAttributeType(7026);
4345 /// Sets whether the text box loses focus after the Enter key is pressed to submit information.
4346 ///
4347 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4348 ///
4349 /// .value[0].i32: whether the text box loses focus.
4350 ///
4351 ///
4352 ///
4353 /// Format of the return value [`ArkUI_AttributeItem`]:
4354 ///
4355 /// .value[0].i32: whether the text box loses focus.
4356 pub const NODE_TEXT_INPUT_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
4357 ArkUI_NodeAttributeType(7027);
4358 /// Set up a custom keyboard.
4359 ///
4360 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4361 ///
4362 /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
4363 ///
4364 /// .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.
4365 ///
4366 ///
4367 ///
4368 /// Format of the return value [`ArkUI_AttributeItem`]:
4369 ///
4370 /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
4371 ///
4372 /// .value[0].i32:Set whether the custom keyboard supports the avoidance function.
4373 pub const NODE_TEXT_INPUT_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
4374 ArkUI_NodeAttributeType(7028);
4375 /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
4376 ///
4377 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4378 ///
4379 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
4380 ///
4381 ///
4382 ///
4383 /// Format of the return value [`ArkUI_AttributeItem`]:
4384 ///
4385 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
4386 pub const NODE_TEXT_INPUT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7029);
4387 /// Sets whether the keyboard pops up when the input box gains focus.
4388 /// It supports property setting, property reset and property acquisition interfaces.
4389 ///
4390 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
4391 ///
4392 /// .value[0].i32: Whether to pop up the keyboard.
4393 ///
4394 ///
4395 ///
4396 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
4397 ///
4398 /// .value[0].i32: Whether to pop up the keyboard.
4399 pub const NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4400 ArkUI_NodeAttributeType(7030);
4401 /// When this property is set, the height of the textInput component is calculated using this property.
4402 ///
4403 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4404 ///
4405 /// .value[0].i32: set the value of numberOfLines.
4406 ///
4407 ///
4408 ///
4409 /// Format of the return value [`ArkUI_AttributeItem`]:
4410 ///
4411 /// .value[0].i32: the value of numberOfLines.
4412 pub const NODE_TEXT_INPUT_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
4413 ArkUI_NodeAttributeType(7031);
4414 /// Sets the letter spacing of the <b>TextInput</b> component.
4415 /// This attribute can be set, reset, and obtained as required through APIs.
4416 ///
4417 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4418 ///
4419 /// .value[0].f32: letter spacing. The default unit is fp.
4420 ///
4421 ///
4422 ///
4423 /// Format of the return value [`ArkUI_AttributeItem`]:
4424 ///
4425 /// .value[0].f32: letter spacing. The default unit is fp.
4426 ///
4427 ///
4428 ///
4429 /// Available since API-level: 15
4430 #[cfg(feature = "api-15")]
4431 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4432 pub const NODE_TEXT_INPUT_LETTER_SPACING: ArkUI_NodeAttributeType =
4433 ArkUI_NodeAttributeType(7032);
4434 /// Sets whether to enable preview text for the <b>TextInput</b> component.
4435 /// This attribute can be set, reset, and obtained as required through APIs.
4436 ///
4437 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4438 ///
4439 /// .value[0].i32: whether to enable preview tex.
4440 ///
4441 ///
4442 ///
4443 /// Format of the return value [`ArkUI_AttributeItem`]:
4444 ///
4445 /// .value[0].i32: whether to enable preview tex.
4446 ///
4447 ///
4448 ///
4449 /// Available since API-level: 15
4450 #[cfg(feature = "api-15")]
4451 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4452 pub const NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
4453 ArkUI_NodeAttributeType(7033);
4454 /// Sets whether to center text vertically in the textInput component.
4455 ///
4456 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4457 ///
4458 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
4459 ///
4460 ///
4461 ///
4462 /// Format of the return value [`ArkUI_AttributeItem`]:
4463 ///
4464 /// .value[0].i32: whether to center text vertically.
4465 ///
4466 ///
4467 ///
4468 /// Available since API-level: 18
4469 #[cfg(feature = "api-18")]
4470 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
4471 pub const NODE_TEXT_INPUT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7034);
4472 /// Set the keyboard style of textInput
4473 ///
4474 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4475 ///
4476 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4477 ///
4478 ///
4479 ///
4480 /// Format of the return value [`ArkUI_AttributeItem`]:
4481 ///
4482 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4483 ///
4484 ///
4485 ///
4486 /// Available since API-level: 15
4487 #[cfg(feature = "api-15")]
4488 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4489 pub const NODE_TEXT_INPUT_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
4490 ArkUI_NodeAttributeType(7035);
4491 /// Set whether to enable the auto fill animation or not.
4492 ///
4493 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4494 ///
4495 /// .value[0].i32: Whether to enable the auto fill animation.
4496 ///
4497 ///
4498 ///
4499 /// Format of the return value [`ArkUI_AttributeItem`]:
4500 ///
4501 /// .value[0].i32: Get the flag of whether the auto fill animation is enabled.
4502 ///
4503 ///
4504 ///
4505 /// Available since API-level: 20
4506 #[cfg(feature = "api-20")]
4507 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4508 pub const NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION: ArkUI_NodeAttributeType =
4509 ArkUI_NodeAttributeType(7036);
4510 /// Set the line height of the input node.
4511 /// This attribute can be set, reset, and obtained as required through APIs.
4512 ///
4513 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4514 ///
4515 /// .value[0].i32: line height value.
4516 ///
4517 ///
4518 /// Format of the return value [`ArkUI_AttributeItem`]:
4519 ///
4520 /// .value[0].i32: line height value
4521 ///
4522 ///
4523 /// Available since API-level: 20
4524 #[cfg(feature = "api-20")]
4525 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4526 pub const NODE_TEXT_INPUT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7037);
4527 /// Defines the default placeholder text for the multi-line text box.
4528 /// This attribute can be set, reset, and obtained as required through APIs.
4529 ///
4530 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4531 ///
4532 /// .string: default placeholder text.
4533 ///
4534 ///
4535 ///
4536 /// Format of the return value [`ArkUI_AttributeItem`]:
4537 ///
4538 /// .string: default placeholder text.
4539 pub const NODE_TEXT_AREA_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8000);
4540 /// Defines the default text content for the multi-line text box.
4541 /// This attribute can be set, reset, and obtained as required through APIs.
4542 ///
4543 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4544 ///
4545 /// .string: default text content.
4546 ///
4547 ///
4548 ///
4549 /// Format of the return value [`ArkUI_AttributeItem`]:
4550 ///
4551 /// .string: default text content.
4552 pub const NODE_TEXT_AREA_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8001);
4553 /// Defines the maximum number of characters in the text input.
4554 /// This attribute can be set, reset, and obtained as required through APIs.
4555 ///
4556 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4557 ///
4558 /// .value[0].i32: maximum number of characters in the text input.
4559 ///
4560 ///
4561 ///
4562 /// Format of the return value [`ArkUI_AttributeItem`]:
4563 ///
4564 /// .value[0].i32: maximum number of characters in the text input.
4565 pub const NODE_TEXT_AREA_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8002);
4566 /// Defines the placeholder text color.
4567 /// This attribute can be set, reset, and obtained as required through APIs.
4568 ///
4569 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4570 ///
4571 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4572 ///
4573 ///
4574 ///
4575 /// Format of the return value [`ArkUI_AttributeItem`]:
4576 ///
4577 /// .value[0].u32: color value, in 0xARGB format.
4578 pub const NODE_TEXT_AREA_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4579 ArkUI_NodeAttributeType(8003);
4580 /// Defines the placeholder text font.
4581 /// This attribute can be set, reset, and obtained as required through APIs.
4582 ///
4583 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4584 ///
4585 /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4586 ///
4587 /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4588 ///
4589 /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4590 ///
4591 /// ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2".
4592 ///
4593 ///
4594 ///
4595 /// Format of the return value [`ArkUI_AttributeItem`]:
4596 ///
4597 /// .value[0].f32: font size, in fp.
4598 ///
4599 /// .value[1].i32: font style [`ArkUI_FontStyle`].
4600 ///
4601 /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4602 ///
4603 /// .string: font family. Multiple font families are separated by commas (,).
4604 pub const NODE_TEXT_AREA_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4605 ArkUI_NodeAttributeType(8004);
4606 /// Defines the caret color attribute.
4607 /// This attribute can be set, reset, and obtained as required through APIs.
4608 ///
4609 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4610 ///
4611 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4612 ///
4613 ///
4614 ///
4615 /// Format of the return value [`ArkUI_AttributeItem`]:
4616 ///
4617 /// .value[0].u32: background color, in 0xARGB format.
4618 pub const NODE_TEXT_AREA_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8005);
4619 /// Defines the editable state for the multi-line text box.
4620 /// This attribute can be set as required through APIs.
4621 ///
4622 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4623 ///
4624 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the
4625 /// editable state, and <b>false</b> means to exit the editable state.
4626 ///
4627 ///
4628 ///
4629 ///
4630 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4631 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4632 /// state, and <b>false</b> means to exit the editable state.
4633 ///
4634 pub const NODE_TEXT_AREA_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8006);
4635 /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4636 ///
4637 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4638 ///
4639 /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
4640 /// The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>.
4641 ///
4642 ///
4643 ///
4644 /// Format of the return value [`ArkUI_AttributeItem`]:
4645 ///
4646 /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
4647 pub const NODE_TEXT_AREA_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8007);
4648 /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
4649 ///
4650 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4651 ///
4652 /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
4653 ///
4654 /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
4655 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
4656 /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
4657 ///
4658 /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
4659 ///
4660 ///
4661 ///
4662 /// Format of the return value [`ArkUI_AttributeItem`]:
4663 ///
4664 /// .value[0].i32: whether to show a character counter.
4665 ///
4666 /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
4667 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
4668 /// by the threshold percentage value. The value range is 1 to 100.
4669 ///
4670 /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
4671 /// The default value is <b>true</b>.
4672 pub const NODE_TEXT_AREA_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8008);
4673 /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click,
4674 /// or right-clicked. This attribute can be set, reset, and obtained as required through APIs.
4675 ///
4676 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4677 ///
4678 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
4679 /// or right-clicked. The default value is <b>false</b>.
4680 ///
4681 ///
4682 ///
4683 /// Format of the return value [`ArkUI_AttributeItem`]:
4684 ///
4685 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
4686 /// or right-clicked.
4687 pub const NODE_TEXT_AREA_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
4688 ArkUI_NodeAttributeType(8009);
4689 /// Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information.
4690 ///
4691 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4692 ///
4693 /// .value[0].i32: whether the text box loses focus.
4694 ///
4695 ///
4696 ///
4697 /// Format of the return value [`ArkUI_AttributeItem`]:
4698 ///
4699 /// .value[0].i32: whether the text box loses focus.
4700 pub const NODE_TEXT_AREA_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
4701 ArkUI_NodeAttributeType(8010);
4702 /// Sets the regular expression for input filtering.
4703 /// Only inputs that comply with the regular expression can be displayed.
4704 /// Other inputs are filtered out. The specified regular expression can match single characters,
4705 /// but not strings.
4706 ///
4707 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4708 ///
4709 /// .string: regular expression.
4710 ///
4711 ///
4712 ///
4713 /// Format of the return value [`ArkUI_AttributeItem`]:
4714 ///
4715 /// .string: regular expression.
4716 pub const NODE_TEXT_AREA_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8011);
4717 /// Defines the background color of the selected text.
4718 /// This attribute can be set, reset, and obtained as required through APIs.
4719 ///
4720 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4721 ///
4722 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4723 ///
4724 ///
4725 ///
4726 /// Format of the return value [`ArkUI_AttributeItem`]:
4727 ///
4728 /// .value[0].u32: color value, in 0xARGB format.
4729 pub const NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4730 ArkUI_NodeAttributeType(8012);
4731 /// Defines the type of the Enter key.
4732 /// This attribute can be set, reset, and obtained as required through APIs.
4733 ///
4734 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4735 ///
4736 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4737 ///
4738 ///
4739 ///
4740 /// Format of the return value [`ArkUI_AttributeItem`]:
4741 ///
4742 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4743 pub const NODE_TEXT_AREA_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4744 ArkUI_NodeAttributeType(8013);
4745 /// Defines whether to enable the input method when the component obtains focus.
4746 /// This attribute can be set, reset, and obtained as required through APIs.
4747 ///
4748 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4749 ///
4750 /// .value[0].i32: whether to enable the input method when the component obtains focus.
4751 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4752 ///
4753 ///
4754 ///
4755 ///
4756 /// Format of the return value [`ArkUI_AttributeItem`]:
4757 ///
4758 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4759 /// and <b>0</b> means the opposite.
4760 pub const NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4761 ArkUI_NodeAttributeType(8014);
4762 /// Defines whether to enable the input method when the component obtains focus.
4763 /// This attribute can be set, reset, and obtained as required through APIs.
4764 ///
4765 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4766 ///
4767 /// .value[0].i32: whether to enable the input method when the component obtains focus.
4768 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4769 ///
4770 ///
4771 ///
4772 ///
4773 /// Format of the return value [`ArkUI_AttributeItem`]:
4774 ///
4775 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4776 /// and <b>0</b> means the opposite.
4777 pub const NODE_TEXT_AREA_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8015);
4778 /// Obtains the position of the edited text area relative to the component and its size.
4779 ///
4780 /// Format of the return value [`ArkUI_AttributeItem`]:
4781 ///
4782 /// .value[0].f32: horizontal coordinate.
4783 ///
4784 /// .value[1].f32: vertical coordinate.
4785 ///
4786 /// .value[2].f32: content width.
4787 ///
4788 /// .value[3].f32: content height.
4789 pub const NODE_TEXT_AREA_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8016);
4790 /// Obtains the number of lines of the edited text.
4791 ///
4792 /// Format of the return value [`ArkUI_AttributeItem`]:
4793 ///
4794 /// .value[0].i32: number of lines of the edited text.
4795 pub const NODE_TEXT_AREA_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
4796 ArkUI_NodeAttributeType(8017);
4797 /// Sets the text selection area, which will be highlighted.
4798 /// This attribute can be set, reset, and obtained as required through APIs.
4799 ///
4800 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4801 ///
4802 /// .value[0].i32: start position of the text selection.
4803 ///
4804 /// .value[1].i32: end position of the text selection.
4805 ///
4806 ///
4807 ///
4808 /// Format of the return value [`ArkUI_AttributeItem`]:
4809 ///
4810 /// .value[0].i32: start position of the text selection.
4811 ///
4812 /// .value[1].i32: end position of the text selection.
4813 pub const NODE_TEXT_AREA_TEXT_SELECTION: ArkUI_NodeAttributeType =
4814 ArkUI_NodeAttributeType(8018);
4815 /// Sets whether to enable autofill.
4816 ///
4817 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4818 ///
4819 /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4820 ///
4821 ///
4822 ///
4823 /// Format of the return value [`ArkUI_AttributeItem`]:
4824 ///
4825 /// .value[0].i32: whether to enable autofill.
4826 pub const NODE_TEXT_AREA_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4827 ArkUI_NodeAttributeType(8019);
4828 /// Sets the autofill type.
4829 ///
4830 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4831 ///
4832 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4833 ///
4834 ///
4835 ///
4836 /// Format of the return value [`ArkUI_AttributeItem`]:
4837 ///
4838 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4839 pub const NODE_TEXT_AREA_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8020);
4840 /// Sets whether the keyboard pops up when the input box gains focus.
4841 /// It supports property setting, property reset and property acquisition interfaces.
4842 ///
4843 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
4844 ///
4845 /// .value[0].i32: Whether to pop up the keyboard.
4846 ///
4847 ///
4848 ///
4849 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
4850 ///
4851 /// .value[0].i32: Whether to pop up the keyboard.
4852 pub const NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4853 ArkUI_NodeAttributeType(8021);
4854 /// When this property is set, the height of the textArea component is calculated using this property.
4855 ///
4856 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4857 ///
4858 /// .value[0].i32: set the value of numberOfLines.
4859 ///
4860 ///
4861 ///
4862 /// Format of the return value [`ArkUI_AttributeItem`]:
4863 ///
4864 /// .value[0].i32: Set the value of numberOfLines
4865 pub const NODE_TEXT_AREA_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
4866 ArkUI_NodeAttributeType(8022);
4867 /// Sets the letter spacing of the <b>TextArea</b> component.
4868 /// This attribute can be set, reset, and obtained as required through APIs.
4869 ///
4870 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4871 ///
4872 /// .value[0].f32: letter spacing. The default unit is fp.
4873 ///
4874 ///
4875 ///
4876 /// Format of the return value [`ArkUI_AttributeItem`]:
4877 ///
4878 /// .value[0].f32: letter spacing. The default unit is fp.
4879 ///
4880 ///
4881 ///
4882 /// Available since API-level: 15
4883 #[cfg(feature = "api-15")]
4884 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4885 pub const NODE_TEXT_AREA_LETTER_SPACING: ArkUI_NodeAttributeType =
4886 ArkUI_NodeAttributeType(8023);
4887 /// Sets whether to enable preview text for the <b>TextArea</b> component.
4888 /// This attribute can be set, reset, and obtained as required through APIs.
4889 ///
4890 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4891 ///
4892 /// .value[0].i32: whether to enable preview tex.
4893 ///
4894 ///
4895 ///
4896 /// Format of the return value [`ArkUI_AttributeItem`]:
4897 ///
4898 /// .value[0].i32: whether to enable preview tex.
4899 ///
4900 ///
4901 ///
4902 /// Available since API-level: 15
4903 #[cfg(feature = "api-15")]
4904 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4905 pub const NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
4906 ArkUI_NodeAttributeType(8024);
4907 /// Sets whether to center text vertically in the textArea component.
4908 ///
4909 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4910 ///
4911 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
4912 ///
4913 ///
4914 ///
4915 /// Format of the return value [`ArkUI_AttributeItem`]:
4916 ///
4917 /// .value[0].i32: whether to center text vertically.
4918 ///
4919 ///
4920 ///
4921 /// Available since API-level: 18
4922 #[cfg(feature = "api-18")]
4923 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
4924 pub const NODE_TEXT_AREA_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8025);
4925 /// Set the keyboard style of textArea
4926 ///
4927 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4928 ///
4929 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4930 ///
4931 ///
4932 ///
4933 /// Format of the return value [`ArkUI_AttributeItem`]:
4934 ///
4935 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
4936 ///
4937 ///
4938 ///
4939 /// Available since API-level: 15
4940 #[cfg(feature = "api-15")]
4941 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
4942 pub const NODE_TEXT_AREA_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
4943 ArkUI_NodeAttributeType(8026);
4944 /// Set the max lines of the node. This attribute can be set, reset, and obtained as required through APIs.
4945 ///
4946 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4947 ///
4948 /// .value[0].i32: max lines count.
4949 ///
4950 ///
4951 /// Format of the return value [`ArkUI_AttributeItem`]:
4952 ///
4953 /// .value[0].i32: max lines count.
4954 ///
4955 ///
4956 ///
4957 /// Available since API-level: 20
4958 #[cfg(feature = "api-20")]
4959 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4960 pub const NODE_TEXT_AREA_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8027);
4961 /// Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs.
4962 ///
4963 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4964 ///
4965 /// .value[0].i32: line spacing value.
4966 ///
4967 ///
4968 ///
4969 /// Format of the return value [`ArkUI_AttributeItem`]:
4970 ///
4971 /// .value[0].i32: line spacing value.
4972 ///
4973 ///
4974 ///
4975 /// Available since API-level: 20
4976 #[cfg(feature = "api-20")]
4977 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4978 pub const NODE_TEXT_AREA_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8028);
4979 /// Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs.
4980 ///
4981 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4982 ///
4983 /// .value[0].i32: min lines count.
4984 ///
4985 ///
4986 /// Format of the return value [`ArkUI_AttributeItem`]:
4987 ///
4988 /// .value[0].i32: min line count.
4989 ///
4990 ///
4991 ///
4992 /// Available since API-level: 20
4993 #[cfg(feature = "api-20")]
4994 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4995 pub const NODE_TEXT_AREA_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8029);
4996 /// Set the max lines of the node with scroll.
4997 /// This attribute can be set, reset, and obtained as required through APIs.
4998 ///
4999 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5000 ///
5001 /// .value[0].i32: max lines count with scroll.
5002 ///
5003 ///
5004 /// Format of the return value [`ArkUI_AttributeItem`]:
5005 ///
5006 /// .value[0].i32: max line count with scroll.
5007 ///
5008 ///
5009 ///
5010 /// Available since API-level: 20
5011 #[cfg(feature = "api-20")]
5012 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5013 pub const NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL: ArkUI_NodeAttributeType =
5014 ArkUI_NodeAttributeType(8030);
5015 /// Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs.
5016 ///
5017 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5018 ///
5019 /// .value[0].i32: line height value.
5020 ///
5021 ///
5022 /// Format of the return value [`ArkUI_AttributeItem`]:
5023 ///
5024 /// .value[0].i32: line height value
5025 ///
5026 ///
5027 /// Available since API-level: 20
5028 #[cfg(feature = "api-20")]
5029 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5030 pub const NODE_TEXT_AREA_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8031);
5031 /// Defines the button text content. This attribute can be set, reset, and obtained as required through APIs.
5032 ///
5033 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5034 ///
5035 /// .string: default text content.
5036 ///
5037 ///
5038 ///
5039 /// Format of the return value [`ArkUI_AttributeItem`]:
5040 ///
5041 /// .string: default text content.
5042 pub const NODE_BUTTON_LABEL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9000);
5043 /// Sets the button type. This attribute can be set, reset, and obtained as required through APIs.
5044 ///
5045 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5046 ///
5047 /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
5048 /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
5049 ///
5050 ///
5051 ///
5052 /// Format of the return value [`ArkUI_AttributeItem`]:
5053 ///
5054 /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
5055 /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
5056 pub const NODE_BUTTON_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9001);
5057 /// Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs.
5058 ///
5059 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5060 ///
5061 /// .value[0].f32: minimum font scale, in fp.
5062 ///
5063 ///
5064 /// Format of the return value [`ArkUI_AttributeItem`]:
5065 ///
5066 /// .value[0].f32: minimum font scale, in fp.
5067 ///
5068 ///
5069 /// Available since API-level: 18
5070 #[cfg(feature = "api-18")]
5071 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5072 pub const NODE_BUTTON_MIN_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9002);
5073 /// Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs.
5074 ///
5075 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5076 ///
5077 /// .value[0].f32: maximum font scale, in fp.
5078 ///
5079 ///
5080 /// Format of the return value [`ArkUI_AttributeItem`]:
5081 ///
5082 /// .value[0].f32: maximum font scale, in fp.
5083 ///
5084 ///
5085 /// Available since API-level: 18
5086 #[cfg(feature = "api-18")]
5087 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5088 pub const NODE_BUTTON_MAX_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9003);
5089 /// Defines the current value of the progress indicator.
5090 /// This attribute can be set, reset, and obtained as required through APIs.
5091 ///
5092 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5093 ///
5094 /// .value[0].f32: current value of the progress indicator.
5095 ///
5096 ///
5097 ///
5098 /// Format of the return value [`ArkUI_AttributeItem`]:
5099 ///
5100 /// .value[0].f32: current value of the progress indicator.
5101 pub const NODE_PROGRESS_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10000);
5102 /// Defines the total value of the progress indicator.
5103 /// This attribute can be set, reset, and obtained as required through APIs.
5104 ///
5105 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5106 ///
5107 /// .value[0].f32: total value of the progress indicator.
5108 ///
5109 ///
5110 ///
5111 /// Format of the return value [`ArkUI_AttributeItem`]:
5112 ///
5113 /// .value[0].f32: total value of the progress indicator.
5114 pub const NODE_PROGRESS_TOTAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10001);
5115 /// Defines the color for the progress value on the progress indicator.
5116 /// This attribute can be set, reset, and obtained as required through APIs.
5117 ///
5118 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5119 ///
5120 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5121 ///
5122 ///
5123 ///
5124 /// Format of the return value [`ArkUI_AttributeItem`]:
5125 ///
5126 /// .value[0].u32: color value, in 0xARGB format.
5127 pub const NODE_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10002);
5128 /// Defines the type of the progress indicator.
5129 /// This attribute can be set, reset, and obtained as required through APIs.
5130 ///
5131 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5132 ///
5133 /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
5134 /// The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>.
5135 ///
5136 ///
5137 ///
5138 /// Format of the return value [`ArkUI_AttributeItem`]:
5139 ///
5140 /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
5141 pub const NODE_PROGRESS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10003);
5142 /// Sets the style of the linear progress indicator.
5143 /// This attribute can be set, reset, and obtained as required through APIs.
5144 /// If the progress indicator type is not linear, it will not take effect.
5145 ///
5146 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5147 ///
5148 /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to set the style.
5149 ///
5150 ///
5151 ///
5152 /// Format of the return value [`ArkUI_AttributeItem`]:
5153 ///
5154 /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to get the style.
5155 ///
5156 ///
5157 ///
5158 /// Available since API-level: 15
5159 #[cfg(feature = "api-15")]
5160 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5161 pub const NODE_PROGRESS_LINEAR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10004);
5162 /// Defines whether the check box is selected.
5163 /// This attribute can be set, reset, and obtained as required through APIs.
5164 ///
5165 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5166 ///
5167 /// .value[0].i32: whether the check box is selected.
5168 /// The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
5169 ///
5170 ///
5171 ///
5172 /// Format of the return value [`ArkUI_AttributeItem`]:
5173 ///
5174 /// .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
5175 pub const NODE_CHECKBOX_SELECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11000);
5176 /// Defines the color of the check box when it is selected.
5177 /// This attribute can be set, reset, and obtained as required through APIs.
5178 ///
5179 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5180 ///
5181 /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5182 ///
5183 ///
5184 ///
5185 /// Format of the return value [`ArkUI_AttributeItem`]:
5186 ///
5187 /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5188 pub const NODE_CHECKBOX_SELECT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11001);
5189 /// Defines the border color of the check box when it is not selected.
5190 /// This attribute can be set, reset, and obtained as required through APIs.
5191 ///
5192 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5193 ///
5194 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5195 ///
5196 ///
5197 ///
5198 /// Format of the return value [`ArkUI_AttributeItem`]:
5199 ///
5200 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5201 pub const NODE_CHECKBOX_UNSELECT_COLOR: ArkUI_NodeAttributeType =
5202 ArkUI_NodeAttributeType(11002);
5203 /// Defines the internal icon style of the check box.
5204 /// This attribute can be set, reset, and obtained as required through APIs.
5205 ///
5206 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5207 ///
5208 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5209 ///
5210 /// .value[1]?.f32: size of the internal mark, in vp. Optional.
5211 ///
5212 /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
5213 ///
5214 ///
5215 ///
5216 /// Format of the return value [`ArkUI_AttributeItem`]:
5217 ///
5218 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
5219 ///
5220 /// .value[1].f32: size of the internal mark, in vp.
5221 ///
5222 /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
5223 pub const NODE_CHECKBOX_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11003);
5224 /// Defines the shape of the check box.
5225 /// This attribute can be set, reset, and obtained as required through APIs.
5226 ///
5227 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5228 ///
5229 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
5230 ///
5231 ///
5232 ///
5233 /// Format of the return value [`ArkUI_AttributeItem`]:
5234 ///
5235 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
5236 pub const NODE_CHECKBOX_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11004);
5237 /// Defines the name of the checkbox.
5238 /// This attribute can be set, reset, and obtained as required through APIs.
5239 ///
5240 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5241 ///
5242 /// .string: component name.
5243 ///
5244 ///
5245 ///
5246 /// Format of the return value [`ArkUI_AttributeItem`]:
5247 ///
5248 /// .string: component name.
5249 ///
5250 ///
5251 ///
5252 /// Available since API-level: 15
5253 #[cfg(feature = "api-15")]
5254 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5255 pub const NODE_CHECKBOX_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11005);
5256 /// Defines the name of the checkbox.
5257 /// This attribute can be set, reset, and obtained as required through APIs.
5258 ///
5259 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5260 ///
5261 /// .string: component name.
5262 ///
5263 ///
5264 ///
5265 /// Format of the return value [`ArkUI_AttributeItem`]:
5266 ///
5267 /// .string: component name.
5268 ///
5269 ///
5270 ///
5271 /// Available since API-level: 15
5272 #[cfg(feature = "api-15")]
5273 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5274 pub const NODE_CHECKBOX_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11006);
5275 /// Defines the ID of the <b><XComponent></b> component.
5276 /// This attribute can be set and obtained as required through APIs.
5277 ///
5278 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5279 ///
5280 /// .string: component ID.
5281 ///
5282 ///
5283 ///
5284 /// Format of the return value [`ArkUI_AttributeItem`]:
5285 ///
5286 /// .string: component ID.
5287 pub const NODE_XCOMPONENT_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12000);
5288 /// Specifies the type of the <b>XComponent</b> component. This attribute is read-only.
5289 ///
5290 /// The type of the <b>XComponent</b> component must be explicitly set during creation using [`ARKUI_NODE_XCOMPONENT`] or [`ARKUI_NODE_XCOMPONENT_TEXTURE`], and cannot be modified afterward.
5291 ///
5292 /// Attempting to change the type through [`setAttribute`] will cause rendering exceptions.
5293 ///
5294 /// Format of the return value [`ArkUI_AttributeItem`]:
5295 ///
5296 /// .value[0].i32: type [`ArkUI_XComponentType`].
5297 pub const NODE_XCOMPONENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12001);
5298 /// Specifies the size of the <b>XComponent</b> component. This attribute is read-only.
5299 ///
5300 /// Attempting to modify the size through [`setAttribute`] will have no effect.
5301 ///
5302 /// Format of the return value [`ArkUI_AttributeItem`]:
5303 ///
5304 /// .value[0].u32: width, in px.
5305 ///
5306 /// .value[1].u32: height, in px.
5307 pub const NODE_XCOMPONENT_SURFACE_SIZE: ArkUI_NodeAttributeType =
5308 ArkUI_NodeAttributeType(12002);
5309 /// Defines the rectangle information of surface created by the <b><XComponent></b> component.
5310 /// This attribute can be set and obtained as required through APIs.
5311 ///
5312 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5313 ///
5314 /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
5315 ///
5316 /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
5317 ///
5318 /// .value[2].i32: The width of the surface created by XComponent, in pixels.
5319 ///
5320 /// .value[3].i32: The height of the surface created by XComponent, in pixels.
5321 ///
5322 ///
5323 ///
5324 /// Format of the return value [`ArkUI_AttributeItem`]:
5325 ///
5326 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5327 ///
5328 /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
5329 ///
5330 /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
5331 ///
5332 /// .value[2].i32: The width of the surface created by XComponent, in pixels.
5333 ///
5334 /// .value[3].i32: The height of the surface created by XComponent, in pixels.
5335 ///
5336 ///
5337 /// Available since API-level: 18
5338 #[cfg(feature = "api-18")]
5339 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5340 pub const NODE_XCOMPONENT_SURFACE_RECT: ArkUI_NodeAttributeType =
5341 ArkUI_NodeAttributeType(12003);
5342 /// Defines whether to enable the AI analyzer for the <b><XComponent></b> component.
5343 /// This attribute can be set and obtained as required through APIs.
5344 ///
5345 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5346 ///
5347 /// value[0].i32: The parameter type is 1 or 0.
5348 ///
5349 ///
5350 /// Format of the return value [`ArkUI_AttributeItem`]:
5351 ///
5352 /// value[0].i32: The parameter type is 1 or 0.
5353 ///
5354 /// Available since API-level: 18
5355 #[cfg(feature = "api-18")]
5356 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5357 pub const NODE_XCOMPONENT_ENABLE_ANALYZER: ArkUI_NodeAttributeType =
5358 ArkUI_NodeAttributeType(12004);
5359 /// Defines whether to display the lunar calendar in the date picker.
5360 /// This attribute can be set, reset, and obtained as required through APIs.
5361 ///
5362 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5363 ///
5364 /// .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>.
5365 ///
5366 ///
5367 ///
5368 /// Format of the return value [`ArkUI_AttributeItem`]:
5369 ///
5370 /// .value[0].i32: whether to display the lunar calendar in the date picker.
5371 pub const NODE_DATE_PICKER_LUNAR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13000);
5372 /// Defines the start date of the date picker.
5373 /// This attribute can be set, reset, and obtained as required through APIs.
5374 ///
5375 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5376 ///
5377 /// .string: date. The default value is <b>"1970-1-1"</b>.
5378 ///
5379 ///
5380 ///
5381 /// Format of the return value [`ArkUI_AttributeItem`]:
5382 ///
5383 /// .string: date.
5384 pub const NODE_DATE_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13001);
5385 /// Defines the end date of the date picker.
5386 /// This attribute can be set, reset, and obtained as required through APIs.
5387 ///
5388 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5389 ///
5390 /// .string: date. The default value is <b>"2100-12-31"</b>.
5391 ///
5392 ///
5393 ///
5394 /// Format of the return value [`ArkUI_AttributeItem`]:
5395 ///
5396 /// .string: date.
5397 pub const NODE_DATE_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13002);
5398 /// Defines the selected date of the date picker.
5399 /// This attribute can be set, reset, and obtained as required through APIs.
5400 ///
5401 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5402 ///
5403 /// .string: date. The default value is <b>"2024-01-22"</b>.
5404 ///
5405 ///
5406 ///
5407 /// Format of the return value [`ArkUI_AttributeItem`]:
5408 ///
5409 /// .string: date.
5410 pub const NODE_DATE_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13003);
5411 /// Defines the font color, font size, and font weight for the top and bottom items in the date picker.
5412 /// This attribute can be set, reset, and obtained as required through APIs.
5413 ///
5414 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5415 ///
5416 /// .string: array of five parameters of the string type, separated by semicolons (;).
5417 ///
5418 /// Parameter 1: font color, in #ARGB format.
5419 ///
5420 /// Parameter 2: font size, in fp. The value is a number.
5421 ///
5422 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5423 /// .
5424 /// Parameter 4: fonts, separated by commas (,).
5425 ///
5426 /// Parameter 5: font style. Available options are ("normal", "italic").
5427 ///
5428 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5429 ///
5430 ///
5431 ///
5432 /// Format of the return value [`ArkUI_AttributeItem`]:
5433 ///
5434 /// .string: array of five parameters of the string type, separated by semicolons (;).
5435 ///
5436 /// Parameter 1: font color, in #ARGB format.
5437 ///
5438 /// Parameter 2: font size, in fp. The value is a number.
5439 ///
5440 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5441 /// .
5442 /// Parameter 4: fonts, separated by commas (,).
5443 ///
5444 /// Parameter 5: font style. Available options are ("normal", "italic").
5445 ///
5446 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5447 pub const NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5448 ArkUI_NodeAttributeType(13004);
5449 /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected
5450 /// items in the date picker. This attribute can be set, reset, and obtained as required through APIs.
5451 ///
5452 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5453 ///
5454 /// .string: array of five parameters of the string type, separated by semicolons (;).
5455 ///
5456 /// Parameter 1: font color, in #ARGB format.
5457 ///
5458 /// Parameter 2: font size, in fp. The value is a number.
5459 ///
5460 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5461 /// .
5462 /// Parameter 4: fonts, separated by commas (,).
5463 ///
5464 /// Parameter 5: font style. Available options are ("normal", "italic").
5465 ///
5466 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5467 ///
5468 ///
5469 ///
5470 /// Format of the return value [`ArkUI_AttributeItem`]:
5471 ///
5472 /// .string: array of five parameters of the string type, separated by semicolons (;).
5473 ///
5474 /// Parameter 1: font color, in #ARGB format.
5475 ///
5476 /// Parameter 2: font size, in fp. The value is a number.
5477 ///
5478 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5479 /// .
5480 /// Parameter 4: fonts, separated by commas (,).
5481 ///
5482 /// Parameter 5: font style. Available options are ("normal", "italic").
5483 ///
5484 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5485 pub const NODE_DATE_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13005);
5486 /// Defines the font color, font size, and font weight of the selected item in the date picker.
5487 /// This attribute can be set, reset, and obtained as required through APIs.
5488 ///
5489 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5490 ///
5491 /// .string: array of five parameters of the string type, separated by semicolons (;).
5492 ///
5493 /// Parameter 1: font color, in #ARGB format.
5494 ///
5495 /// Parameter 2: font size, in fp. The value is a number.
5496 ///
5497 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5498 /// .
5499 /// Parameter 4: fonts, separated by commas (,).
5500 ///
5501 /// Parameter 5: font style. Available options are ("normal", "italic").
5502 ///
5503 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5504 ///
5505 ///
5506 ///
5507 /// Format of the return value [`ArkUI_AttributeItem`]:
5508 ///
5509 /// .string: array of five parameters of the string type, separated by semicolons (;).
5510 ///
5511 /// Parameter 1: font color, in #ARGB format.
5512 ///
5513 /// Parameter 2: font size, in fp. The value is a number.
5514 ///
5515 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5516 /// .
5517 /// Parameter 4: fonts, separated by commas (,).
5518 ///
5519 /// Parameter 5: font style. Available options are ("normal", "italic").
5520 ///
5521 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5522 pub const NODE_DATE_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5523 ArkUI_NodeAttributeType(13006);
5524 /// Defines the mode of the date picker.
5525 /// This attribute can be set, reset, and obtained as required through APIs.
5526 ///
5527 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5528 ///
5529 /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
5530 /// .
5531 ///
5532 ///
5533 /// Format of the return value [`ArkUI_AttributeItem`]:
5534 ///
5535 /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
5536 /// .
5537 ///
5538 ///
5539 /// Available since API-level: 18
5540 #[cfg(feature = "api-18")]
5541 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5542 pub const NODE_DATE_PICKER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13007);
5543 /// Defines whether haptic feedback.
5544 /// This attribute can be set, reset, and obtained as required through APIs.
5545 ///
5546 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5547 ///
5548 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
5549 /// <b>false</b> means the opposite.
5550 ///
5551 ///
5552 ///
5553 /// Format of the return value [`ArkUI_AttributeItem`]:
5554 ///
5555 /// value[0].i32: whether to feedback.
5556 ///
5557 ///
5558 ///
5559 /// Available since API-level: 18
5560 #[cfg(feature = "api-18")]
5561 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5562 pub const NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
5563 ArkUI_NodeAttributeType(13008);
5564 /// Defines whether to support scroll looping for the date picker.
5565 /// This attribute can be set, reset, and obtained as required through APIs.
5566 ///
5567 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5568 ///
5569 /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
5570 /// <b>false</b> means the opposite.
5571 ///
5572 ///
5573 ///
5574 /// Format of the return value [`ArkUI_AttributeItem`]:
5575 ///
5576 /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
5577 ///
5578 ///
5579 ///
5580 /// Available since API-level: 20
5581 #[cfg(feature = "api-20")]
5582 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5583 pub const NODE_DATE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13009);
5584 /// Defines the time of the selected item. in the timer picker.
5585 /// This attribute can be set, reset, and obtained as required through APIs.
5586 ///
5587 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5588 ///
5589 /// .string: time. The default value is the current system time.
5590 ///
5591 ///
5592 ///
5593 /// Format of the return value [`ArkUI_AttributeItem`]:
5594 ///
5595 /// .string: time.
5596 pub const NODE_TIME_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14000);
5597 /// Defines whether the display time is in 24-hour format.
5598 /// This attribute can be set, reset, and obtained as required through APIs.
5599 ///
5600 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5601 ///
5602 /// .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>.
5603 ///
5604 ///
5605 ///
5606 /// Format of the return value [`ArkUI_AttributeItem`]:
5607 ///
5608 /// .value[0].i32: whether the display time is in 24-hour format.
5609 pub const NODE_TIME_PICKER_USE_MILITARY_TIME: ArkUI_NodeAttributeType =
5610 ArkUI_NodeAttributeType(14001);
5611 /// Defines the font color, font size, and font weight for the top and bottom items in the time picker.
5612 /// This attribute can be set, reset, and obtained as required through APIs.
5613 ///
5614 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5615 ///
5616 /// .string: array of five parameters of the string type, separated by semicolons (;).
5617 ///
5618 /// Parameter 1: font color, in #ARGB format.
5619 ///
5620 /// Parameter 2: font size, in fp. The value is a number.
5621 ///
5622 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5623 /// .
5624 /// Parameter 4: fonts, separated by commas (,).
5625 ///
5626 /// Parameter 5: font style. Available options are ("normal", "italic").
5627 ///
5628 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5629 ///
5630 ///
5631 ///
5632 /// Format of the return value [`ArkUI_AttributeItem`]:
5633 ///
5634 /// .string: array of five parameters of the string type, separated by semicolons (;).
5635 ///
5636 /// Parameter 1: font color, in #ARGB format.
5637 ///
5638 /// Parameter 2: font size, in fp. The value is a number.
5639 ///
5640 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5641 /// .
5642 /// Parameter 4: fonts, separated by commas (,).
5643 ///
5644 /// Parameter 5: font style. Available options are ("normal", "italic").
5645 ///
5646 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5647 pub const NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5648 ArkUI_NodeAttributeType(14002);
5649 /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected items
5650 /// in the time picker. This attribute can be set, reset, and obtained as required through APIs.
5651 ///
5652 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5653 ///
5654 /// .string: array of five parameters of the string type, separated by semicolons (;).
5655 ///
5656 /// Parameter 1: font color, in #ARGB format.
5657 ///
5658 /// Parameter 2: font size, in fp. The value is a number.
5659 ///
5660 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5661 /// .
5662 /// Parameter 4: fonts, separated by commas (,).
5663 ///
5664 /// Parameter 5: font style. Available options are ("normal", "italic").
5665 ///
5666 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5667 ///
5668 ///
5669 ///
5670 /// Format of the return value [`ArkUI_AttributeItem`]:
5671 ///
5672 /// .string: array of five parameters of the string type, separated by semicolons (;).
5673 ///
5674 /// Parameter 1: font color, in #ARGB format.
5675 ///
5676 /// Parameter 2: font size, in fp. The value is a number.
5677 ///
5678 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5679 /// .
5680 /// Parameter 4: fonts, separated by commas (,).
5681 ///
5682 /// Parameter 5: font style. Available options are ("normal", "italic").
5683 ///
5684 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5685 pub const NODE_TIME_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14003);
5686 /// Defines the font color, font size, and font weight of the selected item in the time picker.
5687 /// This attribute can be set, reset, and obtained as required through APIs.
5688 ///
5689 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5690 ///
5691 /// .string: array of five parameters of the string type, separated by semicolons (;).
5692 ///
5693 /// Parameter 1: font color, in #ARGB format.
5694 ///
5695 /// Parameter 2: font size, in fp. The value is a number.
5696 ///
5697 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5698 /// .
5699 /// Parameter 4: fonts, separated by commas (,).
5700 ///
5701 /// Parameter 5: font style. Available options are ("normal", "italic").
5702 ///
5703 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5704 ///
5705 ///
5706 ///
5707 /// Format of the return value [`ArkUI_AttributeItem`]:
5708 ///
5709 /// .string: array of five parameters of the string type, separated by semicolons (;).
5710 ///
5711 /// Parameter 1: font color, in #ARGB format.
5712 ///
5713 /// Parameter 2: font size, in fp. The value is a number.
5714 ///
5715 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5716 /// .
5717 /// Parameter 4: fonts, separated by commas (,).
5718 ///
5719 /// Parameter 5: font style. Available options are ("normal", "italic").
5720 ///
5721 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5722 pub const NODE_TIME_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5723 ArkUI_NodeAttributeType(14004);
5724 /// Defines the start time of the time picker.
5725 /// This attribute can be set, reset, and obtained as required through APIs.
5726 ///
5727 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5728 ///
5729 /// .string: time. The default value is <b>"00:00:00"</b>.
5730 ///
5731 ///
5732 ///
5733 /// Format of the return value [`ArkUI_AttributeItem`]:
5734 ///
5735 /// .string: time. The default value is <b>"00:00:00"</b>.
5736 ///
5737 ///
5738 ///
5739 /// Available since API-level: 18
5740 #[cfg(feature = "api-18")]
5741 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5742 pub const NODE_TIME_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14005);
5743 /// Defines the end time of the time picker.
5744 /// This attribute can be set, reset, and obtained as required through APIs.
5745 ///
5746 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5747 ///
5748 /// .string: time. The default value is <b>"23:59:59"</b>.
5749 ///
5750 ///
5751 ///
5752 /// Format of the return value [`ArkUI_AttributeItem`]:
5753 ///
5754 /// .string: time. The default value is <b>"23:59:59"</b>.
5755 ///
5756 ///
5757 ///
5758 /// Available since API-level: 18
5759 #[cfg(feature = "api-18")]
5760 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5761 pub const NODE_TIME_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14006);
5762 /// Defines whether the AM/PM option is cascaded with the time in 12-hour mode.
5763 /// This attribute can be set, reset, and obtained as required through APIs.
5764 ///
5765 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5766 ///
5767 /// .value[0].i32: whether to enable cascade. The default value is <b>false</b>.
5768 ///
5769 ///
5770 ///
5771 /// Format of the return value [`ArkUI_AttributeItem`]:
5772 ///
5773 /// .value[0].i32: whether to enable cascade.
5774 ///
5775 ///
5776 ///
5777 /// Available since API-level: 18
5778 #[cfg(feature = "api-18")]
5779 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5780 pub const NODE_TIME_PICKER_ENABLE_CASCADE: ArkUI_NodeAttributeType =
5781 ArkUI_NodeAttributeType(14007);
5782 /// Defines the data selection range of the text picker.
5783 /// This attribute can be set, reset, and obtained as required through APIs.
5784 ///
5785 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5786 ///
5787 /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
5788 /// The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>.
5789 ///
5790 /// ?.string: string input, whose format varies by picker type.
5791 ///
5792 /// 1: single-column picker. The input format is a group of strings separated by semicolons (;).
5793 ///
5794 /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
5795 /// semicolons (;), and strings within each pair are separated by commas (,).
5796 ///
5797 /// ?.object: Object input, whose format varies by picker type.
5798 ///
5799 /// 1: single-column picker with image support. The input structure is [`ARKUI_TextPickerRangeContent`].
5800 ///
5801 /// 2: multi-column interconnected picker. The input structure is [`ARKUI_TextPickerCascadeRangeContent`].
5802 ///
5803 ///
5804 ///
5805 /// Format of the return value [`ArkUI_AttributeItem`]:
5806 ///
5807 /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
5808 ///
5809 /// ?.string: string output, whose format varies by picker type.
5810 ///
5811 /// 1: single-column picker. The output format is a group of strings separated by semicolons (;).
5812 ///
5813 /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
5814 /// semicolons (;), and strings within each pair are separated by commas (,).
5815 ///
5816 /// ?.string: Object output, whose format varies by picker type.
5817 ///
5818 /// 1: single-column picker with image support. The output structure is [`ARKUI_TextPickerRangeContent`].
5819 ///
5820 /// 2: multi-column interconnected picker. The output structure is [`ARKUI_TextPickerCascadeRangeContent`].
5821 pub const NODE_TEXT_PICKER_OPTION_RANGE: ArkUI_NodeAttributeType =
5822 ArkUI_NodeAttributeType(15000);
5823 /// Defines the index of the default selected item in the data selection range of the text picker.
5824 /// This attribute can be set, reset, and obtained as required through APIs.
5825 ///
5826 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5827 ///
5828 /// .value[0].u32: index. If there are multiple index values, add them one by one.
5829 ///
5830 ///
5831 ///
5832 /// Format of the return value [`ArkUI_AttributeItem`]:
5833 ///
5834 /// .value[0].u32: index. If there are multiple index values, add them one by one.
5835 pub const NODE_TEXT_PICKER_OPTION_SELECTED: ArkUI_NodeAttributeType =
5836 ArkUI_NodeAttributeType(15001);
5837 /// Defines the value of the default selected item in the text picker.
5838 /// This attribute can be set, reset, and obtained as required through APIs.
5839 ///
5840 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5841 ///
5842 /// .string: value of the selected item. If there are multiple values, add them one by one and
5843 /// separate them with semicolons (;).
5844 ///
5845 ///
5846 ///
5847 /// Format of the return value [`ArkUI_AttributeItem`]:
5848 ///
5849 /// .string: value of the selected item. If there are multiple values, add them one by one and
5850 /// separate them with semicolons (;).
5851 pub const NODE_TEXT_PICKER_OPTION_VALUE: ArkUI_NodeAttributeType =
5852 ArkUI_NodeAttributeType(15002);
5853 /// Defines the font color, font size, and font weight for the top and bottom items in the text picker.
5854 /// This attribute can be set, reset, and obtained as required through APIs.
5855 ///
5856 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5857 ///
5858 /// .string: array of five parameters of the string type, separated by semicolons (;).
5859 ///
5860 /// Parameter 1: font color, in #ARGB format.
5861 ///
5862 /// Parameter 2: font size, in fp. The value is a number.
5863 ///
5864 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5865 /// .
5866 /// Parameter 4: fonts, separated by commas (,).
5867 ///
5868 /// Parameter 5: font style. Available options are ("normal", "italic").
5869 ///
5870 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5871 ///
5872 ///
5873 ///
5874 /// Format of the return value [`ArkUI_AttributeItem`]:
5875 ///
5876 /// .string: array of five parameters of the string type, separated by semicolons (;).
5877 ///
5878 /// Parameter 1: font color, in #ARGB format.
5879 ///
5880 /// Parameter 2: font size, in fp. The value is a number.
5881 ///
5882 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5883 /// .
5884 /// Parameter 4: fonts, separated by commas (,).
5885 ///
5886 /// Parameter 5: font style. Available options are ("normal", "italic").
5887 ///
5888 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5889 pub const NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
5890 ArkUI_NodeAttributeType(15003);
5891 /// Defines the font color, font size, and font weight for all items except the top, bottom, and selected
5892 /// items in the text picker. This attribute can be set, reset, and obtained as required through APIs.
5893 ///
5894 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5895 ///
5896 /// .string: array of five parameters of the string type, separated by semicolons (;).
5897 ///
5898 /// Parameter 1: font color, in #ARGB format.
5899 ///
5900 /// Parameter 2: font size, in fp. The value is a number.
5901 ///
5902 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5903 /// .
5904 /// Parameter 4: fonts, separated by commas (,).
5905 ///
5906 /// Parameter 5: font style. Available options are ("normal", "italic").
5907 ///
5908 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5909 ///
5910 ///
5911 ///
5912 /// Format of the return value [`ArkUI_AttributeItem`]:
5913 ///
5914 /// .string: array of five parameters of the string type, separated by semicolons (;).
5915 ///
5916 /// Parameter 1: font color, in #ARGB format.
5917 ///
5918 /// Parameter 2: font size, in fp. The value is a number.
5919 ///
5920 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5921 /// .
5922 /// Parameter 4: fonts, separated by commas (,).
5923 ///
5924 /// Parameter 5: font style. Available options are ("normal", "italic").
5925 ///
5926 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5927 pub const NODE_TEXT_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15004);
5928 /// Defines the font color, font size, and font weight for the selected item in the text picker.
5929 /// This attribute can be set, reset, and obtained as required through APIs.
5930 ///
5931 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5932 ///
5933 /// .string: array of five parameters of the string type, separated by semicolons (;).
5934 ///
5935 /// Parameter 1: font color, in #ARGB format.
5936 ///
5937 /// Parameter 2: font size, in fp. The value is a number.
5938 ///
5939 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5940 /// .
5941 /// Parameter 4: fonts, separated by commas (,).
5942 ///
5943 /// Parameter 5: font style. Available options are ("normal", "italic").
5944 ///
5945 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5946 ///
5947 ///
5948 ///
5949 /// Format of the return value [`ArkUI_AttributeItem`]:
5950 ///
5951 /// .string: array of five parameters of the string type, separated by semicolons (;).
5952 ///
5953 /// Parameter 1: font color, in #ARGB format.
5954 ///
5955 /// Parameter 2: font size, in fp. The value is a number.
5956 ///
5957 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
5958 /// .
5959 /// Parameter 4: fonts, separated by commas (,).
5960 ///
5961 /// Parameter 5: font style. Available options are ("normal", "italic").
5962 ///
5963 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
5964 pub const NODE_TEXT_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
5965 ArkUI_NodeAttributeType(15005);
5966 /// Defines the index of the default selected item in the data selection range of the text picker.
5967 /// This attribute can be set, reset, and obtained as required through APIs.
5968 ///
5969 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5970 ///
5971 /// .value[0...].i32: index of the default item in the data selection range.
5972 pub const NODE_TEXT_PICKER_SELECTED_INDEX: ArkUI_NodeAttributeType =
5973 ArkUI_NodeAttributeType(15006);
5974 /// Defines whether to support scroll looping for the text picker.
5975 /// This attribute can be set, reset, and obtained as required through APIs.
5976 ///
5977 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5978 ///
5979 /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
5980 /// <b>false</b> means the opposite.
5981 ///
5982 ///
5983 ///
5984 ///
5985 /// Format of the return value [`ArkUI_AttributeItem`]:
5986 ///
5987 /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
5988 pub const NODE_TEXT_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15007);
5989 /// Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required
5990 /// through APIs.
5991 ///
5992 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5993 ///
5994 /// .value[0].f32: item height, in vp.
5995 ///
5996 ///
5997 ///
5998 /// Format of the return value [`ArkUI_AttributeItem`]:
5999 ///
6000 /// value[0].f32: item height, in vp.
6001 pub const NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT: ArkUI_NodeAttributeType =
6002 ArkUI_NodeAttributeType(15008);
6003 /// Defines whether haptic feedback.
6004 /// This attribute can be set, reset, and obtained as required through APIs.
6005 ///
6006 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6007 ///
6008 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6009 /// <b>false</b> means the opposite.
6010 ///
6011 ///
6012 ///
6013 /// Format of the return value [`ArkUI_AttributeItem`]:
6014 ///
6015 /// value[0].i32: whether to feedback.
6016 ///
6017 ///
6018 ///
6019 /// Available since API-level: 18
6020 #[cfg(feature = "api-18")]
6021 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6022 pub const NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6023 ArkUI_NodeAttributeType(15010);
6024 /// Defines the background color and border radius of the selected items.
6025 /// This attribute can be set, reset, and obtained as required through APIs.
6026 ///
6027 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6028 ///
6029 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6030 ///
6031 /// 1: .value[1].f32: radius of the four corners.
6032 ///
6033 /// 2: .value[1].f32: radius of the upper left corner.
6034 ///
6035 /// .value[2].f32: radius of the upper right corner.
6036 ///
6037 /// .value[3].f32: radius of the lower left corner.
6038 ///
6039 /// .value[4].f32: radius of the lower right corner.
6040 ///
6041 ///
6042 ///
6043 /// Format of the return value [`ArkUI_AttributeItem`]:
6044 ///
6045 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6046 /// *
6047 /// .value[1].f32: radius of the upper left corner.
6048 ///
6049 /// .value[2].f32: radius of the upper right corner.
6050 ///
6051 /// .value[3].f32: radius of the lower left corner.
6052 ///
6053 /// .value[4].f32: radius of the lower right corner.
6054 ///
6055 ///
6056 ///
6057 /// Available since API-level: 20
6058 #[cfg(feature = "api-20")]
6059 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6060 pub const NODE_TEXT_PICKER_SELECTED_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
6061 ArkUI_NodeAttributeType(15011);
6062 /// Defines the style of the background in the selected state of the calendar picker.
6063 /// This attribute can be set, reset, and obtained as required through APIs.
6064 ///
6065 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6066 ///
6067 /// .value[0].f32: style of the background in the selected state of the calendar picker.
6068 /// The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners.
6069 /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to
6070 /// or greater than 16, the background is a circle.
6071 ///
6072 ///
6073 ///
6074 /// Format of the return value [`ArkUI_AttributeItem`]:
6075 ///
6076 /// .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞).
6077 /// If the value is <b>0</b>, the background is a rectangle with square corners.
6078 /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or
6079 /// greater than 16, the background is a circle.
6080 pub const NODE_CALENDAR_PICKER_HINT_RADIUS: ArkUI_NodeAttributeType =
6081 ArkUI_NodeAttributeType(16000);
6082 /// Defines the date of the selected item in the calendar picker.
6083 /// This attribute can be set, reset, and obtained as required through APIs.
6084 ///
6085 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6086 ///
6087 /// .value[0].u32: year of the selected date.
6088 ///
6089 /// .value[1].u32: month of the selected date.
6090 ///
6091 /// .value[2].u32: day of the selected date.
6092 ///
6093 ///
6094 ///
6095 /// Format of the return value [`ArkUI_AttributeItem`]:
6096 ///
6097 /// .value[0].u32: year of the selected date.
6098 ///
6099 /// .value[1].u32: month of the selected date.
6100 ///
6101 /// .value[2].u32: day of the selected date.
6102 pub const NODE_CALENDAR_PICKER_SELECTED_DATE: ArkUI_NodeAttributeType =
6103 ArkUI_NodeAttributeType(16001);
6104 /// Defines how the calendar picker is aligned with the entry component.
6105 /// This attribute can be set, reset, and obtained as required through APIs.
6106 ///
6107 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6108 ///
6109 /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
6110 ///
6111 /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
6112 /// the specified alignment mode.
6113 ///
6114 /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
6115 /// the specified alignment mode.
6116 ///
6117 ///
6118 ///
6119 /// Format of the return value [`ArkUI_AttributeItem`]:
6120 ///
6121 /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
6122 ///
6123 /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
6124 /// the specified alignment mode.
6125 ///
6126 /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
6127 /// the specified alignment mode.
6128 pub const NODE_CALENDAR_PICKER_EDGE_ALIGNMENT: ArkUI_NodeAttributeType =
6129 ArkUI_NodeAttributeType(16002);
6130 /// Defines the font color, font size, and font weight in the entry area of the calendar picker.
6131 ///
6132 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6133 ///
6134 /// .value[0]?.u32: font color of the entry area.
6135 ///
6136 /// .value[1]?.f32: font size of the entry area, in fp.
6137 ///
6138 /// .value[2]?.i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
6139 ///
6140 ///
6141 ///
6142 /// Format of the return value [`ArkUI_AttributeItem`]:
6143 ///
6144 /// .value[0].u32: font color of the entry area.
6145 ///
6146 /// .value[1].f32: font size of the entry area, in fp.
6147 ///
6148 /// .value[2].i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
6149 pub const NODE_CALENDAR_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType =
6150 ArkUI_NodeAttributeType(16003);
6151 /// Defines the start date of the calendar picker.
6152 /// This attribute can be set, reset, and obtained as required through APIs.
6153 ///
6154 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6155 ///
6156 /// .string: date. The value like <b>"1970-1-1"</b>.
6157 ///
6158 ///
6159 ///
6160 /// Format of the return value [`ArkUI_AttributeItem`]:
6161 ///
6162 /// .string: date.
6163 ///
6164 ///
6165 ///
6166 /// Available since API-level: 18
6167 #[cfg(feature = "api-18")]
6168 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6169 pub const NODE_CALENDAR_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16004);
6170 /// Defines the end date of the calendar picker.
6171 /// This attribute can be set, reset, and obtained as required through APIs.
6172 ///
6173 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6174 ///
6175 /// .string: date. The value like <b>"2100-12-31"</b>.
6176 ///
6177 ///
6178 ///
6179 /// Format of the return value [`ArkUI_AttributeItem`]:
6180 ///
6181 /// .string: date.
6182 ///
6183 ///
6184 ///
6185 /// Available since API-level: 18
6186 #[cfg(feature = "api-18")]
6187 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6188 pub const NODE_CALENDAR_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16005);
6189 /// Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs.
6190 ///
6191 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6192 ///
6193 /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6194 ///
6195 ///
6196 /// Format of the return value [`ArkUI_AttributeItem`]:
6197 ///
6198 /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6199 pub const NODE_SLIDER_BLOCK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17000);
6200 /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
6201 /// through APIs.
6202 ///
6203 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6204 ///
6205 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6206 ///
6207 ///
6208 ///
6209 /// Format of the return value [`ArkUI_AttributeItem`]:
6210 ///
6211 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6212 pub const NODE_SLIDER_TRACK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17001);
6213 /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
6214 /// as required through APIs.
6215 ///
6216 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6217 ///
6218 /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6219 ///
6220 ///
6221 ///
6222 /// Format of the return value [`ArkUI_AttributeItem`]:
6223 ///
6224 /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6225 pub const NODE_SLIDER_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17002);
6226 /// Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required
6227 /// through APIs.
6228 ///
6229 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6230 ///
6231 /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
6232 /// and <b>0</b> (default value) means the opposite.
6233 ///
6234 ///
6235 ///
6236 /// Format of the return value [`ArkUI_AttributeItem`]:
6237 ///
6238 /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
6239 /// and <b>0</b> (default value) means the opposite.
6240 pub const NODE_SLIDER_SHOW_STEPS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17003);
6241 /// Defines the slider shape, which can be set, reset, and obtained as required through APIs.
6242 ///
6243 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6244 ///
6245 /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
6246 ///
6247 /// .string?: depending on the shape. Optional.
6248 ///
6249 /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
6250 ///
6251 /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
6252 ///
6253 /// There are five types:
6254 ///
6255 /// 1. Rectangle:
6256 ///
6257 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6258 /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
6259 ///
6260 /// .value[2].f32: width of the rectangle.
6261 ///
6262 /// .value[3].f32: height of the rectangle.
6263 ///
6264 /// .value[4].f32: width of the rounded corner of the rectangle.
6265 ///
6266 /// .value[5].f32: height of the rounded corner of the rectangle.
6267 ///
6268 /// 2. Circle:
6269 ///
6270 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6271 /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
6272 ///
6273 /// .value[2].f32: width of the circle.
6274 ///
6275 /// .value[3].f32: height of the circle.
6276 ///
6277 /// 3.Ellipse:
6278 ///
6279 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6280 /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
6281 ///
6282 /// .value[2].f32: width of the ellipse.
6283 ///
6284 /// .value[3].f32: height of the ellipse;
6285 ///
6286 /// 4. Path:
6287 ///
6288 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6289 /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
6290 ///
6291 /// .value[2].f32: width of the path.
6292 ///
6293 /// .value[3].f32: height of the path.
6294 ///
6295 /// .string: command for drawing the path.
6296 ///
6297 ///
6298 ///
6299 /// Format of the return value [`ArkUI_AttributeItem`]:
6300 ///
6301 /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
6302 ///
6303 /// .string?: depending on the shape. Optional.
6304 ///
6305 /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
6306 ///
6307 /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
6308 ///
6309 /// There are five types:
6310 ///
6311 /// 1. Rectangle:
6312 ///
6313 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6314 /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
6315 ///
6316 /// .value[2].f32: width of the rectangle.
6317 ///
6318 /// .value[3].f32: height of the rectangle.
6319 ///
6320 /// .value[4].f32: width of the rounded corner of the rectangle.
6321 ///
6322 /// .value[5].f32: height of the rounded corner of the rectangle.
6323 ///
6324 /// 2. Circle:
6325 ///
6326 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6327 /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
6328 ///
6329 /// .value[2].f32: width of the circle.
6330 ///
6331 /// .value[3].f32: height of the circle.
6332 ///
6333 /// 3.Ellipse:
6334 ///
6335 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6336 /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
6337 ///
6338 /// .value[2].f32: width of the ellipse.
6339 ///
6340 /// .value[3].f32: height of the ellipse;
6341 ///
6342 /// 4. Path:
6343 ///
6344 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
6345 /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
6346 ///
6347 /// .value[2].f32: width of the path.
6348 ///
6349 /// .value[3].f32: height of the path.
6350 ///
6351 /// .string: command for drawing the path.
6352 pub const NODE_SLIDER_BLOCK_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17004);
6353 /// Defines the current value of the slider. This attribute can be set, reset, and obtained as required
6354 /// through APIs.
6355 ///
6356 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6357 ///
6358 /// .value[0].f32: current value.
6359 ///
6360 ///
6361 ///
6362 /// Format of the return value [`ArkUI_AttributeItem`]:
6363 ///
6364 /// .value[0].f32: current value.
6365 pub const NODE_SLIDER_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17005);
6366 /// Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required
6367 /// through APIs.
6368 ///
6369 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6370 ///
6371 /// .value[0].f32: minimum value.
6372 ///
6373 ///
6374 ///
6375 /// Format of the return value [`ArkUI_AttributeItem`]:
6376 ///
6377 /// .value[0].f32: minimum value.
6378 pub const NODE_SLIDER_MIN_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17006);
6379 /// Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required
6380 /// through APIs.
6381 ///
6382 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6383 ///
6384 /// .value[0].f32: maximum value.
6385 ///
6386 ///
6387 ///
6388 /// Format of the return value [`ArkUI_AttributeItem`]:
6389 ///
6390 /// .value[0].f32: maximum value.
6391 pub const NODE_SLIDER_MAX_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17007);
6392 /// Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs.
6393 ///
6394 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6395 ///
6396 /// .value[0].f32: step. The value range is [0.01, 100].
6397 ///
6398 ///
6399 ///
6400 /// Format of the return value [`ArkUI_AttributeItem`]:
6401 ///
6402 /// .value[0].f32: step. The value range is [0.01, 100].
6403 pub const NODE_SLIDER_STEP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17008);
6404 /// Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and
6405 /// obtained as required through APIs.
6406 ///
6407 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6408 ///
6409 /// .value[0].i32: whether the slider moves horizontally or vertically.
6410 /// The parameter type is [`ArkUI_SliderDirection`].
6411 ///
6412 ///
6413 ///
6414 /// Format of the return value [`ArkUI_AttributeItem`]:
6415 ///
6416 /// .value[0].i32: whether the slider moves horizontally or vertically.
6417 pub const NODE_SLIDER_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17009);
6418 /// Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required
6419 /// through APIs.
6420 ///
6421 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6422 ///
6423 /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
6424 /// reversed, and <b>0</b> means the opposite.
6425 ///
6426 ///
6427 ///
6428 /// Format of the return value [`ArkUI_AttributeItem`]:
6429 ///
6430 /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
6431 /// reversed, and <b>0</b> means the opposite.
6432 pub const NODE_SLIDER_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17010);
6433 /// Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained
6434 /// as required through APIs.
6435 ///
6436 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6437 ///
6438 /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
6439 ///
6440 ///
6441 ///
6442 /// Format of the return value [`ArkUI_AttributeItem`]:
6443 ///
6444 /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
6445 pub const NODE_SLIDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17011);
6446 /// Sets the track thickness of the slider.
6447 /// This attribute can be set, reset, and obtained as required through APIs.
6448 ///
6449 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6450 ///
6451 /// .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b>
6452 /// is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to
6453 /// <b>ARKUI_SLIDER_STYLE_IN_SET</b>.
6454 ///
6455 ///
6456 ///
6457 /// Format of the return value [`ArkUI_AttributeItem`]:
6458 ///
6459 /// .value[0].f32: track thickness of the slider, in vp.
6460 pub const NODE_SLIDER_TRACK_THICKNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17012);
6461 /// Defines whether haptic feedback.
6462 /// This attribute can be set, reset, and obtained as required through APIs.
6463 ///
6464 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6465 ///
6466 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6467 /// <b>false</b> means the opposite.
6468 ///
6469 ///
6470 ///
6471 /// Format of the return value [`ArkUI_AttributeItem`]:
6472 ///
6473 /// value[0].i32: whether to feedback.
6474 ///
6475 /// When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the
6476 /// requestPermissions field of the module.json5 file to enable vibration permission.
6477 ///
6478 ///
6479 ///
6480 /// Available since API-level: 18
6481 #[cfg(feature = "api-18")]
6482 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6483 pub const NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6484 ArkUI_NodeAttributeType(17013);
6485 /// Sets a custom component on the leading side of the Slider component.
6486 ///
6487 /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
6488 ///
6489 /// .object: Parameter type [`ArkUI_NodeHandle`].
6490 ///
6491 /// The prefix component will be placed at the start position of the Slider,
6492 /// typically on the left side in LTR layouts.
6493 ///
6494 ///
6495 /// Available since API-level: 20
6496 #[cfg(feature = "api-20")]
6497 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6498 pub const NODE_SLIDER_PREFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17014);
6499 /// Sets a custom component on the trailing side of the Slider component.
6500 ///
6501 /// Attribute setting method [`link`] parameter format:
6502 ///
6503 /// .object: Parameter type [`ArkUI_NodeHandle`].
6504 ///
6505 /// The suffix component will be placed at the end position of the Slider,
6506 /// typically on the right side in LTR layouts.
6507 ///
6508 ///
6509 /// Available since API-level: 20
6510 #[cfg(feature = "api-20")]
6511 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6512 pub const NODE_SLIDER_SUFFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17015);
6513 /// Defines the color of the slider block. This attribute can be set, reset, and obtained as required through APIs.
6514 ///
6515 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6516 ///
6517 /// .object: array of color stops, each of which consists of a color and its stop position.
6518 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6519 ///
6520 ///
6521 /// colors: colors of the color stops.
6522 ///
6523 /// stops: stop positions of the color stops.
6524 ///
6525 /// size: number of colors.
6526 ///
6527 ///
6528 ///
6529 /// Format of the return value [`ArkUI_AttributeItem`]:
6530 ///
6531 /// .object: array of color stops, each of which consists of a color and its stop position.
6532 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6533 ///
6534 ///
6535 /// colors: colors of the color stops.
6536 ///
6537 /// stops: stop positions of the color stops.
6538 ///
6539 /// size: number of colors.
6540 ///
6541 ///
6542 ///
6543 /// Available since API-level: 21
6544 #[cfg(feature = "api-21")]
6545 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6546 pub const NODE_SLIDER_BLOCK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6547 ArkUI_NodeAttributeType(17016);
6548 /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
6549 /// through APIs.
6550 ///
6551 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6552 ///
6553 /// .object: array of color stops, each of which consists of a color and its stop position.
6554 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6555 ///
6556 ///
6557 /// colors: colors of the color stops.
6558 ///
6559 /// stops: stop positions of the color stops.
6560 ///
6561 /// size: number of colors.
6562 ///
6563 ///
6564 ///
6565 /// Format of the return value [`ArkUI_AttributeItem`]:
6566 ///
6567 /// .object: array of color stops, each of which consists of a color and its stop position.
6568 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6569 ///
6570 ///
6571 /// colors: colors of the color stops.
6572 ///
6573 /// stops: stop positions of the color stops.
6574 ///
6575 /// size: number of colors.
6576 ///
6577 ///
6578 ///
6579 /// Available since API-level: 21
6580 #[cfg(feature = "api-21")]
6581 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6582 pub const NODE_SLIDER_TRACK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6583 ArkUI_NodeAttributeType(17017);
6584 /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
6585 /// as required through APIs.
6586 ///
6587 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6588 ///
6589 /// .object: array of color stops, each of which consists of a color and its stop position.
6590 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6591 ///
6592 ///
6593 /// colors: colors of the color stops.
6594 ///
6595 /// stops: stop positions of the color stops.
6596 ///
6597 /// size: number of colors.
6598 ///
6599 ///
6600 ///
6601 /// Format of the return value [`ArkUI_AttributeItem`]:
6602 ///
6603 /// .object: array of color stops, each of which consists of a color and its stop position.
6604 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
6605 ///
6606 ///
6607 /// colors: colors of the color stops.
6608 ///
6609 /// stops: stop positions of the color stops.
6610 ///
6611 /// size: number of colors.
6612 ///
6613 ///
6614 ///
6615 /// Available since API-level: 21
6616 #[cfg(feature = "api-21")]
6617 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
6618 pub const NODE_SLIDER_SELECTED_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
6619 ArkUI_NodeAttributeType(17018);
6620 /// Set the selection status of an option button. Attribute setting,
6621 /// attribute resetting, and attribute obtaining are supported.
6622 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6623 ///
6624 /// .value[0].i32: check status of an option button. The default value is false.
6625 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6626 ///
6627 /// .value[0].i32: selection status of an option button.
6628 pub const NODE_RADIO_CHECKED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18000);
6629 /// Set the styles of the selected and deselected states of the option button.
6630 /// The attribute setting, attribute resetting, and attribute obtaining are supported.
6631 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6632 ///
6633 /// .value[0]?. u32: color of the mother board in enabled state.
6634 ///
6635 /// The type is 0xARGB, and the default value is 0xFF007DFF.
6636 ///
6637 /// .value[1]?. u32: stroke color in the close state. The type is 0xARGB,
6638 ///
6639 /// and the default value is 0xFF182431.
6640 ///
6641 /// .value[2]?. u32: color of the internal round pie in the enabled state.
6642 ///
6643 /// The type is 0xARGB, and the default value is 0xFFFFFFFF.
6644 ///
6645 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6646 ///
6647 /// .value[0]. u32: color of the mother board in enabled state.
6648 ///
6649 /// The type is 0xARGB, and the default value is 0xFF007DFF.
6650 ///
6651 /// .value[1]. u32: stroke color in the close state. The type is 0xARGB,
6652 ///
6653 /// and the default value is 0xFF182431.
6654 ///
6655 /// .value[2]. u32: color of the internal round pie in the enabled state.
6656 ///
6657 /// The type is 0xARGB, and the default value is 0xFFFFFFF.
6658 pub const NODE_RADIO_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18001);
6659 /// Sets the value of the current radio.
6660 /// This attribute can be set, reset, and obtained as required through APIs.
6661 ///
6662 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6663 ///
6664 /// .string: radio value.
6665 ///
6666 ///
6667 ///
6668 /// Format of the return value [`ArkUI_AttributeItem`]:
6669 ///
6670 /// .string: radio value.
6671 pub const NODE_RADIO_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18002);
6672 /// Set the group name of the current Radio group, only one radio of the same group can be selected.
6673 /// This attribute can be set, reset, and obtained as required through APIs.
6674 ///
6675 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6676 ///
6677 /// .string: name of the group to which the current option box belongs.
6678 ///
6679 ///
6680 ///
6681 /// Format of the return value [`ArkUI_AttributeItem`]:
6682 ///
6683 /// .string: name of the group to which the current option box belongs.
6684 pub const NODE_RADIO_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18003);
6685 /// Set the image frames for the image animator. Dynamic updates is not supported.
6686 /// This attribute can be set, reset, and obtained as required through APIs.
6687 ///
6688 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6689 ///
6690 /// .size: number of the images.
6691 ///
6692 /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
6693 ///
6694 ///
6695 ///
6696 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6697 ///
6698 /// .size: number of the images.
6699 ///
6700 /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
6701 pub const NODE_IMAGE_ANIMATOR_IMAGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19000);
6702 /// Set the playback status of the animation for the image animator.
6703 /// This attribute can be set, reset, and obtained as required through APIs.
6704 ///
6705 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6706 ///
6707 /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`],
6708 /// and the default value is ARKUI_ANIMATION_STATUS_INITIAL.
6709 ///
6710 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6711 ///
6712 /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`].
6713 pub const NODE_IMAGE_ANIMATOR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19001);
6714 /// Set the playback duration for the image animator. When the duration is 0, no image is played.
6715 /// The value change takes effect only at the beginning of the next cycle.
6716 /// When a separate duration is set in images, the setting of this attribute is invalid.
6717 /// This attribute can be set, reset, and obtained as required through APIs.
6718 ///
6719 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6720 ///
6721 /// .value[0].i32: the playback duration, the unit is ms and the default value is 1000.
6722 ///
6723 ///
6724 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6725 ///
6726 /// .value[0].i32: the playback duration, the unit is ms.
6727 pub const NODE_IMAGE_ANIMATOR_DURATION: ArkUI_NodeAttributeType =
6728 ArkUI_NodeAttributeType(19002);
6729 /// Set the playback direction for the image animator.
6730 /// This attribute can be set, reset, and obtained as required through APIs.
6731 ///
6732 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6733 ///
6734 /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
6735 /// and 1 indicates that images are played from the last one to the first one.
6736 ///
6737 ///
6738 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6739 ///
6740 /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
6741 /// and 1 indicates that images are played from the last one to the first one.
6742 pub const NODE_IMAGE_ANIMATOR_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19003);
6743 /// Set whether the image size is the same as the component size.
6744 /// This attribute can be set, reset, and obtained as required through APIs.
6745 ///
6746 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6747 ///
6748 /// .value[0].i32: whether the image size is the same as the component size.
6749 /// 1 indicates the image size is the same as the component size.
6750 /// In this case, the width, height, top, and left attributes of the image are invalid.
6751 /// 0 indicates the image size is customized.
6752 /// The width, height, top, and left attributes of each image must be set separately.
6753 ///
6754 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6755 ///
6756 /// .value[0].i32: whether the image size is the same as the component size.
6757 /// 1 indicates the image size is the same as the component size.
6758 /// 0 indicates the image size is customized.
6759 pub const NODE_IMAGE_ANIMATOR_FIXED_SIZE: ArkUI_NodeAttributeType =
6760 ArkUI_NodeAttributeType(19004);
6761 /// Set the status before and after execution of the animation in the current playback direction.
6762 /// This attribute can be set, reset, and obtained as required through APIs.
6763 ///
6764 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6765 ///
6766 /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
6767 /// the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.
6768 ///
6769 ///
6770 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
6771 ///
6772 /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
6773 /// the type is {ArkUI_AnimationFillMode}.
6774 pub const NODE_IMAGE_ANIMATOR_FILL_MODE: ArkUI_NodeAttributeType =
6775 ArkUI_NodeAttributeType(19005);
6776 /// Set the number of times that the animation is played.
6777 /// This attribute can be set, reset, and obtained as required through APIs.
6778 ///
6779 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6780 ///
6781 /// .value[0].i32: the number of times that the animation is played.
6782 ///
6783 ///
6784 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
6785 ///
6786 /// .value[0].i32: the number of times that the animation is played.
6787 pub const NODE_IMAGE_ANIMATOR_ITERATION: ArkUI_NodeAttributeType =
6788 ArkUI_NodeAttributeType(19006);
6789 /// Defines the name of the checkboxgroup.
6790 /// This attribute can be set, reset, and obtained as required through APIs.
6791 ///
6792 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6793 ///
6794 /// .string: component name.
6795 ///
6796 ///
6797 ///
6798 /// Format of the return value [`ArkUI_AttributeItem`]:
6799 ///
6800 /// .string: component name.
6801 ///
6802 ///
6803 ///
6804 /// Available since API-level: 15
6805 #[cfg(feature = "api-15")]
6806 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6807 pub const NODE_CHECKBOX_GROUP_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21000);
6808 /// Defines whether the checkboxgroup is selected.
6809 /// This attribute can be set, reset, and obtained as required through APIs.
6810 ///
6811 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6812 ///
6813 /// .value[0].i32: whether the checkboxgroup is selected.
6814 /// The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
6815 ///
6816 ///
6817 ///
6818 /// Format of the return value [`ArkUI_AttributeItem`]:
6819 ///
6820 /// .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
6821 ///
6822 ///
6823 ///
6824 /// Available since API-level: 15
6825 #[cfg(feature = "api-15")]
6826 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6827 pub const NODE_CHECKBOX_GROUP_SELECT_ALL: ArkUI_NodeAttributeType =
6828 ArkUI_NodeAttributeType(21001);
6829 /// Defines the color of the checkboxgroup when it is selected.
6830 /// This attribute can be set, reset, and obtained as required through APIs.
6831 ///
6832 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6833 ///
6834 /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
6835 /// for example, <b>0xFF1122FF</b>.
6836 ///
6837 ///
6838 ///
6839 /// Format of the return value [`ArkUI_AttributeItem`]:
6840 ///
6841 /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6842 ///
6843 ///
6844 /// Available since API-level: 15
6845 #[cfg(feature = "api-15")]
6846 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6847 pub const NODE_CHECKBOX_GROUP_SELECTED_COLOR: ArkUI_NodeAttributeType =
6848 ArkUI_NodeAttributeType(21002);
6849 /// Defines the border color of the checkboxgroup when it is not selected.
6850 /// This attribute can be set, reset, and obtained as required through APIs.
6851 ///
6852 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6853 ///
6854 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6855 ///
6856 ///
6857 ///
6858 /// Format of the return value [`ArkUI_AttributeItem`]:
6859 ///
6860 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6861 ///
6862 ///
6863 /// Available since API-level: 15
6864 #[cfg(feature = "api-15")]
6865 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6866 pub const NODE_CHECKBOX_GROUP_UNSELECTED_COLOR: ArkUI_NodeAttributeType =
6867 ArkUI_NodeAttributeType(21003);
6868 /// Defines the internal icon style of the checkboxgroup.
6869 /// This attribute can be set, reset, and obtained as required through APIs.
6870 ///
6871 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6872 ///
6873 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6874 ///
6875 /// .value[1]?.f32: size of the internal mark, in vp. Optional.
6876 ///
6877 /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
6878 ///
6879 ///
6880 ///
6881 /// Format of the return value [`ArkUI_AttributeItem`]:
6882 ///
6883 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6884 ///
6885 /// .value[1].f32: size of the internal mark, in vp.
6886 ///
6887 /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
6888 ///
6889 ///
6890 ///
6891 /// Available since API-level: 15
6892 #[cfg(feature = "api-15")]
6893 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6894 pub const NODE_CHECKBOX_GROUP_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21004);
6895 /// Defines the shape of the checkboxgroup.
6896 /// This attribute can be set, reset, and obtained as required through APIs.
6897 ///
6898 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6899 ///
6900 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6901 ///
6902 ///
6903 ///
6904 /// Format of the return value [`ArkUI_AttributeItem`]:
6905 ///
6906 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6907 ///
6908 ///
6909 /// Available since API-level: 15
6910 #[cfg(feature = "api-15")]
6911 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6912 pub const NODE_CHECKBOX_GROUP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21005);
6913 /// Defines the alignment mode of the child components in the container. This attribute can be set, reset,
6914 /// and obtained as required through APIs.
6915 ///
6916 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6917 ///
6918 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
6919 /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
6920 ///
6921 ///
6922 ///
6923 /// Format of the return value [`ArkUI_AttributeItem`]:
6924 ///
6925 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
6926 pub const NODE_STACK_ALIGN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000000);
6927 /// Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs.
6928 ///
6929 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6930 ///
6931 /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`]. The default value is
6932 /// <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>.
6933 ///
6934 ///
6935 ///
6936 /// Format of the return value [`ArkUI_AttributeItem`]:
6937 ///
6938 /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`].
6939 pub const NODE_SCROLL_BAR_DISPLAY_MODE: ArkUI_NodeAttributeType =
6940 ArkUI_NodeAttributeType(1002000);
6941 /// Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required
6942 /// through APIs.
6943 ///
6944 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6945 ///
6946 /// .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>.
6947 ///
6948 ///
6949 ///
6950 /// Format of the return value [`ArkUI_AttributeItem`]:
6951 ///
6952 /// .value[0].f32: width of the scrollbar, in vp.
6953 pub const NODE_SCROLL_BAR_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002001);
6954 /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
6955 /// through APIs.
6956 ///
6957 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6958 ///
6959 /// .data[0].u32: color of the scrollbar, in 0xARGB format.
6960 ///
6961 ///
6962 ///
6963 /// Format of the return value [`ArkUI_AttributeItem`]:
6964 ///
6965 /// .data[0].u32: color of the scrollbar, in 0xARGB format.
6966 pub const NODE_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002002);
6967 /// Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs.
6968 ///
6969 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6970 ///
6971 /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
6972 /// The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>.
6973 ///
6974 ///
6975 ///
6976 /// Format of the return value [`ArkUI_AttributeItem`]:
6977 ///
6978 /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
6979 pub const NODE_SCROLL_SCROLL_DIRECTION: ArkUI_NodeAttributeType =
6980 ArkUI_NodeAttributeType(1002003);
6981 /// Defines the effect used at the edges of the component when the boundary of the scrollable content is
6982 /// reached. This attribute can be set, reset, and obtained as required through APIs.
6983 ///
6984 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6985 ///
6986 /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
6987 /// The parameter type is [`ArkUI_EdgeEffect`]. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.
6988 ///
6989 /// .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the
6990 /// component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the
6991 /// opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the
6992 /// Scroll component is <b>1</b>.
6993 ///
6994 /// .value[2]?.i32: direction in which the effect takes effect. The parameter type is [`ArkUI_EffectEdge`].
6995 /// The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since
6996 /// API version 16.
6997 ///
6998 ///
6999 ///
7000 /// Format of the return value [`ArkUI_AttributeItem`]:
7001 ///
7002 /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
7003 /// The parameter type is [`ArkUI_EdgeEffect`].
7004 ///
7005 /// .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component
7006 /// itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite.
7007 ///
7008 /// .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached.
7009 /// The parameter type is [`ArkUI_EffectEdge`]. This parameter is supported since API version 16.
7010 pub const NODE_SCROLL_EDGE_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002004);
7011 /// Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by
7012 /// finger or mouse is not supported, but the scroll controller API is not affected.
7013 ///
7014 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7015 ///
7016 /// .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>.
7017 ///
7018 ///
7019 ///
7020 /// Format of the return value [`ArkUI_AttributeItem`]:
7021 ///
7022 /// .value[0].i32: whether to support scroll gestures.
7023 pub const NODE_SCROLL_ENABLE_SCROLL_INTERACTION: ArkUI_NodeAttributeType =
7024 ArkUI_NodeAttributeType(1002005);
7025 /// Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only
7026 /// indirectly the scroll chaining during the inertial scrolling process.
7027 ///
7028 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7029 ///
7030 /// .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b>
7031 /// for wearable devices.
7032 ///
7033 ///
7034 ///
7035 /// Format of the return value [`ArkUI_AttributeItem`]:
7036 ///
7037 /// .value[0].f32: friction coefficient.
7038 pub const NODE_SCROLL_FRICTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002006);
7039 /// Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs.
7040 ///
7041 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7042 ///
7043 /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7044 /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
7045 ///
7046 /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
7047 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7048 /// start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple
7049 /// snap points.
7050 ///
7051 /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
7052 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7053 /// end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple
7054 /// snap points.
7055 ///
7056 /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an
7057 /// edge to which the <b><Scroll></b> component can scroll.
7058 ///
7059 ///
7060 ///
7061 /// Format of the return value [`ArkUI_AttributeItem`]:
7062 ///
7063 /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7064 ///
7065 /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
7066 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7067 /// start edge and the first snap point.
7068 ///
7069 /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
7070 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
7071 /// end edge and the last snap point.
7072 ///
7073 /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge
7074 /// to which the <b><Scroll></b> component can scroll.
7075 pub const NODE_SCROLL_SNAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002007);
7076 /// Defines the nested scrolling options. This attribute can be set, reset, and obtained as required
7077 /// through APIs.
7078 ///
7079 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7080 ///
7081 /// .value[0].i32: nested scrolling option when the component scrolls forward.
7082 /// The parameter type is [`ArkUI_ScrollNestedMode`].
7083 ///
7084 /// .value[1].i32: nested scrolling option when the component scrolls backward.
7085 /// The parameter type is [`ArkUI_ScrollNestedMode`].
7086 ///
7087 ///
7088 ///
7089 /// Format of the return value [`ArkUI_AttributeItem`]:
7090 ///
7091 /// .value[0].i32: nested scrolling option when the component scrolls forward.
7092 /// The parameter type is [`ArkUI_ScrollNestedMode`].
7093 ///
7094 /// .value[1].i32: nested scrolling option when the component scrolls backward.
7095 /// The parameter type is [`ArkUI_ScrollNestedMode`].
7096 pub const NODE_SCROLL_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002008);
7097 /// Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required
7098 /// through APIs.
7099 ///
7100 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7101 ///
7102 /// .value[0].f32: horizontal scrolling offset, in vp.
7103 ///
7104 /// .value[1].f32: vertical scrolling offset, in vp.
7105 ///
7106 /// .value[2]?.i32: scrolling duration, in milliseconds. Optional.
7107 ///
7108 /// .value[3]?.i32: scrolling curve. Optional. The parameter type is [`ArkUI_AnimationCurve`].
7109 /// The default value is <b>ARKUI_CURVE_EASE</b>.
7110 ///
7111 /// .value[4]?.i32: whether to enable the default spring animation. Optional.
7112 /// The default value <b>0</b> means not to enable the default spring animation.
7113 ///
7114 /// .value[5]?.i32: whether to convert the scroll animation to an overshoot animation when the boundary is reached.
7115 /// Optional.
7116 ///
7117 /// .value[6]?.i32: whether the component can stop at an overscrolled position.
7118 /// This parameter is supported since API version 20.
7119 ///
7120 ///
7121 ///
7122 /// Format of the return value [`ArkUI_AttributeItem`]:
7123 ///
7124 /// .value[0].f32: horizontal scrolling offset, in vp.
7125 ///
7126 /// .value[1].f32: vertical scrolling offset, in vp.
7127 pub const NODE_SCROLL_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002009);
7128 /// Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs.
7129 ///
7130 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7131 ///
7132 /// .value[0].i32: edge position to scroll to. The parameter type is [`ArkUI_ScrollEdge`].
7133 ///
7134 ///
7135 ///
7136 /// Format of the return value [`ArkUI_AttributeItem`]:
7137 ///
7138 /// .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not
7139 /// at the edge position. If the container is at the edge position, the parameter type is [`ArkUI_ScrollEdge`].
7140 pub const NODE_SCROLL_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002010);
7141 /// Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained
7142 /// as required through APIs.
7143 ///
7144 /// If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but
7145 /// <b>enablePaging</b> does not.
7146 ///
7147 ///
7148 ///
7149 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7150 ///
7151 /// .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>.
7152 ///
7153 ///
7154 ///
7155 /// Format of the return value [`ArkUI_AttributeItem`]:
7156 ///
7157 /// .value[0].i32: whether to enable the swipe-to-turn-pages feature.
7158 pub const NODE_SCROLL_ENABLE_PAGING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002011);
7159 /// Scroll to the next or previous page.
7160 ///
7161 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7162 ///
7163 /// .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1
7164 /// indicates scroll to previous page.
7165 ///
7166 /// .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable.
7167 pub const NODE_SCROLL_PAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002012);
7168 /// Scroll a specified distance.
7169 ///
7170 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7171 ///
7172 /// .value[0].f32:Horizontal scrolling distance in vp;
7173 ///
7174 /// .value[1].f32: Vertical scrolling distance in vp;
7175 pub const NODE_SCROLL_BY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002013);
7176 /// Performs inertial scrolling based on the initial velocity passed in.
7177 ///
7178 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7179 ///
7180 /// .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is
7181 /// considered as invalid, and the scrolling for this instance will not take effect. If the value is positive,
7182 /// the scroll will move downward; if the value is negative, the scroll will move upward.
7183 ///
7184 ///
7185 ///
7186 /// Available since API-level: 13
7187 #[cfg(feature = "api-13")]
7188 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
7189 pub const NODE_SCROLL_FLING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002014);
7190 /// Sets the fading effect for the edges of scrollable components.
7191 ///
7192 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7193 /// .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect,
7194 /// and 1 means to enable it.
7195 /// .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32.
7196 ///
7197 /// Format of the return value [`ArkUI_AttributeItem`]:
7198 /// .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is
7199 /// disabled, and 1 means that it is enabled.
7200 /// .value[1].f32: length of the fading effect on edges, in vp.
7201 ///
7202 ///
7203 /// Available since API-level: 14
7204 #[cfg(feature = "api-14")]
7205 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
7206 pub const NODE_SCROLL_FADING_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002015);
7207 /// Obtains the total size of all child components when fully expanded in the scrollable component.
7208 ///
7209 /// Format of the return value [`ArkUI_AttributeItem`]:
7210 ///
7211 /// .value[0].f32: total width of all child components when fully expanded in the scrollable component.
7212 /// The default unit is vp.
7213 ///
7214 /// .value[1].f32: total height of all child components when fully expanded in the scrollable component.
7215 /// The default unit is vp.
7216 ///
7217 /// When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the
7218 /// nearest pixel when being converted from vp to px.
7219 /// The returned values are calculated based on these rounded pixel values.
7220 ///
7221 ///
7222 ///
7223 /// Available since API-level: 14
7224 #[cfg(feature = "api-14")]
7225 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
7226 pub const NODE_SCROLL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002016);
7227 /// Sets the offset from the start of the scrollable components content.
7228 ///
7229 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7230 ///
7231 /// .value[0].f32: offset from the start of the content, in vp.
7232 ///
7233 ///
7234 ///
7235 /// Format of the return value [`ArkUI_AttributeItem`]:
7236 ///
7237 /// .value[0].f32: offset from the start of the content, in vp.
7238 ///
7239 ///
7240 ///
7241 /// Available since API-level: 15
7242 #[cfg(feature = "api-15")]
7243 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7244 pub const NODE_SCROLL_CONTENT_START_OFFSET: ArkUI_NodeAttributeType =
7245 ArkUI_NodeAttributeType(1002017);
7246 /// Sets the offset from the end of the scrollable components content.
7247 ///
7248 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7249 ///
7250 /// .value[0].f32: offset from the end of the content, in vp.
7251 ///
7252 ///
7253 ///
7254 /// Format of the return value [`ArkUI_AttributeItem`]:
7255 ///
7256 /// .value[0].f32: offset from the end of the content, in vp.
7257 ///
7258 ///
7259 ///
7260 /// Available since API-level: 15
7261 #[cfg(feature = "api-15")]
7262 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7263 pub const NODE_SCROLL_CONTENT_END_OFFSET: ArkUI_NodeAttributeType =
7264 ArkUI_NodeAttributeType(1002018);
7265 /// Defines the maximum starting fling speed of the scrollable when the fling animation starts.
7266 /// This attribute can be set, reset, and obtained as required through APIs.
7267 ///
7268 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7269 ///
7270 /// .value[0].f32: maximum starting fling speed, Unit: vp/s
7271 ///
7272 ///
7273 ///
7274 /// Format of the return value [`ArkUI_AttributeItem`]:
7275 ///
7276 /// .value[0].f32: maximum starting fling speed, Unit: vp/s
7277 ///
7278 ///
7279 ///
7280 /// Available since API-level: 18
7281 #[cfg(feature = "api-18")]
7282 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7283 pub const NODE_SCROLL_FLING_SPEED_LIMIT: ArkUI_NodeAttributeType =
7284 ArkUI_NodeAttributeType(1002019);
7285 /// Defines the clip mode of the scrollable.
7286 /// This attribute can be set, reset, and obtained as required through APIs.
7287 ///
7288 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7289 ///
7290 /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
7291 ///
7292 ///
7293 ///
7294 /// Format of the return value [`ArkUI_AttributeItem`]:
7295 ///
7296 /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
7297 ///
7298 ///
7299 ///
7300 /// Available since API-level: 18
7301 #[cfg(feature = "api-18")]
7302 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7303 pub const NODE_SCROLL_CLIP_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002020);
7304 /// Defines whether the scrollable scrolls back to top when status bar is clicked.
7305 /// This attribute can be set, reset, and obtained as required through APIs.
7306 ///
7307 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7308 ///
7309 /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
7310 /// The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. The default value is <b>0/b>.
7311 ///
7312 ///
7313 ///
7314 /// Format of the return value [`ArkUI_AttributeItem`]:
7315 ///
7316 /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
7317 ///
7318 ///
7319 ///
7320 /// Available since API-level: 15
7321 #[cfg(feature = "api-15")]
7322 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7323 pub const NODE_SCROLL_BACK_TO_TOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002021);
7324 /// Defines the margin of the scrollbar.
7325 /// This attribute can be set, reset, and obtained as required through APIs.
7326 ///
7327 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7328 ///
7329 /// .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>.
7330 ///
7331 /// .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>.
7332 ///
7333 ///
7334 ///
7335 /// Format of the return value [`ArkUI_AttributeItem`]:
7336 ///
7337 /// .value[0].f32: start margin of the scrollbar, in vp.
7338 ///
7339 /// .value[1].f32: end margin of the scrollbar, in vp.
7340 ///
7341 ///
7342 ///
7343 /// Available since API-level: 20
7344 #[cfg(feature = "api-20")]
7345 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7346 pub const NODE_SCROLL_BAR_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002022);
7347 /// Sets the maximum zoom scale for scrollable content.
7348 ///
7349 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7350 ///
7351 /// .value[0].f32: maximum zoom scale to set.
7352 ///
7353 ///
7354 ///
7355 /// Format of the return value [`ArkUI_AttributeItem`]:
7356 ///
7357 /// .value[0].f32: current maximum zoom scale.
7358 ///
7359 ///
7360 ///
7361 /// Available since API-level: 20
7362 #[cfg(feature = "api-20")]
7363 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7364 pub const NODE_SCROLL_MAX_ZOOM_SCALE: ArkUI_NodeAttributeType =
7365 ArkUI_NodeAttributeType(1002023);
7366 /// Sets the minimum zoom scale for scrollable content.
7367 ///
7368 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7369 ///
7370 /// .value[0].f32: minimum zoom scale to set.
7371 ///
7372 ///
7373 ///
7374 /// Format of the return value [`ArkUI_AttributeItem`]:
7375 ///
7376 /// .value[0].f32: current minimum zoom scale.
7377 ///
7378 ///
7379 ///
7380 /// Available since API-level: 20
7381 #[cfg(feature = "api-20")]
7382 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7383 pub const NODE_SCROLL_MIN_ZOOM_SCALE: ArkUI_NodeAttributeType =
7384 ArkUI_NodeAttributeType(1002024);
7385 /// Sets the zoom scale for scrollable content.
7386 ///
7387 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7388 ///
7389 /// .value[0].f32: zoom scale to set.
7390 ///
7391 ///
7392 ///
7393 /// Format of the return value [`ArkUI_AttributeItem`]:
7394 ///
7395 /// .value[0].f32: current zoom scale.
7396 ///
7397 ///
7398 ///
7399 /// Available since API-level: 20
7400 #[cfg(feature = "api-20")]
7401 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7402 pub const NODE_SCROLL_ZOOM_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002025);
7403 /// Sets whether to enable the zoom bounce effect when the scaling exceeds the limits.
7404 ///
7405 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7406 ///
7407 /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
7408 /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
7409 ///
7410 ///
7411 ///
7412 /// Format of the return value [`ArkUI_AttributeItem`]:
7413 ///
7414 /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
7415 /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
7416 ///
7417 ///
7418 ///
7419 /// Available since API-level: 20
7420 #[cfg(feature = "api-20")]
7421 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7422 pub const NODE_SCROLL_ENABLE_BOUNCES_ZOOM: ArkUI_NodeAttributeType =
7423 ArkUI_NodeAttributeType(1002026);
7424 /// Sets the direction in which the list items are arranged.
7425 /// This attribute can be set, reset, and obtained as required through APIs.
7426 ///
7427 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7428 ///
7429 /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
7430 /// The default value is <b>ARKUI_AXIS_VERTICAL</b>.
7431 ///
7432 ///
7433 ///
7434 /// Format of the return value [`ArkUI_AttributeItem`]:
7435 ///
7436 /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
7437 pub const NODE_LIST_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003000);
7438 /// Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7439 /// component. This attribute can be set, reset, and obtained as required through APIs.
7440 ///
7441 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7442 ///
7443 /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7444 /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
7445 /// [`ArkUI_StickyStyle`]. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>.
7446 ///
7447 ///
7448 ///
7449 /// Format of the return value [`ArkUI_AttributeItem`]:
7450 ///
7451 /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
7452 /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
7453 /// [`ArkUI_StickyStyle`].
7454 pub const NODE_LIST_STICKY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003001);
7455 /// Defines the spacing between list items. This attribute can be set, reset, and obtained as required
7456 /// through APIs.
7457 ///
7458 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7459 ///
7460 /// .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>.
7461 ///
7462 ///
7463 ///
7464 /// Format of the return value [`ArkUI_AttributeItem`]:
7465 ///
7466 /// .value[0].f32: spacing between list items along the main axis.
7467 pub const NODE_LIST_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003002);
7468 /// Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs.
7469 ///
7470 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7471 ///
7472 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
7473 pub const NODE_LIST_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003003);
7474 /// Sets the number of cached items in the list adapter.
7475 /// This attribute can be set, reset, and obtained as required through APIs.
7476 ///
7477 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7478 ///
7479 /// .value[0].i32: number of cached items in the list adapter.
7480 ///
7481 /// .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
7482 /// to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15.
7483 ///
7484 ///
7485 ///
7486 /// Format of the return value [`ArkUI_AttributeItem`]:
7487 ///
7488 /// .value[0].i32: number of cached items in the list adapter.
7489 ///
7490 /// .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
7491 /// to show cached items. This parameter is supported since API version 15.
7492 pub const NODE_LIST_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003004);
7493 /// Scroll to the specified index.
7494 ///
7495 /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
7496 /// lead to performance issues when loading a large number of items.
7497 ///
7498 ///
7499 ///
7500 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7501 ///
7502 /// .value[0].i32:The index value of the target element to be slid to in the current container.
7503 ///
7504 /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
7505 /// 1 indicates an action and 0 indicates no action. Default value: 0。
7506 ///
7507 /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
7508 /// [`ArkUI_ScrollAlignment`], default value is ARKUI_SCROLL_ALIGNMENT_START.
7509 ///
7510 /// .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>.
7511 /// This parameter is supported since API version 15.
7512 pub const NODE_LIST_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003005);
7513 /// Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is
7514 /// greater than the cross-axis width of list items multiplied by the value of lanes.
7515 /// This attribute can be set, reset, and obtained as required through APIs.
7516 ///
7517 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7518 ///
7519 /// .value[0].i32: alignment mode of list items along the cross axis.
7520 /// The parameter type is [`ArkUI_ListItemAlignment`].
7521 ///
7522 ///
7523 ///
7524 /// Format of the return value [`ArkUI_AttributeItem`]:
7525 ///
7526 /// .value[0].i32: alignment mode of list items along the cross axis.
7527 /// The parameter type is [`ArkUI_ListItemAlignment`].
7528 pub const NODE_LIST_ALIGN_LIST_ITEM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003006);
7529 /// Set the default spindle size for the List subcomponent.
7530 ///
7531 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7532 ///
7533 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
7534 ///
7535 ///
7536 ///
7537 /// Format of the return value [`ArkUI_AttributeItem`]:
7538 ///
7539 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
7540 pub const NODE_LIST_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
7541 ArkUI_NodeAttributeType(1003007);
7542 /// Set the index value of the item displayed at the start of the viewport
7543 /// when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs.
7544 ///
7545 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7546 ///
7547 /// .value[0].i32: index value of the item displayed at
7548 /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
7549 ///
7550 ///
7551 ///
7552 /// Format of the return value [`ArkUI_AttributeItem`]:
7553 ///
7554 /// .value[0].i32: index value of the item displayed at
7555 /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
7556 pub const NODE_LIST_INITIAL_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003008);
7557 /// sets the ListItem splitter style. By default, there is no splitter.
7558 /// This attribute can be set, reset, and obtained as required through APIs.
7559 ///
7560 /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
7561 ///
7562 /// .value[0].u32: divider color, type 0xargb;
7563 ///
7564 /// .value[1].f32: dividing line width;
7565 ///
7566 /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
7567 ///
7568 /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
7569 ///
7570 ///
7571 ///
7572 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
7573 ///
7574 /// .value[0].u32: divider color, type 0xargb;
7575 ///
7576 /// .value[1].f32: dividing line width;
7577 ///
7578 /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
7579 ///
7580 /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
7581 pub const NODE_LIST_DIVIDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003009);
7582 /// Scrolls to the item with the specified index in the specified list item group.
7583 ///
7584 /// When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation.
7585 /// This may result in performance issues if a large number of items are involved.
7586 ///
7587 ///
7588 ///
7589 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7590 ///
7591 /// .value[0].i32: index of the target list item group in the current list.
7592 ///
7593 /// .value[1].i32: index of the target list item in the list item group.
7594 ///
7595 /// .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index.
7596 /// The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite.
7597 /// The default value is <b>0</b>.
7598 ///
7599 /// .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is
7600 /// [`ArkUI_ScrollAlignment`]. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>.
7601 ///
7602 ///
7603 ///
7604 /// Available since API-level: 15
7605 #[cfg(feature = "api-15")]
7606 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7607 pub const NODE_LIST_SCROLL_TO_INDEX_IN_GROUP: ArkUI_NodeAttributeType =
7608 ArkUI_NodeAttributeType(1003010);
7609 /// Sets the number of lanes in the list.
7610 /// This attribute can be set, reset, and obtained as required through APIs.
7611 ///
7612 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7613 ///
7614 /// .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number
7615 /// of lanes will not take effect.
7616 ///
7617 /// .value[1]?.f32: minimum lane width, in vp.
7618 ///
7619 /// .value[2]?.f32: maximum column width, in vp.
7620 ///
7621 /// .value[3]?.f32: lane spacing, in vp.
7622 ///
7623 ///
7624 ///
7625 /// Format of the return value [`ArkUI_AttributeItem`]:
7626 ///
7627 /// .value[0].u32: number of lanes in the list.
7628 ///
7629 /// .value[1].f32: minimum lane width, in vp.
7630 ///
7631 /// .value[2].f32: maximum column width, in vp.
7632 ///
7633 /// .value[3].f32: lane spacing, in vp.
7634 ///
7635 ///
7636 ///
7637 ///
7638 /// Available since API-level: 15
7639 #[cfg(feature = "api-15")]
7640 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7641 pub const NODE_LIST_LANES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003011);
7642 /// Sets the list snap alignment mode.
7643 ///
7644 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7645 ///
7646 /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7647 /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
7648 ///
7649 ///
7650 ///
7651 /// Format of the return value [`ArkUI_AttributeItem`]:
7652 ///
7653 /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
7654 ///
7655 ///
7656 ///
7657 /// Available since API-level: 15
7658 #[cfg(feature = "api-15")]
7659 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7660 pub const NODE_LIST_SCROLL_SNAP_ALIGN: ArkUI_NodeAttributeType =
7661 ArkUI_NodeAttributeType(1003012);
7662 /// Sets whether to maintain the visible content's position when data is inserted or deleted outside the
7663 /// display area of the <b>List</b> component.
7664 ///
7665 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7666 ///
7667 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
7668 /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
7669 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
7670 ///
7671 ///
7672 ///
7673 /// Format of the return value [`ArkUI_AttributeItem`]:
7674 ///
7675 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
7676 /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
7677 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
7678 ///
7679 ///
7680 ///
7681 /// Available since API-level: 15
7682 #[cfg(feature = "api-15")]
7683 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7684 pub const NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
7685 ArkUI_NodeAttributeType(1003013);
7686 /// Sets whether the <b>List</b> component starts layout from the end.
7687 ///
7688 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7689 ///
7690 /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
7691 /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
7692 ///
7693 ///
7694 ///
7695 /// Format of the return value [`ArkUI_AttributeItem`]:
7696 ///
7697 /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
7698 /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
7699 ///
7700 ///
7701 ///
7702 /// Available since API-level: 19
7703 #[cfg(feature = "api-19")]
7704 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
7705 pub const NODE_LIST_STACK_FROM_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003014);
7706 /// Defines the focus wrap mode for the <b>List</b> component.
7707 /// This attribute can be set, reset, and obtained as required through APIs.
7708 ///
7709 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7710 ///
7711 /// .value[0].i32: focus wrap mode of the <b>List</b> component.
7712 /// The parameter type is [`ArkUI_FocusWrapMode`].
7713 ///
7714 ///
7715 ///
7716 /// Format of the return value [`ArkUI_AttributeItem`]:
7717 ///
7718 /// .value[0].i32: focus wrap mode of the <b>List</b> component.
7719 /// The parameter type is [`ArkUI_FocusWrapMode`].
7720 ///
7721 ///
7722 ///
7723 /// Available since API-level: 20
7724 #[cfg(feature = "api-20")]
7725 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7726 pub const NODE_LIST_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003015);
7727 /// Defines whether the <b>List</b> component loads child nodes synchronously.
7728 /// This attribute can be set, reset, and obtained as required through APIs.
7729 ///
7730 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7731 ///
7732 /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
7733 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
7734 ///
7735 ///
7736 ///
7737 /// Format of the return value [`ArkUI_AttributeItem`]:
7738 ///
7739 /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
7740 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
7741 ///
7742 ///
7743 ///
7744 /// Available since API-level: 20
7745 #[cfg(feature = "api-20")]
7746 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7747 pub const NODE_LIST_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003016);
7748 /// Defines whether to enable loop playback for the swiper.
7749 /// This attribute can be set, reset, and obtained as required through APIs.
7750 ///
7751 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7752 ///
7753 /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
7754 /// means the opposite. The default value is <b>1/b>.
7755 ///
7756 ///
7757 ///
7758 /// Format of the return value [`ArkUI_AttributeItem`]:
7759 ///
7760 /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
7761 /// means the opposite. The default value is <b>1</b>.
7762 pub const NODE_SWIPER_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001000);
7763 /// Defines whether to enable automatic playback for child component switching in the swiper.
7764 /// This attribute can be set, reset, and obtained as required through APIs.
7765 ///
7766 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7767 ///
7768 /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b>
7769 /// means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
7770 ///
7771 ///
7772 ///
7773 /// .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means
7774 /// to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is
7775 /// supported since API version 16.
7776 ///
7777 ///
7778 ///
7779 /// Format of the return value [`ArkUI_AttributeItem`]:
7780 ///
7781 /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means
7782 /// to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
7783 ///
7784 /// .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to
7785 /// stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16.
7786 pub const NODE_SWIPER_AUTO_PLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001001);
7787 /// Defines whether to enable the navigation point indicator for the swiper. This attribute can be set,
7788 /// reset, and obtained as required through APIs.
7789 ///
7790 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7791 ///
7792 /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
7793 /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
7794 ///
7795 ///
7796 ///
7797 /// Format of the return value [`ArkUI_AttributeItem`]:
7798 ///
7799 /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
7800 /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
7801 pub const NODE_SWIPER_SHOW_INDICATOR: ArkUI_NodeAttributeType =
7802 ArkUI_NodeAttributeType(1001002);
7803 /// Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required
7804 /// through APIs.
7805 ///
7806 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7807 ///
7808 /// .value[0].f32: interval for automatic playback, in milliseconds.
7809 ///
7810 ///
7811 ///
7812 /// Format of the return value [`ArkUI_AttributeItem`]:
7813 ///
7814 /// .value[0].f32: interval for automatic playback, in milliseconds.
7815 pub const NODE_SWIPER_INTERVAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001003);
7816 /// Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained
7817 /// as required through APIs.
7818 ///
7819 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7820 ///
7821 /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
7822 /// <b>0</b> means the opposite. The default value is <b>0</b>.
7823 ///
7824 ///
7825 ///
7826 /// Format of the return value [`ArkUI_AttributeItem`]:
7827 ///
7828 /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
7829 /// <b>0</b> means the opposite. The default value is <b>0</b>.
7830 pub const NODE_SWIPER_VERTICAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001004);
7831 /// Defines the duration of the animation for switching child components. This attribute can be set, reset,
7832 /// and obtained as required through APIs.
7833 ///
7834 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7835 ///
7836 /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
7837 /// <b>400</b>.
7838 ///
7839 ///
7840 ///
7841 /// Format of the return value [`ArkUI_AttributeItem`]:
7842 ///
7843 /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
7844 /// <b>400</b>.
7845 pub const NODE_SWIPER_DURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001005);
7846 /// Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required
7847 /// through APIs.
7848 ///
7849 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7850 ///
7851 /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
7852 /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
7853 ///
7854 ///
7855 ///
7856 /// Format of the return value [`ArkUI_AttributeItem`]:
7857 ///
7858 /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
7859 /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
7860 pub const NODE_SWIPER_CURVE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001006);
7861 /// Defines the spacing between child components in the swiper.
7862 /// This attribute can be set, reset, and obtained as required through APIs.
7863 ///
7864 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7865 ///
7866 /// .value[0].f32: spacing between child components.
7867 ///
7868 ///
7869 ///
7870 /// Format of the return value [`ArkUI_AttributeItem`]:
7871 ///
7872 /// .value[0].f32: spacing between child components.
7873 pub const NODE_SWIPER_ITEM_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001007);
7874 /// Defines the index of the child component currently displayed in the swiper.
7875 /// This attribute can be set, reset, and obtained as required through APIs.
7876 ///
7877 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7878 ///
7879 /// .value[0].i32: index value of the child component.
7880 ///
7881 /// .value[1]?.i32: animation mode, the parameter type is [`ArkUI_SwiperAnimationMode`].
7882 ///
7883 /// The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call.
7884 ///
7885 /// This parameter is supported since API version 15.
7886 ///
7887 ///
7888 ///
7889 /// Format of the return value [`ArkUI_AttributeItem`]:
7890 ///
7891 /// .value[0].i32: index value of the child component.
7892 pub const NODE_SWIPER_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001008);
7893 /// Defines the number of elements to display per page.
7894 /// This attribute can be set, reset, and obtained as required through APIs.
7895 ///
7896 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7897 ///
7898 /// .value[0].i32: number of elements to display per page.
7899 ///
7900 /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
7901 /// and <b>1</b> means to turn pages by group. This parameter is supported since API version 19.
7902 ///
7903 /// .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored.
7904 /// This parameter is supported since API version 19.
7905 ///
7906 ///
7907 ///
7908 /// Format of the return value [`ArkUI_AttributeItem`]:
7909 ///
7910 /// .value[0].i32: number of elements to display per page.
7911 ///
7912 /// .value[1].i32: whether to turn pages by group. This parameter is supported since API version 19.
7913 ///
7914 /// .string: 'auto' or empty string.
7915 pub const NODE_SWIPER_DISPLAY_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001009);
7916 /// Defines whether to disable the swipe feature.
7917 /// This attribute can be set, reset, and obtained as required through APIs.
7918 ///
7919 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7920 ///
7921 /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable
7922 /// the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
7923 ///
7924 ///
7925 ///
7926 /// Format of the return value [`ArkUI_AttributeItem`]:
7927 ///
7928 /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe
7929 /// feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
7930 pub const NODE_SWIPER_DISABLE_SWIPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001010);
7931 /// Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7932 /// This attribute can be set, reset, and obtained as required through APIs.
7933 ///
7934 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7935 ///
7936 /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7937 /// The parameter type is [`ArkUI_SwiperArrow`].
7938 ///
7939 /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
7940 ///
7941 /// .?object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
7942 ///
7943 /// This parameter is supported since API version 19.
7944 ///
7945 ///
7946 ///
7947 /// Format of the return value [`ArkUI_AttributeItem`]:
7948 ///
7949 /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
7950 /// The parameter type is [`ArkUI_SwiperArrow`].
7951 ///
7952 /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
7953 ///
7954 /// .object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
7955 ///
7956 /// This parameter is supported since API version 19.
7957 pub const NODE_SWIPER_SHOW_DISPLAY_ARROW: ArkUI_NodeAttributeType =
7958 ArkUI_NodeAttributeType(1001011);
7959 /// Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7960 /// This attribute can be set, reset, and obtained as required through APIs.
7961 ///
7962 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7963 ///
7964 /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7965 /// The parameter type is [`ArkUI_EdgeEffect`].
7966 ///
7967 /// The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>.
7968 ///
7969 ///
7970 ///
7971 /// Format of the return value [`ArkUI_AttributeItem`]:
7972 ///
7973 /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
7974 /// The parameter type is [`ArkUI_EdgeEffect`].
7975 pub const NODE_SWIPER_EDGE_EFFECT_MODE: ArkUI_NodeAttributeType =
7976 ArkUI_NodeAttributeType(1001012);
7977 /// Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs.
7978 ///
7979 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7980 ///
7981 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
7982 pub const NODE_SWIPER_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001013);
7983 /// Sets the number of cached items in the swiper adapter.
7984 /// This attribute can be set, reset, and obtained as required through APIs.
7985 ///
7986 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7987 ///
7988 /// .value[0].i32: number of cached items in the swiper adapter.
7989 ///
7990 /// .value[1]?.i32: whether the cached items will be displayed.
7991 ///
7992 /// The value <b>0</b> indicates that cached items will not be displayed,
7993 ///
7994 /// and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>.
7995 ///
7996 /// This parameter is supported from API version 19.
7997 ///
7998 ///
7999 ///
8000 /// Format of the return value [`ArkUI_AttributeItem`]:
8001 ///
8002 /// .value[0].i32: number of cached items in the swiper adapter.
8003 ///
8004 /// .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 19.
8005 pub const NODE_SWIPER_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001014);
8006 /// Defines the front margin of the wiper.
8007 /// The attribute can be set, reset, and obtained as required through APIs.
8008 ///
8009 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8010 ///
8011 /// .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>
8012 ///
8013 /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
8014 /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
8015 ///
8016 /// Format of the return value [`ArkUI_AttributeItem`]:
8017 ///
8018 /// .value[0].f32: the front margin, the unit is vp.
8019 ///
8020 /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
8021 /// the opposite.
8022 pub const NODE_SWIPER_PREV_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001015);
8023 /// Defines the back margin of the wiper.
8024 /// The attribute can be set, reset, and obtained as required through APIs.
8025 ///
8026 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8027 ///
8028 /// .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>
8029 ///
8030 /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
8031 /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
8032 ///
8033 /// Format of the return value [`ArkUI_AttributeItem`]:
8034 ///
8035 /// .value[0].f32: the back margin, the unit is vp.
8036 ///
8037 /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
8038 /// the opposite.
8039 pub const NODE_SWIPER_NEXT_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001016);
8040 /// Defines the navigation indicator type of the swiper.
8041 /// The attribute can be set, reset, and obtained as required through APIs.
8042 ///
8043 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8044 ///
8045 /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
8046 ///
8047 /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
8048 ///
8049 /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
8050 /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
8051 ///
8052 /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
8053 ///
8054 ///
8055 ///
8056 /// Format of the return value [`ArkUI_AttributeItem`]:
8057 ///
8058 /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
8059 ///
8060 /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
8061 ///
8062 /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
8063 /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
8064 ///
8065 /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
8066 pub const NODE_SWIPER_INDICATOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001017);
8067 /// Set the nested scrolling mode for the Swiper component and parent component.
8068 ///
8069 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8070 ///
8071 /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
8072 /// [`ArkUI_SwiperNestedScrollMode`]
8073 ///
8074 /// The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b>
8075 ///
8076 ///
8077 ///
8078 /// Format of the return value [`ArkUI_AttributeItem`]:
8079 ///
8080 /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
8081 /// [`ArkUI_SwiperNestedScrollMode`]
8082 pub const NODE_SWIPER_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001018);
8083 /// Set the switcher component to flip to the specified page.
8084 ///
8085 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8086 ///
8087 /// .value[0].i32:Specify the index value of the page in Swiper.
8088 ///
8089 /// .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active
8090 /// effect, 0 indicates no active effect, default value is 0。
8091 pub const NODE_SWIPER_SWIPE_TO_INDEX: ArkUI_NodeAttributeType =
8092 ArkUI_NodeAttributeType(1001019);
8093 /// Set to disable component navigation point interaction function。
8094 ///
8095 /// Property setting method parameter [`ArkUI-AttributeItem`] format:
8096 ///
8097 /// .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it
8098 /// indicates that the navigation points are interactive. The default value is true.
8099 ///
8100 /// The return value of the attribute acquisition method is in the format of [`ArkUI-AttributeItem`]:
8101 ///
8102 /// .value[0].i32:Set to disable component navigation point interaction.
8103 pub const NODE_SWIPER_INDICATOR_INTERACTIVE: ArkUI_NodeAttributeType =
8104 ArkUI_NodeAttributeType(1001020);
8105 /// Sets the page flipping mode using the mouse wheel.
8106 ///
8107 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8108 ///
8109 /// .value[0].i32: page flipping mode using the mouse wheel. The parameter type is [`ArkUI_PageFlipMode`].
8110 ///
8111 ///
8112 ///
8113 /// Format of the return value [`ArkUI_PageFlipMode`]:
8114 ///
8115 /// .value[0].i32: page flipping mode using the mouse wheel.
8116 ///
8117 ///
8118 ///
8119 /// Available since API-level: 15
8120 #[cfg(feature = "api-15")]
8121 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8122 pub const NODE_SWIPER_PAGE_FLIP_MODE: ArkUI_NodeAttributeType =
8123 ArkUI_NodeAttributeType(1001021);
8124 /// Defines the minimum main axis size of child element for swiper to works out the display count.
8125 /// This attribute can be set, reset, and obtained as required through APIs.
8126 ///
8127 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8128 ///
8129 /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
8130 ///
8131 /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
8132 /// and <b>1</b> means to turn pages by group. The default value is <b>0</b>.
8133 ///
8134 ///
8135 ///
8136 /// Format of the return value [`ArkUI_AttributeItem`]:
8137 ///
8138 /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
8139 ///
8140 /// .value[1].i32: whether to turn pages by group.
8141 ///
8142 ///
8143 ///
8144 /// Available since API-level: 19
8145 #[cfg(feature = "api-19")]
8146 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8147 pub const NODE_SWIPER_AUTO_FILL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001022);
8148 /// Sets whether to maintain the visible content's position when data is inserted or deleted outside
8149 /// the display area of the <b>Swiper</b> component.
8150 ///
8151 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8152 ///
8153 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
8154 /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
8155 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8156 ///
8157 ///
8158 ///
8159 /// Format of the return value [`ArkUI_AttributeItem`]:
8160 ///
8161 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
8162 /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
8163 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8164 ///
8165 ///
8166 ///
8167 /// Available since API-level: 20
8168 #[cfg(feature = "api-20")]
8169 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8170 pub const NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
8171 ArkUI_NodeAttributeType(1001023);
8172 /// Set the delineation component of the ListItem, supporting property settings, property resets, and
8173 /// property acquisition interfaces.
8174 ///
8175 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8176 ///
8177 /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
8178 ///
8179 ///
8180 ///
8181 /// The return value of the attribute acquisition method [`ArkUI_AttributeItem`] format:
8182 ///
8183 /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
8184 pub const NODE_LIST_ITEM_SWIPE_ACTION: ArkUI_NodeAttributeType =
8185 ArkUI_NodeAttributeType(1004000);
8186 /// Defines the header of the list item group.
8187 /// This attribute can be set, reset, and obtained as required through APIs.
8188 ///
8189 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8190 ///
8191 /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
8192 ///
8193 ///
8194 ///
8195 /// Format of the return value [`ArkUI_AttributeItem`]:
8196 ///
8197 /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
8198 pub const NODE_LIST_ITEM_GROUP_SET_HEADER: ArkUI_NodeAttributeType =
8199 ArkUI_NodeAttributeType(1005000);
8200 /// Defines the footer of the list item group. This attribute can be set, reset, and obtained as
8201 /// required through APIs.
8202 ///
8203 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8204 ///
8205 /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
8206 ///
8207 ///
8208 ///
8209 /// Format of the return value [`ArkUI_AttributeItem`]:
8210 ///
8211 /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
8212 pub const NODE_LIST_ITEM_GROUP_SET_FOOTER: ArkUI_NodeAttributeType =
8213 ArkUI_NodeAttributeType(1005001);
8214 /// Defines the style of the divider for the list items. This attribute can be set, reset, and obtained
8215 /// as required through APIs.
8216 ///
8217 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8218 ///
8219 /// .value[0].u32: color of the divider, in 0xARGB format.
8220 ///
8221 /// .value[1].f32: stroke width of the divider, in vp.
8222 ///
8223 /// .value[2].f32: distance between the divider and the start of the list, in vp.
8224 ///
8225 /// .value[3].f32: distance between the divider and the end of the list, in vp.
8226 ///
8227 ///
8228 ///
8229 ///
8230 /// Format of the return value [`ArkUI_AttributeItem`]:
8231 ///
8232 /// .value[0].u32: color of the divider, in 0xARGB format.
8233 ///
8234 /// .value[1].f32: stroke width of the divider, in vp.
8235 ///
8236 /// .value[2].f32: distance between the divider and the start of the list, in vp.
8237 ///
8238 /// .value[3].f32: distance between the divider and the end of the list, in vp.
8239 ///
8240 pub const NODE_LIST_ITEM_GROUP_SET_DIVIDER: ArkUI_NodeAttributeType =
8241 ArkUI_NodeAttributeType(1005002);
8242 /// Set the default spindle size for the ListItem Group subcomponent.
8243 ///
8244 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8245 ///
8246 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8247 ///
8248 ///
8249 ///
8250 /// Format of the return value [`ArkUI_AttributeItem`]:
8251 ///
8252 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8253 pub const NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
8254 ArkUI_NodeAttributeType(1005003);
8255 /// Defines the list item group adapter.
8256 /// This attribute can be set, reset, and obtained as required through APIs.
8257 ///
8258 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8259 ///
8260 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8261 ///
8262 ///
8263 ///
8264 /// Format of the return value [`ArkUI_AttributeItem`]:
8265 ///
8266 /// .object: [`ArkUI_NodeAdapter`] object.
8267 ///
8268 ///
8269 ///
8270 /// Available since API-level: 15
8271 #[cfg(feature = "api-15")]
8272 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8273 pub const NODE_LIST_ITEM_GROUP_NODE_ADAPTER: ArkUI_NodeAttributeType =
8274 ArkUI_NodeAttributeType(1005004);
8275 /// Defines the horizontal alignment mode of child components in the column.
8276 /// This attribute can be set, reset, and obtained as required through APIs.
8277 ///
8278 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8279 ///
8280 /// .value[0].i32: horizontal alignment mode of child components.
8281 /// The parameter type is [`ArkUI_HorizontalAlignment`].
8282 ///
8283 /// Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>.
8284 ///
8285 ///
8286 ///
8287 /// Format of the return value [`ArkUI_AttributeItem`]:
8288 ///
8289 /// .value[0].i32: horizontal alignment mode of child components.
8290 /// The parameter type is [`ArkUI_HorizontalAlignment`].
8291 pub const NODE_COLUMN_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006000);
8292 /// Defines the vertical alignment mode of child components in the column.
8293 /// This attribute can be set, reset, and obtained as required through APIs.
8294 ///
8295 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8296 ///
8297 /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
8298 ///
8299 /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8300 ///
8301 ///
8302 ///
8303 /// Format of the return value [`ArkUI_AttributeItem`]:
8304 ///
8305 /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
8306 pub const NODE_COLUMN_JUSTIFY_CONTENT: ArkUI_NodeAttributeType =
8307 ArkUI_NodeAttributeType(1006001);
8308 /// Defines the vertical alignment mode of child components in the row.
8309 /// This attribute can be set, reset, and obtained as required through APIs.
8310 ///
8311 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8312 ///
8313 /// .value[0].i32: vertical alignment mode of child components.
8314 /// The parameter type is [`ArkUI_VerticalAlignment`].
8315 ///
8316 /// Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>.
8317 ///
8318 ///
8319 ///
8320 /// Format of the return value [`ArkUI_AttributeItem`]:
8321 ///
8322 /// .value[0].i32: vertical alignment mode of child components.
8323 /// The parameter type is [`ArkUI_VerticalAlignment`].
8324 pub const NODE_ROW_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007000);
8325 /// Defines the horizontal alignment mode of child components in the row.
8326 /// This attribute can be set, reset, and obtained as required through APIs.
8327 ///
8328 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8329 ///
8330 /// .value[0].i32: horizontal alignment mode of child components.
8331 /// The parameter type is [`ArkUI_FlexAlignment`].
8332 ///
8333 /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8334 ///
8335 ///
8336 ///
8337 /// Format of the return value [`ArkUI_AttributeItem`]:
8338 ///
8339 /// .value[0].i32: horizontal alignment mode of child components.
8340 /// The parameter type is [`ArkUI_FlexAlignment`].
8341 pub const NODE_ROW_JUSTIFY_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007001);
8342 /// Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs.
8343 ///
8344 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8345 ///
8346 /// .value[0]?.i32: direction in which flex items are arranged. The parameter type is [`ArkUI_FlexDirection`].
8347 /// The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.
8348 ///
8349 /// .value[1]?.i32: how the flex items are wrapped. The parameter type is [`ArkUI_FlexWrap`].
8350 /// The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.
8351 ///
8352 /// .value[2]?.i32: alignment mode along the main axis. The parameter type is [`ArkUI_FlexAlignment`].
8353 /// The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8354 ///
8355 /// .value[3]?.i32: alignment mode along the cross axis. The parameter type is [`ArkUI_ItemAlignment`].
8356 /// The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.
8357 ///
8358 /// .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is
8359 /// [`ArkUI_FlexAlignment`]. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
8360 ///
8361 ///
8362 ///
8363 /// Format of the return value [`ArkUI_AttributeItem`]:
8364 ///
8365 /// .value[0].i32: direction in which flex items are arranged.
8366 ///
8367 /// .value[1].i32: how the flex items are wrapped.
8368 ///
8369 /// .value[2].i32: alignment mode along the main axis.
8370 ///
8371 /// .value[3].i32: alignment mode along the cross axis.
8372 ///
8373 /// .value[4].i32: alignment mode along the cross axis for multi-line content.
8374 pub const NODE_FLEX_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008000);
8375 /// Sets whether the component is being refreshed.
8376 /// This attribute can be set and obtained as required through APIs.
8377 ///
8378 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8379 ///
8380 /// .value[0].i32: The parameter type is 1 or 0.
8381 ///
8382 ///
8383 /// Format of the return value [`ArkUI_AttributeItem`]:
8384 ///
8385 /// .value[0].i32: The parameter type is 1 or 0.
8386 pub const NODE_REFRESH_REFRESHING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009000);
8387 /// Sets the custom content in the pull-down area.
8388 /// This attribute can be set, reset, and obtained as required through APIs.
8389 ///
8390 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8391 ///
8392 /// .object: The parameter type is [`ArkUI_NodeHandle`].
8393 pub const NODE_REFRESH_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009001);
8394 /// Set the pull-down hand coefficient.
8395 /// This attribute can be set, reset, and obtained as required through APIs.
8396 ///
8397 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8398 ///
8399 /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
8400 ///
8401 ///
8402 /// Format of the return value [`ArkUI_AttributeItem`]:
8403 ///
8404 /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
8405 pub const NODE_REFRESH_PULL_DOWN_RATIO: ArkUI_NodeAttributeType =
8406 ArkUI_NodeAttributeType(1009002);
8407 /// Sets the pull-down offset that initiates a refresh.
8408 /// This attribute can be set, reset, and obtained as required through APIs.
8409 ///
8410 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8411 ///
8412 /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
8413 ///
8414 ///
8415 /// Format of the return value [`ArkUI_AttributeItem`]:
8416 ///
8417 /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
8418 pub const NODE_REFRESH_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009003);
8419 /// Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>.
8420 /// This attribute can be set, reset, and obtained as required through APIs.
8421 ///
8422 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8423 ///
8424 /// .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and
8425 /// <b>false</b> means the opposite.
8426 ///
8427 ///
8428 /// Format of the return value [`ArkUI_AttributeItem`]:
8429 ///
8430 /// .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and
8431 /// <b>0</b> means the opposite.
8432 pub const NODE_REFRESH_PULL_TO_REFRESH: ArkUI_NodeAttributeType =
8433 ArkUI_NodeAttributeType(1009004);
8434 /// Sets the maximum pull-down distance for refreshing.
8435 /// This attribute can be set, reset, and obtained through the API as required.
8436 ///
8437 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8438 ///
8439 /// .value[0].f32: maximum pull-down distance, in vp.
8440 ///
8441 ///
8442 /// Format of the return value [`ArkUI_AttributeItem`]:
8443 ///
8444 /// .value[0].f32: maximum pull-down distance, in vp.
8445 ///
8446 ///
8447 /// Available since API-level: 20
8448 #[cfg(feature = "api-20")]
8449 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8450 pub const NODE_REFRESH_MAX_PULL_DOWN_DISTANCE: ArkUI_NodeAttributeType =
8451 ArkUI_NodeAttributeType(1009005);
8452 /// Defines the main axis direction of the <b><WaterFlow></b> component layout.
8453 /// This attribute can be set, reset, and obtained as required through APIs.
8454 ///
8455 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8456 ///
8457 /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
8458 ///
8459 ///
8460 /// Format of the return value [`ArkUI_AttributeItem`]:
8461 ///
8462 /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
8463 pub const NODE_WATER_FLOW_LAYOUT_DIRECTION: ArkUI_NodeAttributeType =
8464 ArkUI_NodeAttributeType(1010000);
8465 /// Sets the number of columns in the water flow layout. If this parameter is not set, one column is used
8466 /// by default. This attribute can be set, reset, and obtained as required through APIs.
8467 /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
8468 /// component's full width, the second column 1/4, and the third column 2/4.
8469 /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
8470 /// columns based on the specified column width <b>track-size</b>.
8471 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8472 /// or a valid number.
8473 ///
8474 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8475 ///
8476 /// .string: number of columns in the layout.
8477 ///
8478 ///
8479 ///
8480 /// Format of the return value [`ArkUI_AttributeItem`]:
8481 ///
8482 /// .string: number of columns in the layout.
8483 pub const NODE_WATER_FLOW_COLUMN_TEMPLATE: ArkUI_NodeAttributeType =
8484 ArkUI_NodeAttributeType(1010001);
8485 /// Sets the number of rows in the water flow layout. If this parameter is not set, one row is used
8486 /// by default. This attribute can be set, reset, and obtained as required through APIs.
8487 /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
8488 /// component's full height, the second row 1/4, and the third row 2/4.
8489 /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
8490 /// based on the specified row height <b>track-size</b>.
8491 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8492 /// or a valid number.
8493 ///
8494 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8495 ///
8496 /// .string: number of rows in the layout.
8497 ///
8498 ///
8499 ///
8500 /// Format of the return value [`ArkUI_AttributeItem`]:
8501 ///
8502 /// .string: number of rows in the layout.
8503 pub const NODE_WATER_FLOW_ROW_TEMPLATE: ArkUI_NodeAttributeType =
8504 ArkUI_NodeAttributeType(1010002);
8505 /// Sets the gap between columns.
8506 /// This attribute can be set, reset, and obtained as required through APIs.
8507 ///
8508 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8509 ///
8510 /// .value[0].f32: gap between columns, in vp.
8511 ///
8512 ///
8513 ///
8514 /// Format of the return value [`ArkUI_AttributeItem`]:
8515 ///
8516 /// .value[0].f32: gap between columns, in vp.
8517 pub const NODE_WATER_FLOW_COLUMN_GAP: ArkUI_NodeAttributeType =
8518 ArkUI_NodeAttributeType(1010003);
8519 /// Sets the gap between rows.
8520 /// This attribute can be set, reset, and obtained as required through APIs.
8521 ///
8522 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8523 ///
8524 /// .value[0].f32: gap between lines, in vp.
8525 ///
8526 ///
8527 ///
8528 /// Format of the return value [`ArkUI_AttributeItem`]:
8529 ///
8530 /// .value[0].f32: gap between lines, in vp.
8531 pub const NODE_WATER_FLOW_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010004);
8532 /// Defines the water flow section configuration.
8533 /// This attribute can be set, reset, and obtained as required through APIs.
8534 ///
8535 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8536 ///
8537 /// .value[0].i32: An index calculated from 0 is converted to an integer,
8538 /// indicating that you want to start changing the position of the group.
8539 /// .object: [`ArkUI_WaterFlowSectionOption`] object.
8540 ///
8541 ///
8542 ///
8543 /// Format of the return value [`ArkUI_AttributeItem`]:
8544 ///
8545 /// .object: [`ArkUI_WaterFlowSectionOption`] object.
8546 pub const NODE_WATER_FLOW_SECTION_OPTION: ArkUI_NodeAttributeType =
8547 ArkUI_NodeAttributeType(1010005);
8548 /// Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs.
8549 ///
8550 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8551 ///
8552 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8553 pub const NODE_WATER_FLOW_NODE_ADAPTER: ArkUI_NodeAttributeType =
8554 ArkUI_NodeAttributeType(1010006);
8555 /// Sets the number of cached items in the water flow adapter.
8556 /// This attribute can be set, reset, and obtained as required through APIs.
8557 ///
8558 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8559 ///
8560 /// value[0].i32:number of cached items in the water flow adapter.
8561 ///
8562 /// .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
8563 /// This parameter is supported since API version 16.
8564 ///
8565 ///
8566 ///
8567 /// Format of the return value [`ArkUI_AttributeItem`]:
8568 ///
8569 /// .value[0].i32: number of cached items in the water flow adapter.
8570 ///
8571 /// .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
8572 /// This parameter is supported since API version 16.
8573 pub const NODE_WATER_FLOW_CACHED_COUNT: ArkUI_NodeAttributeType =
8574 ArkUI_NodeAttributeType(1010007);
8575 /// Set the custom display component at the end of the waterfall flow component.
8576 ///
8577 /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
8578 ///
8579 /// .object: Parameter type [`ArkUI_NodeHandle`].
8580 pub const NODE_WATER_FLOW_FOOTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010008);
8581 /// Scroll to the specified index.
8582 ///
8583 /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
8584 /// lead to performance issues when loading a large number of items.
8585 ///
8586 ///
8587 ///
8588 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8589 ///
8590 /// .value[0].i32:The index value of the target element to be slid to in the current container.
8591 ///
8592 /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
8593 /// 1 indicates an action and 0 indicates no action. Default value is 0。
8594 ///
8595 /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
8596 /// [`ArkUI_ScrollAlignment`]. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。
8597 pub const NODE_WATER_FLOW_SCROLL_TO_INDEX: ArkUI_NodeAttributeType =
8598 ArkUI_NodeAttributeType(1010009);
8599 /// Defines the size constraints to apply to water flow items.
8600 /// This attribute can be set, reset, and obtained as required through APIs.
8601 ///
8602 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8603 ///
8604 /// .value[0].f32: minimum width, in vp.
8605 ///
8606 /// .value[1].f32: maximum width, in vp.
8607 ///
8608 /// .value[2].f32: minimum height, in vp.
8609 ///
8610 /// .value[3].f32: maximum height, in vp.
8611 ///
8612 ///
8613 ///
8614 /// Format of the return value [`ArkUI_AttributeItem`]:
8615 ///
8616 /// .value[0].f32: minimum width, in vp.
8617 ///
8618 /// .value[1].f32: maximum width, in vp.
8619 ///
8620 /// .value[2].f32: minimum height, in vp.
8621 ///
8622 /// .value[3].f32: maximum height, in vp.
8623 pub const NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE: ArkUI_NodeAttributeType =
8624 ArkUI_NodeAttributeType(1010010);
8625 /// Defines the layout mode of the <b><WaterFlow></b> component.
8626 /// This attribute can be set, reset, and obtained as required through APIs.
8627 ///
8628 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8629 ///
8630 /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
8631 ///
8632 ///
8633 /// Format of the return value [`ArkUI_AttributeItem`]:
8634 ///
8635 /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
8636 ///
8637 /// Available since API-level: 18
8638 #[cfg(feature = "api-18")]
8639 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8640 pub const NODE_WATER_FLOW_LAYOUT_MODE: ArkUI_NodeAttributeType =
8641 ArkUI_NodeAttributeType(1010011);
8642 /// Defines whether the <b>WaterFlow</b> component loads child nodes synchronously.
8643 /// This attribute can be set, reset, and obtained as required through APIs.
8644 ///
8645 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8646 ///
8647 /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
8648 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8649 ///
8650 ///
8651 ///
8652 /// Format of the return value [`ArkUI_AttributeItem`]:
8653 ///
8654 /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
8655 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8656 ///
8657 ///
8658 ///
8659 /// Available since API-level: 20
8660 #[cfg(feature = "api-20")]
8661 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8662 pub const NODE_WATER_FLOW_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010012);
8663 /// Set the auxiliary line in the RelativeContaine container, supporting property setting,
8664 /// property reset and property acquisition interfaces.
8665 ///
8666 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8667 ///
8668 /// .object: Auxiliary lines within the RelativeContaine container:
8669 ///
8670 ///
8671 ///
8672 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
8673 ///
8674 /// .object: Auxiliary lines within the RelativeContaine container:
8675 pub const NODE_RELATIVE_CONTAINER_GUIDE_LINE: ArkUI_NodeAttributeType =
8676 ArkUI_NodeAttributeType(1012000);
8677 /// Sets the barrier within the RelativeContaine container and supports property setting,
8678 /// property reset and property acquisition interfaces.
8679 ///
8680 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
8681 ///
8682 /// .object: Auxiliary lines within the RelativeContaine container:
8683 ///
8684 ///
8685 ///
8686 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
8687 ///
8688 /// .object: Barrier within the RelativeContaine container:
8689 pub const NODE_RELATIVE_CONTAINER_BARRIER: ArkUI_NodeAttributeType =
8690 ArkUI_NodeAttributeType(1012001);
8691 /// Sets the number of columns in the grid layout. If this parameter is not set, one column is used
8692 /// by default. This attribute can be set, reset, and obtained as required through APIs.
8693 /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
8694 /// component's full width, the second column 1/4, and the third column 2/4.
8695 /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
8696 /// columns based on the specified column width <b>track-size</b>.
8697 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8698 /// or a valid number.
8699 ///
8700 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8701 ///
8702 /// .string: number of columns in the layout.
8703 ///
8704 ///
8705 ///
8706 /// Format of the return value [`ArkUI_AttributeItem`]:
8707 ///
8708 /// .string: number of columns in the layout.
8709 pub const NODE_GRID_COLUMN_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013000);
8710 /// Sets the number of rows in the grid layout. If this parameter is not set, one row is used
8711 /// by default. This attribute can be set, reset, and obtained as required through APIs.
8712 /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
8713 /// component's full height, the second row 1/4, and the third row 2/4.
8714 /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
8715 /// based on the specified row height <b>track-size</b>.
8716 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
8717 /// or a valid number.
8718 ///
8719 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8720 ///
8721 /// .string: number of rows in the layout.
8722 ///
8723 ///
8724 ///
8725 /// Format of the return value [`ArkUI_AttributeItem`]:
8726 ///
8727 /// .string: number of rows in the layout.
8728 pub const NODE_GRID_ROW_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013001);
8729 /// Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
8730 ///
8731 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8732 ///
8733 /// .value[0].f32: gap between columns, in vp.
8734 ///
8735 ///
8736 ///
8737 /// Format of the return value [`ArkUI_AttributeItem`]:
8738 ///
8739 /// .value[0].f32: gap between columns, in vp.
8740 pub const NODE_GRID_COLUMN_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013002);
8741 /// Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
8742 ///
8743 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8744 ///
8745 /// .value[0].f32: gap between lines, in vp.
8746 ///
8747 ///
8748 ///
8749 /// Format of the return value [`ArkUI_AttributeItem`]:
8750 ///
8751 /// .value[0].f32: gap between lines, in vp.
8752 pub const NODE_GRID_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013003);
8753 /// Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs.
8754 ///
8755 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8756 ///
8757 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8758 pub const NODE_GRID_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013004);
8759 /// Sets the number of cached items in the grid adapter.
8760 /// This attribute can be set, reset, and obtained as required through APIs.
8761 ///
8762 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8763 ///
8764 /// .value[0].i32: number of cached items in the grid adapter.
8765 pub const NODE_GRID_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013005);
8766 /// Defines the focus wrap mode for the <b>Grid</b> component.
8767 /// This attribute can be set, reset, and obtained as required through APIs.
8768 ///
8769 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8770 ///
8771 /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
8772 /// The parameter type is [`ArkUI_FocusWrapMode`].
8773 ///
8774 ///
8775 ///
8776 /// Format of the return value [`ArkUI_AttributeItem`]:
8777 ///
8778 /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
8779 /// The parameter type is [`ArkUI_FocusWrapMode`].
8780 ///
8781 ///
8782 ///
8783 /// Available since API-level: 20
8784 #[cfg(feature = "api-20")]
8785 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8786 pub const NODE_GRID_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013006);
8787 /// Defines whether the <b>Grid</b> component loads child nodes synchronously.
8788 /// This attribute can be set, reset, and obtained as required through APIs.
8789 ///
8790 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8791 ///
8792 /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
8793 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8794 ///
8795 ///
8796 ///
8797 /// Format of the return value [`ArkUI_AttributeItem`]:
8798 ///
8799 /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
8800 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8801 ///
8802 ///
8803 ///
8804 /// Available since API-level: 20
8805 #[cfg(feature = "api-20")]
8806 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8807 pub const NODE_GRID_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013007);
8808 /// Defines the column width of the text picker.
8809 /// This attribute can be set, reset, and obtained as required through APIs.
8810 ///
8811 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8812 ///
8813 /// .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.
8814 ///
8815 /// .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8816 ///
8817 /// .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8818 ///
8819 /// ...
8820 ///
8821 /// .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.
8822 ///
8823 ///
8824 ///
8825 /// Format of the return value [`ArkUI_AttributeItem`]:
8826 ///
8827 /// value[0].f32: percentage of total width.
8828 ///
8829 /// value[1].f32: percentage of total width.
8830 ///
8831 /// value[2].f32: percentage of total width.
8832 ///
8833 /// ...
8834 ///
8835 /// value[n].f32: percentage of total width.
8836 ///
8837 ///
8838 ///
8839 /// Available since API-level: 18
8840 #[cfg(feature = "api-18")]
8841 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8842 pub const NODE_TEXT_PICKER_COLUMN_WIDTHS: ArkUI_NodeAttributeType =
8843 ArkUI_NodeAttributeType(15009);
8844 /// Defines the disabled date range of the calendar picker.
8845 /// This attribute can be set, reset, and obtained as required through APIs.
8846 ///
8847 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8848 ///
8849 /// .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`,
8850 /// ...,`nth start date`,`nth end date` of the disabled date range.
8851 ///
8852 /// Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31
8853 ///
8854 ///
8855 ///
8856 /// Format of the return value [`ArkUI_AttributeItem`]:
8857 ///
8858 /// .string: A string of dates.
8859 ///
8860 ///
8861 ///
8862 /// Available since API-level: 19
8863 #[cfg(feature = "api-19")]
8864 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8865 pub const NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE: ArkUI_NodeAttributeType =
8866 ArkUI_NodeAttributeType(16006);
8867 /// Defines whether the calendar picker marks today.
8868 /// This attribute can be set, reset, and obtained as required through APIs.
8869 ///
8870 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8871 ///
8872 /// value[0].i32: whether the calendar picker marks today. The default value is <b>false</b>.
8873 ///
8874 ///
8875 ///
8876 /// Format of the return value [`ArkUI_AttributeItem`]:
8877 ///
8878 /// value[0].i32: whether the calendar picker marks today.
8879 ///
8880 ///
8881 ///
8882 /// Available since API-level: 19
8883 #[cfg(feature = "api-19")]
8884 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8885 pub const NODE_CALENDAR_PICKER_MARK_TODAY: ArkUI_NodeAttributeType =
8886 ArkUI_NodeAttributeType(16007);
8887 /// Defines the want used to start EmbeddedAbility.
8888 /// This attribute can be set as required through APIs.
8889 ///
8890 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8891 ///
8892 /// .object: The want of EmbeddedComponent, with parameter type [`AbilityBase_Want`].
8893 /// The default value is <b>nullptr</b>.
8894 ///
8895 ///
8896 ///
8897 /// Available since API-level: 20
8898 #[cfg(feature = "api-20")]
8899 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8900 pub const NODE_EMBEDDED_COMPONENT_WANT: ArkUI_NodeAttributeType =
8901 ArkUI_NodeAttributeType(1016000);
8902 /// Set onError and onTerminated callbacks for EMBEDDED_COMPONENT.
8903 /// This attribute can be set as required through APIs.
8904 ///
8905 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8906 ///
8907 /// .object: The option for EmbeddedComponent, with parameter type [`ArkUI_EmbeddedComponentOption`].
8908 ///
8909 ///
8910 ///
8911 /// Available since API-level: 20
8912 #[cfg(feature = "api-20")]
8913 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8914 pub const NODE_EMBEDDED_COMPONENT_OPTION: ArkUI_NodeAttributeType =
8915 ArkUI_NodeAttributeType(1016001);
8916}
8917#[repr(transparent)]
8918/// Defines the ArkUI style attributes that can be set on the native side.
8919///
8920///
8921/// Available since API-level: 12
8922#[cfg(feature = "api-12")]
8923#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8924#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8925pub struct ArkUI_NodeAttributeType(pub ::core::ffi::c_uint);
8926/// Defines the parameter type of the component callback event.
8927///
8928///
8929/// Available since API-level: 12
8930#[cfg(feature = "api-12")]
8931#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8932#[repr(C)]
8933pub struct ArkUI_NodeComponentEvent {
8934 /// Data array object.
8935 pub data: [ArkUI_NumberValue; 12usize],
8936}
8937/// Defines the string type parameter used by the component callback event.
8938///
8939///
8940/// Available since API-level: 12
8941#[cfg(feature = "api-12")]
8942#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8943#[repr(C)]
8944#[derive(Debug, Copy, Clone)]
8945pub struct ArkUI_StringAsyncEvent {
8946 /// String.
8947 pub pStr: *const ::core::ffi::c_char,
8948}
8949/// Defines a hybrid data structure for component events.
8950///
8951///
8952/// Available since API-level: 15
8953#[cfg(feature = "api-15")]
8954#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8955#[repr(C)]
8956#[derive(Debug, Copy, Clone)]
8957pub struct ArkUI_TextChangeEvent {
8958 /// String data
8959 pub pStr: *const ::core::ffi::c_char,
8960 /// Extended string data
8961 pub pExtendStr: *const ::core::ffi::c_char,
8962 /// Numeric data
8963 pub number: i32,
8964}
8965#[cfg(feature = "api-12")]
8966#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
8967impl ArkUI_NodeEventType {
8968 /// Defines the gesture event type.
8969 ///
8970 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8971 /// [`ArkUI_UIInputEvent`].
8972 pub const NODE_TOUCH_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(0);
8973 /// Defines the mount event.
8974 ///
8975 /// This event is triggered when the component is mounted and displayed.
8976 ///
8977 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8978 /// [`ArkUI_NodeComponentEvent`].
8979 ///
8980 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
8981 pub const NODE_EVENT_ON_APPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(1);
8982 /// Defines the unmount event.
8983 ///
8984 /// This event is triggered when the component is unmounted and hidden.
8985 ///
8986 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8987 /// [`ArkUI_NodeComponentEvent`].
8988 ///
8989 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
8990 pub const NODE_EVENT_ON_DISAPPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(2);
8991 /// Defines the area change event.
8992 ///
8993 /// This event is triggered when the component's size, position, or any other attribute that may
8994 /// affect its display area changes.
8995 ///
8996 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
8997 /// [`ArkUI_NodeComponentEvent`].
8998 ///
8999 /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
9000 ///
9001 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp.
9002 /// The value type is number.
9003 ///
9004 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp.
9005 /// The value type is number.
9006 ///
9007 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner
9008 /// relative to the parent element's, in vp. The value type is number.
9009 ///
9010 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner
9011 /// relative to the parent element's, in vp. The value type is number.
9012 ///
9013 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner
9014 /// relative to the page's, in vp. The value type is number.
9015 ///
9016 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner
9017 /// relative to the page's, in vp. The value type is number.
9018 ///
9019 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number.
9020 ///
9021 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number.
9022 ///
9023 /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative
9024 /// to the parent element's, in vp. The value type is number.
9025 ///
9026 /// <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative
9027 /// to the parent element's, in vp. The value type is number.
9028 ///
9029 /// <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative
9030 /// to the page's, in vp. The value type is number.
9031 ///
9032 /// <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative
9033 /// to the page's, in vp. The value type is number.
9034 pub const NODE_EVENT_ON_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(3);
9035 /// Defines the focus event.
9036 ///
9037 /// This event is triggered when the component obtains the focus.
9038 ///
9039 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9040 /// [`ArkUI_NodeComponentEvent`].
9041 ///
9042 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9043 pub const NODE_ON_FOCUS: ArkUI_NodeEventType = ArkUI_NodeEventType(4);
9044 /// Defines the blur event.
9045 ///
9046 /// This event is triggered when the component loses the focus.
9047 ///
9048 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9049 /// [`ArkUI_NodeComponentEvent`].
9050 ///
9051 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9052 pub const NODE_ON_BLUR: ArkUI_NodeEventType = ArkUI_NodeEventType(5);
9053 /// Defines the click event.
9054 ///
9055 /// This event is triggered when the component is clicked.
9056 ///
9057 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9058 /// [`ArkUI_NodeComponentEvent`].
9059 ///
9060 /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
9061 ///
9062 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the
9063 /// clicked component's original area, in vp.
9064 ///
9065 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the
9066 /// clicked component's original area, in vp.
9067 ///
9068 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event
9069 /// is triggered and the time when the system starts, in microseconds.
9070 ///
9071 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse,
9072 /// <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key.
9073 ///
9074 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the
9075 /// application window, in vp.
9076 ///
9077 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the
9078 /// application window, in vp.
9079 ///
9080 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the
9081 /// application screen, in vp.
9082 ///
9083 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the
9084 /// application screen, in vp.
9085 pub const NODE_ON_CLICK: ArkUI_NodeEventType = ArkUI_NodeEventType(6);
9086 /// Defines event interception.
9087 ///
9088 /// This event is triggered when the component is touched.
9089 ///
9090 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9091 /// [`ArkUI_UIInputEvent`].
9092 pub const NODE_ON_TOUCH_INTERCEPT: ArkUI_NodeEventType = ArkUI_NodeEventType(7);
9093 /// Defines the visible area change event.
9094 ///
9095 /// This event is triggered when the ratio of the component's visible area to its total area is greater than or less
9096 /// than the threshold.
9097 /// Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>.
9098 ///
9099 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9100 /// [`ArkUI_NodeComponentEvent`].
9101 ///
9102 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9103 ///
9104 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
9105 /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a
9106 /// decrease.
9107 ///
9108 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this
9109 /// callback is invoked.
9110 pub const NODE_EVENT_ON_VISIBLE_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8);
9111 /// Defines the event triggered when the mouse pointer is moved over or away from the component.
9112 ///
9113 ///
9114 ///
9115 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9116 /// [`ArkUI_NodeComponentEvent`].
9117 ///
9118 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9119 ///
9120 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component.
9121 /// The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that
9122 /// the mouse pointer is moved away from the component.
9123 pub const NODE_ON_HOVER: ArkUI_NodeEventType = ArkUI_NodeEventType(9);
9124 /// Defines the click event.
9125 ///
9126 /// This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves
9127 /// within the component.
9128 ///
9129 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9130 /// [`ArkUI_UIInputEvent`].
9131 pub const NODE_ON_MOUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(10);
9132 /// Defines the attach event.
9133 ///
9134 /// This event is triggered when the component is attached.
9135 ///
9136 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9137 /// [`ArkUI_NodeComponentEvent`].
9138 ///
9139 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9140 pub const NODE_EVENT_ON_ATTACH: ArkUI_NodeEventType = ArkUI_NodeEventType(11);
9141 /// Defines the detach event.
9142 ///
9143 /// This event is triggered when the component is detached.
9144 ///
9145 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9146 /// [`ArkUI_NodeComponentEvent`].
9147 ///
9148 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9149 pub const NODE_EVENT_ON_DETACH: ArkUI_NodeEventType = ArkUI_NodeEventType(12);
9150 /// Defines the accessibility action event.
9151 ///
9152 /// This event is triggered when The accessibility operation type has been set and
9153 /// corresponding operations have been carried out.
9154 ///
9155 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9156 /// [`ArkUI_NodeComponentEvent`].
9157 ///
9158 /// [`ArkUI_NodeComponentEvent`] contains one parameters:
9159 ///
9160 /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is
9161 /// [`ArkUI_AccessibilityActionType`]
9162 pub const NODE_ON_ACCESSIBILITY_ACTIONS: ArkUI_NodeEventType = ArkUI_NodeEventType(13);
9163 /// Notifies the listener of the interaction state prior to a drop and drop operation.
9164 ///
9165 /// This event is triggered when a drag operation is about to start on a draggable item.
9166 ///
9167 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9168 /// [`ArkUI_NodeComponentEvent`].
9169 ///
9170 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9171 ///
9172 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to [`ArkUI_PreDragStatus`].
9173 pub const NODE_ON_PRE_DRAG: ArkUI_NodeEventType = ArkUI_NodeEventType(14);
9174 /// Called when the user starts to drag an ite
9175 ///
9176 /// A drag operation is recognized only when the dragged item is moved far enough.
9177 ///
9178 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9179 /// [`ArkUI_NodeEvent`] object.
9180 pub const NODE_ON_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(15);
9181 /// Called when a dragged item enters the boundaries of the current component.
9182 ///
9183 /// The current component refers to the component that listens for this event.
9184 ///
9185 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9186 /// [`ArkUI_NodeEvent`] object.
9187 pub const NODE_ON_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(16);
9188 /// Called when a dragged item moves in the current component.
9189 ///
9190 /// The current component refers to the component that listens for this event.
9191 ///
9192 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9193 /// [`ArkUI_NodeEvent`] object.
9194 pub const NODE_ON_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(17);
9195 /// Called when a dragged item leaves the boundaries of the current component.
9196 ///
9197 /// The current component refers to the component that listens for this event.
9198 ///
9199 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9200 /// [`ArkUI_NodeEvent`] object.
9201 pub const NODE_ON_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(18);
9202 /// Called when a dragged item is dropped on the current component.
9203 /// The component can obtain the drag data for processing through the callback.
9204 ///
9205 /// The current component refers to the component that listens for this event.
9206 ///
9207 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9208 /// [`ArkUI_NodeEvent`] object.
9209 pub const NODE_ON_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(19);
9210 /// Called when a drag operation ends.
9211 /// The drag source can obtain the drag result by registering this callback.
9212 ///
9213 /// A drag operation ends when the dragged item is released.
9214 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
9215 /// [`ArkUI_NodeEvent`] object.
9216 pub const NODE_ON_DRAG_END: ArkUI_NodeEventType = ArkUI_NodeEventType(20);
9217 /// Defines the event triggered when a key event occurs.
9218 ///
9219 /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
9220 /// device.
9221 ///
9222 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9223 /// [`ArkUI_NodeComponentEvent`].
9224 ///
9225 ///
9226 ///
9227 /// Available since API-level: 14
9228 #[cfg(feature = "api-14")]
9229 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9230 pub const NODE_ON_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(21);
9231 /// Defines the event triggered before the input method responds to the key action.
9232 ///
9233 /// If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
9234 /// subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
9235 /// and no longer triggered.
9236 /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
9237 /// device.
9238 ///
9239 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9240 /// [`ArkUI_NodeComponentEvent`].
9241 ///
9242 ///
9243 ///
9244 /// Available since API-level: 14
9245 #[cfg(feature = "api-14")]
9246 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9247 pub const NODE_ON_KEY_PRE_IME: ArkUI_NodeEventType = ArkUI_NodeEventType(22);
9248 /// Defines the event triggered when the bound component receives a focus axis event after gaining focus.
9249 ///
9250 /// The event callback is triggered by interactions with a joystick and a focused component.
9251 ///
9252 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9253 /// [`ArkUI_UIInputEvent`].
9254 ///
9255 ///
9256 ///
9257 /// Available since API-level: 15
9258 #[cfg(feature = "api-15")]
9259 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9260 pub const NODE_ON_FOCUS_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(23);
9261 /// Dispatch key event on the component node.
9262 ///
9263 /// When the component node receives a key event, this callback will be triggered instead of dispatching event to its
9264 /// children.
9265 ///
9266 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9267 /// [`ArkUI_NodeComponentEvent`].
9268 ///
9269 ///
9270 ///
9271 /// Available since API-level: 15
9272 #[cfg(feature = "api-15")]
9273 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9274 pub const NODE_DISPATCH_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(24);
9275 /// Defines the event triggered when the bound component receives an axis event.
9276 ///
9277 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9278 /// [`ArkUI_UIInputEvent`].
9279 ///
9280 ///
9281 ///
9282 /// Available since API-level: 17
9283 #[cfg(feature = "api-17")]
9284 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9285 pub const NODE_ON_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(25);
9286 /// Defines the event triggered when the bound component is clicked.
9287 ///
9288 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9289 /// [`ArkUI_UIInputEvent`].
9290 ///
9291 ///
9292 ///
9293 /// Available since API-level: 18
9294 #[cfg(feature = "api-18")]
9295 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
9296 pub const NODE_ON_CLICK_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(26);
9297 /// Defines the event triggered when the mouse pointer hovers over or moves away from a component.
9298 ///
9299 /// This event is triggered when the mouse pointer enters or leaves the component's bounding box.
9300 ///
9301 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9302 /// [`ArkUI_UIInputEvent`].
9303 ///
9304 ///
9305 ///
9306 /// Available since API-level: 17
9307 #[cfg(feature = "api-17")]
9308 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9309 pub const NODE_ON_HOVER_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(27);
9310 /// Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval.
9311 ///
9312 /// The callback is triggered when the ratio of the component's visible area to its total area is greater than or
9313 /// less than the threshold. Before registering the callback, you must configure the threshold and update interval
9314 /// using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>.
9315 ///
9316 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9317 /// [`ArkUI_NodeComponentEvent`].
9318 ///
9319 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9320 ///
9321 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
9322 /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates
9323 /// a decrease.
9324 ///
9325 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area
9326 /// when this callback is invoked.
9327 ///
9328 ///
9329 ///
9330 /// Available since API-level: 17
9331 #[cfg(feature = "api-17")]
9332 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
9333 pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT: ArkUI_NodeEventType =
9334 ArkUI_NodeEventType(28);
9335 /// Defines the hover event.
9336 ///
9337 /// The event is triggered when the pointer is hovered by a pen device.
9338 /// within the component.
9339 ///
9340 /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
9341 /// [`ArkUI_UIInputEvent`] object.
9342 ///
9343 ///
9344 /// Available since API-level: 15
9345 #[cfg(feature = "api-15")]
9346 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9347 pub const NODE_ON_HOVER_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(29);
9348 /// Defines the size change event.
9349 ///
9350 /// The event will be triggered when the component size changes.
9351 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9352 /// [`ArkUI_NodeComponentEvent`].
9353 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
9354 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: the width of the old rectangle.
9355 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: the height of the old rectangle.
9356 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the width of the new rectangle.
9357 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: the height of the new rectangle.
9358 ///
9359 /// Available since API-level: 21
9360 #[cfg(feature = "api-21")]
9361 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
9362 pub const NODE_ON_SIZE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(30);
9363 /// Triggers onDetectResultUpdate callback
9364 /// when the text is set to TextDataDetectorConfig and recognized successfully.
9365 ///
9366 /// Trigger this event when TextDataDetectorConfig is set and recognized successfully.
9367 ///
9368 /// When the event callback occurs, the event parameter[`ArkUI_NodeEvent`]The union type in the object is
9369 /// [`ArkUI_StringAsyncEvent`].
9370 ///
9371 /// [`ArkUI_StringAsyncEvent`]contains 1 parameter
9372 ///
9373 /// <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.
9374 pub const NODE_TEXT_ON_DETECT_RESULT_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1000);
9375 /// Defines the long press event for span.
9376 ///
9377 /// The event is triggered when the span is long pressed.
9378 /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
9379 /// [`ArkUI_UIInputEvent`] object.
9380 ///
9381 ///
9382 /// Available since API-level: 20
9383 #[cfg(feature = "api-20")]
9384 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9385 pub const NODE_TEXT_SPAN_ON_LONG_PRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(1001);
9386 /// Defines the image loading success event.
9387 ///
9388 /// This event is triggered when an image is successfully loaded or decoded.
9389 ///
9390 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9391 /// [`ArkUI_NodeComponentEvent`].
9392 ///
9393 /// [`ArkUI_NodeComponentEvent`] contains nine parameters:
9394 ///
9395 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is
9396 /// loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully.
9397 ///
9398 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px.
9399 ///
9400 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px.
9401 ///
9402 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px.
9403 ///
9404 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px.
9405 ///
9406 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the
9407 /// x-axis, in px.
9408 ///
9409 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the
9410 /// y-axis, in px.
9411 ///
9412 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px.
9413 ///
9414 /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px.
9415 pub const NODE_IMAGE_ON_COMPLETE: ArkUI_NodeEventType = ArkUI_NodeEventType(4000);
9416 /// Defines the image loading failure event.
9417 ///
9418 /// This event is triggered when an error occurs during image loading.
9419 ///
9420 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9421 /// [`ArkUI_NodeComponentEvent`].
9422 ///
9423 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9424 ///
9425 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:
9426 ///
9427 /// 401: The image could not be obtained because the image path is invalid.
9428 ///
9429 /// 103101: The image format is not supported.
9430 pub const NODE_IMAGE_ON_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(4001);
9431 /// Defines the SVG animation playback completion event.
9432 ///
9433 /// This event is triggered when the animation playback in the loaded SVG image is complete.
9434 ///
9435 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9436 /// [`ArkUI_NodeComponentEvent`].
9437 ///
9438 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
9439 pub const NODE_IMAGE_ON_SVG_PLAY_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(4002);
9440 /// Defines image download process event.
9441 ///
9442 /// This event is triggered when downloading webpage images from page components.
9443 ///
9444 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9445 /// [`ArkUI_NodeComponentEvent`].
9446 ///
9447 /// [`ArkUI_NodeComponentEvent`] contains two parameter:
9448 ///
9449 /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded.
9450 ///
9451 /// <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download.
9452 pub const NODE_IMAGE_ON_DOWNLOAD_PROGRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(4003);
9453 /// Defines the event triggered when the toggle status changes.
9454 ///
9455 ///
9456 ///
9457 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9458 /// [`ArkUI_NodeComponentEvent`].
9459 ///
9460 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9461 ///
9462 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off.
9463 pub const NODE_TOGGLE_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(5000);
9464 /// Defines the event triggered when the text input content changes.
9465 ///
9466 ///
9467 ///
9468 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9469 /// [`ArkUI_StringAsyncEvent`].
9470 ///
9471 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9472 ///
9473 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text input.
9474 pub const NODE_TEXT_INPUT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7000);
9475 /// Defines the event triggered when the Enter key of the text input method is pressed.
9476 ///
9477 ///
9478 ///
9479 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9480 /// [`ArkUI_NodeComponentEvent`].
9481 ///
9482 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9483 ///
9484 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method.
9485 pub const NODE_TEXT_INPUT_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(7001);
9486 /// Defines the event triggered when the cut button on the pasteboard, which displays when the text box
9487 /// is long pressed, is clicked.
9488 ///
9489 ///
9490 ///
9491 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9492 /// [`ArkUI_StringAsyncEvent`].
9493 ///
9494 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9495 ///
9496 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut.
9497 pub const NODE_TEXT_INPUT_ON_CUT: ArkUI_NodeEventType = ArkUI_NodeEventType(7002);
9498 /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box
9499 /// is long pressed, is clicked.
9500 ///
9501 ///
9502 ///
9503 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9504 /// [`ArkUI_StringAsyncEvent`].
9505 ///
9506 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9507 ///
9508 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
9509 pub const NODE_TEXT_INPUT_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(7003);
9510 /// Defines the event triggered when the text selection position changes.
9511 ///
9512 ///
9513 ///
9514 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9515 /// [`ArkUI_NodeComponentEvent`].
9516 ///
9517 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9518 ///
9519 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
9520 ///
9521 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
9522 pub const NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
9523 ArkUI_NodeEventType(7004);
9524 /// Defines the event triggered when the input status changes.
9525 ///
9526 ///
9527 ///
9528 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9529 /// [`ArkUI_NodeComponentEvent`].
9530 ///
9531 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9532 ///
9533 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
9534 pub const NODE_TEXT_INPUT_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7005);
9535 /// textInput This event is triggered when the input content changes.
9536 ///
9537 /// Conditions for triggering this event: When the input content changes.
9538 ///
9539 /// When the event callback occurs, the union type in the event parameter
9540 /// [`ArkUI_NodeEvent`] object is [`ArkUI_NodeComponentEvent`].
9541 ///
9542 /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
9543 ///
9544 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
9545 ///
9546 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
9547 pub const NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
9548 ArkUI_NodeEventType(7006);
9549 /// Defines the event triggered when matching with the regular expression specified by
9550 /// <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails.
9551 ///
9552 ///
9553 ///
9554 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9555 /// [`ArkUI_StringAsyncEvent`].
9556 ///
9557 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9558 ///
9559 /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
9560 pub const NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType =
9561 ArkUI_NodeEventType(7007);
9562 /// This callback is triggered when the text content is scrolled.
9563 ///
9564 ///
9565 ///
9566 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9567 /// [`ArkUI_NodeComponentEvent`].
9568 ///
9569 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9570 ///
9571 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
9572 ///
9573 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
9574 ///
9575 /// the text in the content area.
9576 pub const NODE_TEXT_INPUT_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(7008);
9577 /// Defines the event triggered when text is about to be entered.
9578 ///
9579 /// The event parameter is [`ArkUI_NodeEvent`].
9580 ///
9581 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9582 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9583 ///
9584 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9585 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9586 ///
9587 /// # Returns
9588 ///
9589 /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
9590 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9591 pub const NODE_TEXT_INPUT_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7009);
9592 /// Defines the event triggered when text is entered.
9593 ///
9594 /// The event parameter is [`ArkUI_NodeEvent`].
9595 ///
9596 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9597 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9598 ///
9599 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9600 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9601 pub const NODE_TEXT_INPUT_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7010);
9602 /// Defines the event triggered when text is about to be deleted.
9603 ///
9604 /// The event parameter is [`ArkUI_NodeEvent`].
9605 ///
9606 /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
9607 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9608 ///
9609 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9610 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9611 /// forward-delete.
9612 ///
9613 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9614 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9615 ///
9616 /// # Returns
9617 ///
9618 /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
9619 ///
9620 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9621 pub const NODE_TEXT_INPUT_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7011);
9622 /// Defines the event triggered when text is deleted.
9623 ///
9624 /// The event parameter is [`ArkUI_NodeEvent`].
9625 ///
9626 /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
9627 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9628 ///
9629 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9630 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9631 /// forward-delete.
9632 ///
9633 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9634 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9635 pub const NODE_TEXT_INPUT_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7012);
9636 /// Defines the event triggered when content (including preview text) changes in the <b>TextInput</b>
9637 /// component.
9638 ///
9639 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9640 ///
9641 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9642 ///
9643 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
9644 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
9645 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
9646 ///
9647 ///
9648 /// Available since API-level: 15
9649 #[cfg(feature = "api-15")]
9650 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9651 pub const NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
9652 ArkUI_NodeEventType(7013);
9653 /// Defines the event triggered before content changes
9654 ///
9655 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9656 ///
9657 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9658 ///
9659 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
9660 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
9661 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
9662 ///
9663 ///
9664 /// Available since API-level: 20
9665 #[cfg(feature = "api-20")]
9666 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9667 pub const NODE_TEXT_INPUT_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7014);
9668 /// Defines the event triggered when the input in the text box changes.
9669 ///
9670 ///
9671 ///
9672 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9673 /// [`ArkUI_StringAsyncEvent`].
9674 ///
9675 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9676 ///
9677 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text entered.
9678 pub const NODE_TEXT_AREA_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8000);
9679 /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box is
9680 /// long pressed, is clicked.
9681 ///
9682 ///
9683 ///
9684 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9685 /// [`ArkUI_StringAsyncEvent`].
9686 ///
9687 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9688 ///
9689 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
9690 pub const NODE_TEXT_AREA_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(8001);
9691 /// Defines the event triggered when the text selection position changes.
9692 ///
9693 ///
9694 ///
9695 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9696 /// [`ArkUI_NodeComponentEvent`].
9697 ///
9698 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9699 ///
9700 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
9701 ///
9702 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
9703 pub const NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
9704 ArkUI_NodeEventType(8002);
9705 /// Defines the event triggered when matching with the regular expression specified by
9706 /// <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails.
9707 ///
9708 ///
9709 ///
9710 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9711 /// [`ArkUI_StringAsyncEvent`].
9712 ///
9713 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
9714 ///
9715 /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
9716 pub const NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(8003);
9717 /// This callback is triggered when the text content is scrolled.
9718 ///
9719 ///
9720 ///
9721 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9722 /// [`ArkUI_NodeComponentEvent`].
9723 ///
9724 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9725 ///
9726 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
9727 ///
9728 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
9729 ///
9730 /// the text in the content area.
9731 pub const NODE_TEXT_AREA_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(8004);
9732 /// Defines the event triggered when the input status changes.
9733 ///
9734 ///
9735 ///
9736 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9737 ///
9738 /// [`ArkUI_NodeComponentEvent`].
9739 ///
9740 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9741 ///
9742 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
9743 pub const NODE_TEXT_AREA_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8005);
9744 /// Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box.
9745 ///
9746 /// This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>.
9747 ///
9748 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9749 ///
9750 /// [`ArkUI_NodeComponentEvent`].
9751 ///
9752 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9753 ///
9754 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key.
9755 pub const NODE_TEXT_AREA_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(8006);
9756 /// textArea This event is triggered when the input content changes.
9757 ///
9758 /// Conditions for triggering this event: When the input content changes.
9759 ///
9760 /// When the event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
9761 ///
9762 /// [`ArkUI_NodeComponentEvent`].
9763 ///
9764 /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
9765 ///
9766 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
9767 ///
9768 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
9769 pub const NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
9770 ArkUI_NodeEventType(8007);
9771 /// Defines the event triggered when text is about to be entered.
9772 ///
9773 /// The event parameter is [`ArkUI_NodeEvent`].
9774 ///
9775 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9776 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9777 ///
9778 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9779 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9780 ///
9781 /// # Returns
9782 ///
9783 /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
9784 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9785 pub const NODE_TEXT_AREA_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8008);
9786 /// Defines the event triggered when text is entered.
9787 ///
9788 /// The event parameter is [`ArkUI_NodeEvent`].
9789 ///
9790 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
9791 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9792 ///
9793 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9794 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9795 pub const NODE_TEXT_AREA_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8009);
9796 /// Defines the event triggered when text is about to be deleted.
9797 ///
9798 /// The event parameter is [`ArkUI_NodeEvent`].
9799 ///
9800 /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
9801 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9802 ///
9803 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9804 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9805 /// forward-delete.
9806 ///
9807 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9808 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9809 ///
9810 /// # Returns
9811 ///
9812 /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
9813 ///
9814 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
9815 pub const NODE_TEXT_AREA_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8010);
9816 /// Defines the event triggered when text is deleted.
9817 ///
9818 /// The event parameter is [`ArkUI_NodeEvent`].
9819 ///
9820 /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
9821 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
9822 ///
9823 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
9824 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
9825 /// forward-delete.
9826 ///
9827 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
9828 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
9829 pub const NODE_TEXT_AREA_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8011);
9830 /// Defines the event triggered when content (including preview text) changes in the <b>TextArea</b>
9831 /// component.
9832 ///
9833 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9834 ///
9835 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9836 ///
9837 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
9838 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
9839 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
9840 ///
9841 ///
9842 /// Available since API-level: 15
9843 #[cfg(feature = "api-15")]
9844 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9845 pub const NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
9846 ArkUI_NodeEventType(8012);
9847 /// Defines the event triggered before content changes.
9848 ///
9849 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
9850 ///
9851 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
9852 ///
9853 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
9854 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
9855 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
9856 ///
9857 ///
9858 /// Available since API-level: 20
9859 #[cfg(feature = "api-20")]
9860 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9861 pub const NODE_TEXT_AREA_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8013);
9862 /// Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes.
9863 ///
9864 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9865 /// [`ArkUI_NodeComponentEvent`].
9866 ///
9867 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.
9868 pub const NODE_CHECKBOX_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(11000);
9869 /// Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component.
9870 ///
9871 ///
9872 ///
9873 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9874 /// [`ArkUI_NodeComponentEvent`].
9875 ///
9876 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
9877 ///
9878 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date.
9879 ///
9880 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11].
9881 ///
9882 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date.
9883 pub const NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE: ArkUI_NodeEventType =
9884 ArkUI_NodeEventType(13000);
9885 /// Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component.
9886 ///
9887 ///
9888 ///
9889 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9890 /// [`ArkUI_NodeComponentEvent`].
9891 ///
9892 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9893 ///
9894 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23].
9895 ///
9896 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59].
9897 pub const NODE_TIME_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(14000);
9898 /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component.
9899 ///
9900 ///
9901 ///
9902 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9903 /// [`ArkUI_NodeComponentEvent`].
9904 ///
9905 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9906 ///
9907 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
9908 pub const NODE_TEXT_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(15000);
9909 /// Defines the event triggered when an item is selected and scrolling has stopped in the
9910 /// <b>ARKUI_NODE_TEXT_PICKER</b> component.
9911 ///
9912 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9913 /// [`ArkUI_NodeComponentEvent`].
9914 ///
9915 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9916 ///
9917 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
9918 ///
9919 ///
9920 ///
9921 /// Available since API-level: 14
9922 #[cfg(feature = "api-14")]
9923 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
9924 pub const NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType =
9925 ArkUI_NodeEventType(15001);
9926 /// Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>.
9927 ///
9928 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9929 /// [`ArkUI_NodeComponentEvent`].
9930 ///
9931 /// <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date.
9932 ///
9933 /// <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date.
9934 ///
9935 /// <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date.
9936 pub const NODE_CALENDAR_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType =
9937 ArkUI_NodeEventType(16000);
9938 /// Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked.
9939 ///
9940 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9941 /// [`ArkUI_NodeComponentEvent`].
9942 ///
9943 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
9944 ///
9945 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value.
9946 ///
9947 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.
9948 pub const NODE_SLIDER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(17000);
9949 /// Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO.
9950 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9951 ///
9952 /// [`ArkUI_NodeComponentEvent`].
9953 ///
9954 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
9955 ///
9956 /// ArkUI_NodeComponentEvent.data[0].i32: option button status.
9957 pub const NODE_RADIO_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(18000);
9958 /// Defines the event callback function triggered when the animation starts to play.
9959 ///
9960 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9961 ///
9962 /// [`ArkUI_NodeComponentEvent`].
9963 ///
9964 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9965 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_START: ArkUI_NodeEventType = ArkUI_NodeEventType(19000);
9966 /// Defines the event callback function triggered when the animation playback is paused.
9967 ///
9968 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9969 ///
9970 /// [`ArkUI_NodeComponentEvent`].
9971 ///
9972 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9973 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(19001);
9974 /// Defines the event callback function triggered when the animation playback is repeated.
9975 ///
9976 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9977 ///
9978 /// [`ArkUI_NodeComponentEvent`].
9979 ///
9980 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9981 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT: ArkUI_NodeEventType = ArkUI_NodeEventType(19002);
9982 /// Defines the event callback function when the animation playback returns to the initial state.
9983 ///
9984 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9985 ///
9986 /// [`ArkUI_NodeComponentEvent`].
9987 ///
9988 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9989 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL: ArkUI_NodeEventType = ArkUI_NodeEventType(19003);
9990 /// Defines the event callback function triggered when the animation playback is complete or stopped.
9991 ///
9992 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
9993 ///
9994 /// [`ArkUI_NodeComponentEvent`].
9995 ///
9996 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
9997 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(19004);
9998 /// Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b>
9999 /// or checkbox changes.
10000 ///
10001 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10002 /// [`ArkUI_StringAsyncEvent`].
10003 ///
10004 /// <b>ArkUI_StringAsyncEvent.pStr</b>
10005 /// Name: The names of the selected checkboxes;
10006 /// Status:
10007 /// 0: All checkboxes are selected.
10008 /// 1: Some checkboxes are selected.
10009 /// 2: No checkboxes are selected.
10010 ///
10011 ///
10012 ///
10013 /// Available since API-level: 15
10014 #[cfg(feature = "api-15")]
10015 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10016 pub const NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(21000);
10017 /// Defines the event triggered when the index of the currently displayed element of this
10018 /// <b>ARKUI_NODE_SWIPER</b> instance changes.
10019 ///
10020 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10021 /// [`ArkUI_NodeComponentEvent`].
10022 ///
10023 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10024 ///
10025 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10026 pub const NODE_SWIPER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1001000);
10027 /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts.
10028 ///
10029 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10030 /// [`ArkUI_NodeComponentEvent`].
10031 ///
10032 /// [`ArkUI_NodeComponentEvent`] contains five parameters:
10033 ///
10034 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10035 ///
10036 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to.
10037 ///
10038 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the
10039 /// start position of the swiper along the main axis.
10040 ///
10041 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position
10042 /// of the swiper along the main axis.
10043 ///
10044 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity.
10045 pub const NODE_SWIPER_EVENT_ON_ANIMATION_START: ArkUI_NodeEventType =
10046 ArkUI_NodeEventType(1001001);
10047 /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends.
10048 ///
10049 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10050 /// [`ArkUI_NodeComponentEvent`].
10051 ///
10052 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10053 ///
10054 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10055 ///
10056 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
10057 /// start position of the swiper along the main axis.
10058 pub const NODE_SWIPER_EVENT_ON_ANIMATION_END: ArkUI_NodeEventType =
10059 ArkUI_NodeEventType(1001002);
10060 /// Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this
10061 /// <b>ARKUI_NODE_SWIPER</b> instance.
10062 ///
10063 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10064 /// [`ArkUI_NodeComponentEvent`].
10065 ///
10066 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10067 ///
10068 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
10069 ///
10070 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
10071 /// start position of the swiper along the main axis.
10072 pub const NODE_SWIPER_EVENT_ON_GESTURE_SWIPE: ArkUI_NodeEventType =
10073 ArkUI_NodeEventType(1001003);
10074 /// Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events.
10075 /// Instruction:
10076 ///
10077 /// 1. If the [`ArkUI_SwiperDisplayModeType`] attribute is set to
10078 ///
10079 /// ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect.
10080 ///
10081 /// 2, circular scenario, set prevMargin and nextMargin attributes,
10082 ///
10083 /// so that Swiper front and back end display the same page, the interface does not take effect.
10084 ///
10085 /// 3. During page sliding, the ContentDidScrollCallback callback is
10086 ///
10087 /// triggered frame-by-frame for all pages in the window.
10088 ///
10089 /// For example, when there are two pages in the window with subscripts 0 and 1,
10090 ///
10091 /// callbacks with index values 0 and 1 are triggered twice per frame.
10092 ///
10093 /// 4, set the swipeByGroup parameter of the displayCount property to
10094 ///
10095 /// true if at least one page in the same group is in the window,
10096 ///
10097 /// A callback is triggered for all pages in the group.
10098 ///
10099 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10100 /// [`ArkUI_NodeComponentEvent`].
10101 ///
10102 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
10103 ///
10104 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component,
10105 ///
10106 /// which is consistent with the index change in the onChange event.
10107 ///
10108 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window.
10109 ///
10110 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to
10111 ///
10112 /// the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page).
10113 ///
10114 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction.
10115 pub const NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL: ArkUI_NodeEventType =
10116 ArkUI_NodeEventType(1001004);
10117 /// Defines the event triggered when content in the swiper component will scroll.
10118 /// Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked.
10119 ///
10120 ///
10121 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10122 /// [`ArkUI_NodeComponentEvent`].
10123 ///
10124 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10125 ///
10126 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page.
10127 ///
10128 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display.
10129 ///
10130 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame.
10131 /// Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating
10132 /// slide forward(e.g. from index=0 to index=1).
10133 ///
10134 ///
10135 ///
10136 /// Available since API-level: 15
10137 #[cfg(feature = "api-15")]
10138 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10139 pub const NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL: ArkUI_NodeEventType =
10140 ArkUI_NodeEventType(1001007);
10141 /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
10142 ///
10143 /// This event is triggered under the following scenarios:
10144 ///
10145 /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
10146 /// the threshold for page turning.
10147 ///
10148 /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
10149 /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
10150 ///
10151 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10152 /// [`ArkUI_NodeComponentEvent`].
10153 ///
10154 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10155 ///
10156 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element.
10157 ///
10158 ///
10159 ///
10160 /// Available since API-level: 18
10161 #[cfg(feature = "api-18")]
10162 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10163 pub const NODE_SWIPER_EVENT_ON_SELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001005);
10164 /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
10165 ///
10166 /// This event is triggered under the following scenarios:
10167 ///
10168 /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
10169 /// the threshold for page turning.
10170 ///
10171 /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
10172 /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
10173 ///
10174 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10175 /// [`ArkUI_NodeComponentEvent`].
10176 ///
10177 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10178 ///
10179 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected.
10180 ///
10181 ///
10182 ///
10183 /// Available since API-level: 18
10184 #[cfg(feature = "api-18")]
10185 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10186 pub const NODE_SWIPER_EVENT_ON_UNSELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001006);
10187 /// Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event.
10188 /// This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging,
10189 /// during the animation phase after the user lifts their finger, or upon stopping of scrolling.
10190 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10191 /// [`ArkUI_NodeComponentEvent`].
10192 ///
10193 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10194 ///
10195 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is
10196 /// [`ArkUI_ScrollState`].
10197 ///
10198 ///
10199 ///
10200 /// Available since API-level: 20
10201 #[cfg(feature = "api-20")]
10202 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10203 pub const NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED: ArkUI_NodeEventType =
10204 ArkUI_NodeEventType(1001008);
10205 /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls.
10206 ///
10207 /// Notes for triggering the event:
10208 ///
10209 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
10210 /// settings, such as keyboard and mouse operations.
10211 ///
10212 /// 2. Scrolling can be initiated by calling the controller API.
10213 ///
10214 /// 3. The out-of-bounds bounce effect is supported.
10215 ///
10216 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10217 /// [`ArkUI_NodeComponentEvent`].
10218 ///
10219 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10220 ///
10221 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset.
10222 ///
10223 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset.
10224 pub const NODE_SCROLL_EVENT_ON_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002000);
10225 /// Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
10226 ///
10227 /// Notes for triggering the event:
10228 ///
10229 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
10230 /// settings, such as keyboard and mouse operations.
10231 ///
10232 /// 2. This event is not triggered when the controller API is called.
10233 ///
10234 /// 3. This event does not support the out-of-bounds bounce effect.
10235 ///
10236 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10237 /// [`ArkUI_NodeComponentEvent`].
10238 ///
10239 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10240 ///
10241 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by.
10242 ///
10243 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state.
10244 ///
10245 /// <b>::ArkUI_NodeComponentEvent</b> contains one return value:
10246 ///
10247 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component
10248 /// needs to scroll based on the real-world situation and return the result in this parameter.
10249 pub const NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN: ArkUI_NodeEventType =
10250 ArkUI_NodeEventType(1002001);
10251 /// Define the enumeration value of the pre sliding trigger event for the scrolling container component.
10252 ///
10253 /// The conditions that trigger this event:
10254 ///
10255 /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
10256 /// operations that trigger scrolling.
10257 ///
10258 /// 2. Called through the rolling controller API interface.
10259 ///
10260 /// 3. Cross boundary rebound.
10261 ///
10262 /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
10263 /// [`ArkUI_NodeComponentEvent`].
10264 ///
10265 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
10266 ///
10267 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
10268 /// the left and negative when scrolling to the right, measured in vp.
10269 ///
10270 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
10271 /// scrolling up and a negative offset when scrolling down, measured in vp.
10272 ///
10273 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
10274 ///
10275 /// parameter type is [`ArkUI_ScrollState`].
10276 ///
10277 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source,
10278 ///
10279 /// parameter type is [`ArkUI_ScrollSource`].
10280 ///
10281 ///
10282 /// # Returns
10283 ///
10284 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10285 pub const NODE_SCROLL_EVENT_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002002);
10286 /// Define the event enumeration value triggered when sliding a scrolling container component.
10287 ///
10288 /// The conditions that trigger this event:
10289 ///
10290 /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
10291 /// operations that trigger scrolling.
10292 ///
10293 /// 2. Called through the rolling controller API interface.
10294 ///
10295 /// 3. Cross boundary rebound.
10296 ///
10297 /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
10298 /// [`ArkUI_NodeComponentEvent`].
10299 ///
10300 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10301 ///
10302 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
10303 /// the left and negative when scrolling to the right, measured in vp.
10304 ///
10305 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
10306 /// scrolling up and a negative offset when scrolling down, measured in vp.
10307 ///
10308 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
10309 ///
10310 /// parameter type is [`ArkUI_ScrollState`].
10311 pub const NODE_SCROLL_EVENT_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002003);
10312 /// Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
10313 ///
10314 /// Notes for triggering the event:
10315 ///
10316 /// 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard
10317 /// and mouse operations.
10318 ///
10319 /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
10320 ///
10321 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10322 /// [`ArkUI_NodeComponentEvent`].
10323 ///
10324 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10325 pub const NODE_SCROLL_EVENT_ON_SCROLL_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002004);
10326 /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops.
10327 ///
10328 /// Notes for triggering the event:
10329 ///
10330 /// 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input
10331 /// settings, such as keyboard and mouse operations.
10332 ///
10333 /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
10334 ///
10335 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10336 /// [`ArkUI_NodeComponentEvent`].
10337 ///
10338 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10339 pub const NODE_SCROLL_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002005);
10340 /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches
10341 /// one of the edges.
10342 ///
10343 /// Notes for triggering the event:
10344 ///
10345 /// 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b>
10346 /// component or other input settings, such as keyboard and mouse operations.
10347 ///
10348 /// 2. Scrolling can be initiated by calling the controller API.
10349 ///
10350 /// 3. The out-of-bounds bounce effect is supported.
10351 ///
10352 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10353 /// [`ArkUI_NodeComponentEvent`].
10354 ///
10355 /// [`ArkUI_NodeComponentEvent`] contains one parameter.
10356 ///
10357 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches.
10358 pub const NODE_SCROLL_EVENT_ON_SCROLL_EDGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1002006);
10359 /// Define that a callback is triggered when the scrolling container component reaches the start position.
10360 /// Condition for triggering the event:
10361 ///
10362 /// Triggered when the component reaches the start position.
10363 ///
10364 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10365 /// [`ArkUI_NodeComponentEvent`].
10366 ///
10367 /// [`ArkUI_NodeComponentEvent`] contains no parameters.
10368 pub const NODE_SCROLL_EVENT_ON_REACH_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002007);
10369 /// Define that a callback is triggered when the scrolling container component ends.
10370 ///
10371 /// Condition for triggering the event:
10372 ///
10373 /// Triggered when the component reaches the end.
10374 ///
10375 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10376 /// [`ArkUI_NodeComponentEvent`].
10377 ///
10378 /// [`ArkUI_NodeComponentEvent`] contains no parameters.
10379 pub const NODE_SCROLL_EVENT_ON_REACH_END: ArkUI_NodeEventType = ArkUI_NodeEventType(1002008);
10380 /// Defines the callback for when the user is about to release the drag on the scrollable container component.
10381 ///
10382 /// This event is triggered when the user is about to release the drag on the scrollable container component.
10383 ///
10384 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10385 /// [`ArkUI_NodeComponentEvent`].
10386 ///
10387 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10388 ///
10389 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp.
10390 ///
10391 ///
10392 ///
10393 /// Available since API-level: 20
10394 #[cfg(feature = "api-20")]
10395 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10396 pub const NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING: ArkUI_NodeEventType =
10397 ArkUI_NodeEventType(1002009);
10398 /// Defines the callback for the <b>Scroll</b> component's zoom event,
10399 /// triggered at the end of each frame during zooming.
10400 ///
10401 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10402 /// is [`ArkUI_NodeComponentEvent`].
10403 ///
10404 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10405 ///
10406 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale.
10407 ///
10408 ///
10409 ///
10410 /// Available since API-level: 20
10411 #[cfg(feature = "api-20")]
10412 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10413 pub const NODE_SCROLL_EVENT_ON_DID_ZOOM: ArkUI_NodeEventType = ArkUI_NodeEventType(1002010);
10414 /// Defines the callback for the <b>Scroll</b> component's zoom start event,
10415 /// triggered when zooming begins.
10416 ///
10417 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10418 /// is [`ArkUI_NodeComponentEvent`].
10419 ///
10420 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10421 ///
10422 ///
10423 ///
10424 /// Available since API-level: 20
10425 #[cfg(feature = "api-20")]
10426 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10427 pub const NODE_SCROLL_EVENT_ON_ZOOM_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002011);
10428 /// Defines the callback for the <b>Scroll</b> component's zoom end event,
10429 /// triggered when zooming ends.
10430 ///
10431 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
10432 /// is [`ArkUI_NodeComponentEvent`].
10433 ///
10434 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10435 ///
10436 ///
10437 ///
10438 /// Available since API-level: 20
10439 #[cfg(feature = "api-20")]
10440 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10441 pub const NODE_SCROLL_EVENT_ON_ZOOM_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002012);
10442 /// Defines the callback for when the scrollable will start dragging.
10443 ///
10444 /// This event is triggered when the scrollable will start dragging.
10445 ///
10446 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10447 /// [`ArkUI_NodeComponentEvent`].
10448 ///
10449 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10450 ///
10451 ///
10452 /// Available since API-level: 21
10453 #[cfg(feature = "api-21")]
10454 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10455 pub const NODE_SCROLL_EVENT_ON_WILL_START_DRAGGING: ArkUI_NodeEventType =
10456 ArkUI_NodeEventType(1002013);
10457 /// Defines the callback for when the scrollable did end dragging.
10458 ///
10459 /// This event is triggered when the scrollable did end dragging.
10460 ///
10461 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10462 /// [`ArkUI_NodeComponentEvent`].
10463 ///
10464 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10465 ///
10466 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether start fling animation.
10467 ///
10468 ///
10469 ///
10470 /// Available since API-level: 21
10471 #[cfg(feature = "api-21")]
10472 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10473 pub const NODE_SCROLL_EVENT_ON_DID_STOP_DRAGGING: ArkUI_NodeEventType =
10474 ArkUI_NodeEventType(1002014);
10475 /// Defines the callback for when the scrollable will start fling.
10476 ///
10477 /// This event is triggered when the scrollable will start fling.
10478 ///
10479 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10480 /// [`ArkUI_NodeComponentEvent`].
10481 ///
10482 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10483 ///
10484 ///
10485 /// Available since API-level: 21
10486 #[cfg(feature = "api-21")]
10487 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10488 pub const NODE_SCROLL_EVENT_ON_WILL_START_FLING: ArkUI_NodeEventType =
10489 ArkUI_NodeEventType(1002015);
10490 /// Defines the callback for when the scrollable did end fling.
10491 ///
10492 /// This event is triggered when the scrollable did end fling.
10493 ///
10494 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10495 /// [`ArkUI_NodeComponentEvent`].
10496 ///
10497 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
10498 ///
10499 ///
10500 /// Available since API-level: 21
10501 #[cfg(feature = "api-21")]
10502 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
10503 pub const NODE_SCROLL_EVENT_ON_DID_STOP_FLING: ArkUI_NodeEventType =
10504 ArkUI_NodeEventType(1002016);
10505 /// Defines the enumerated values of the event triggered,
10506 ///
10507 /// when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area.
10508 ///
10509 /// Condition for triggering the event:
10510 ///
10511 /// This method is triggered once during list initialization.
10512 ///
10513 /// It is triggered when the index value of the first or last subcomponent in the list display area changes.
10514 ///
10515 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10516 /// [`ArkUI_NodeComponentEvent`].
10517 ///
10518 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10519 ///
10520 /// ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of
10521 ///
10522 /// the first child component in the region.
10523 ///
10524 /// ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of
10525 ///
10526 /// the last child component in the region.
10527 ///
10528 /// ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of
10529 ///
10530 /// the subcomponent in the middle of the area.
10531 pub const NODE_LIST_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1003000);
10532 /// Defines the enumerated values of the event triggered
10533 /// before the sliding of the ARKUI_NODE_LIST component.
10534 ///
10535 /// Condition for triggering the event:
10536 ///
10537 /// This event is triggered when the scrolling component triggers scrolling.
10538 ///
10539 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10540 ///
10541 /// Called through the scroll controller API.
10542 ///
10543 /// Out-of-bounds rebound.
10544 ///
10545 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10546 ///
10547 /// [`ArkUI_NodeComponentEvent`].
10548 ///
10549 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10550 ///
10551 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10552 ///
10553 /// The offset is positive when the list content is scrolled up and
10554 ///
10555 /// is negative when the list content is scrolled down.
10556 ///
10557 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10558 ///
10559 /// parameter type is [`ArkUI_ScrollState`].
10560 ///
10561 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
10562 ///
10563 /// parameter type is [`ArkUI_ScrollSource`].
10564 ///
10565 ///
10566 /// # Returns
10567 ///
10568 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10569 pub const NODE_LIST_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003001);
10570 /// Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked.
10571 /// Condition for triggering the event:
10572 ///
10573 /// This event is triggered when the scrolling component triggers scrolling.
10574 ///
10575 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10576 ///
10577 /// Called through the scroll controller API.
10578 ///
10579 /// Out-of-bounds rebound.
10580 ///
10581 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10582 ///
10583 /// [`ArkUI_NodeComponentEvent`].
10584 ///
10585 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10586 ///
10587 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10588 ///
10589 /// The offset is positive when the list content is scrolled up and
10590 ///
10591 /// is negative when the list content is scrolled down.
10592 ///
10593 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10594 pub const NODE_LIST_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003002);
10595 /// Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes.
10596 ///
10597 /// Notes for triggering the event:
10598 ///
10599 /// This event is triggered once when the list is initialized and when the index of the first child component or the
10600 /// next child component in the list display area changes.
10601 /// During index calculation, the list item, header of the list item group, and footer of the list item group each
10602 /// are counted as a child component.
10603 ///
10604 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10605 /// [`ArkUI_NodeComponentEvent`].
10606 ///
10607 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10608 ///
10609 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area.
10610 ///
10611 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts.
10612 /// The type is [`ArkUI_ListItemGroupArea`].
10613 ///
10614 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area
10615 /// in the list item group.
10616 /// If the start of the list display area is not on a list item, the value is <b>-1</b>.
10617 ///
10618 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area.
10619 ///
10620 /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends.
10621 /// The type is [`ArkUI_ListItemGroupArea`].
10622 ///
10623 /// <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the
10624 /// list item group.
10625 /// If the end of the list display area is not on a list item, the value is <b>-1</b>.
10626 ///
10627 ///
10628 ///
10629 /// Available since API-level: 15
10630 #[cfg(feature = "api-15")]
10631 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10632 pub const NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE: ArkUI_NodeEventType =
10633 ArkUI_NodeEventType(1003003);
10634 /// Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes.
10635 ///
10636 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10637 /// [`ArkUI_NodeComponentEvent`].
10638 ///
10639 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10640 ///
10641 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state.
10642 pub const NODE_REFRESH_STATE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009000);
10643 /// Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state.
10644 ///
10645 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10646 /// [`ArkUI_NodeComponentEvent`].
10647 ///
10648 /// [`ArkUI_NodeComponentEvent`] does not contain parameters:
10649 pub const NODE_REFRESH_ON_REFRESH: ArkUI_NodeEventType = ArkUI_NodeEventType(1009001);
10650 /// Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes.
10651 ///
10652 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10653 /// [`ArkUI_NodeComponentEvent`].
10654 ///
10655 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10656 ///
10657 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance.
10658 pub const NODE_REFRESH_ON_OFFSET_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009002);
10659 /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll.
10660 ///
10661 /// Notes for triggering the event:
10662 ///
10663 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other
10664 /// input settings, such as keyboard and mouse operations.
10665 ///
10666 /// 2. Scrolling can be initiated by calling the controller API.
10667 ///
10668 /// 3. The out-of-bounds bounce effect is supported.
10669 ///
10670 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10671 /// [`ArkUI_NodeComponentEvent`].
10672 ///
10673 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10674 ///
10675 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10676 ///
10677 /// The offset is positive when the list content is scrolled up and
10678 ///
10679 /// is negative when the list content is scrolled down.
10680 ///
10681 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10682 ///
10683 /// parameter type is [`ArkUI_ScrollState`].
10684 ///
10685 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
10686 ///
10687 /// parameter type is [`ArkUI_ScrollSource`].
10688 ///
10689 ///
10690 /// # Returns
10691 ///
10692 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
10693 pub const NODE_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010000);
10694 /// Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides.
10695 /// Condition for triggering the event:
10696 ///
10697 /// This event is triggered when the scrolling component triggers scrolling.
10698 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
10699 ///
10700 /// Called through the scroll controller API.
10701 ///
10702 /// Out-of-bounds rebound.
10703 ///
10704 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10705 ///
10706 /// [`ArkUI_NodeComponentEvent`].
10707 ///
10708 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10709 ///
10710 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
10711 ///
10712 /// The offset is positive when the content is scrolled up and is negative when the content is scrolled down.
10713 ///
10714 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
10715 pub const NODE_WATER_FLOW_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010001);
10716 /// Defines the enumerated values of the event triggered,
10717 /// when the subcomponent of the start position or end position displayed in the current waterfall changes.
10718 /// Condition for triggering the event:
10719 ///
10720 /// This event is triggered when the index value of the
10721 ///
10722 /// first or last subcomponent in the waterfall display area changes.
10723 ///
10724 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10725 ///
10726 /// [`ArkUI_NodeComponentEvent`].
10727 ///
10728 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
10729 ///
10730 /// ArkUI_NodeComponentEvent.data[0].i32: The index value of the
10731 ///
10732 /// start position of the currently displayed WaterFlow.
10733 ///
10734 /// ArkUI_NodeComponentEvent.data[1].i32: The index value of
10735 ///
10736 /// the end position of the currently displayed waterfall.
10737 pub const NODE_WATER_FLOW_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1010002);
10738}
10739#[repr(transparent)]
10740/// Enumerates the event types supported by the NativeNode component.
10741///
10742///
10743/// Available since API-level: 12
10744#[cfg(feature = "api-12")]
10745#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10746#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10747pub struct ArkUI_NodeEventType(pub ::core::ffi::c_uint);
10748/// Defines the common structure type of a component event.
10749///
10750///
10751/// Available since API-level: 12
10752#[cfg(feature = "api-12")]
10753#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10754#[repr(C)]
10755pub struct ArkUI_NodeEvent {
10756 _unused: [u8; 0],
10757}
10758#[cfg(feature = "api-12")]
10759#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10760impl ArkUI_NodeDirtyFlag {
10761 /// Remeasure.
10762 ///
10763 /// When this type of flag is specified, re-layout is triggered by default.
10764 pub const NODE_NEED_MEASURE: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(1);
10765 /// Re-layout.
10766 pub const NODE_NEED_LAYOUT: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(2);
10767 /// Re-rendering.
10768 pub const NODE_NEED_RENDER: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(3);
10769}
10770#[repr(transparent)]
10771/// Defines the dirty area flag passed in the <b>::markDirty</b> API.
10772///
10773///
10774/// Available since API-level: 12
10775#[cfg(feature = "api-12")]
10776#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10777#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10778pub struct ArkUI_NodeDirtyFlag(pub ::core::ffi::c_uint);
10779#[cfg(feature = "api-12")]
10780#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10781impl ArkUI_NodeCustomEventType {
10782 /// Measure type.
10783 pub const ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE: ArkUI_NodeCustomEventType =
10784 ArkUI_NodeCustomEventType(1);
10785 /// Layout type.
10786 pub const ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT: ArkUI_NodeCustomEventType =
10787 ArkUI_NodeCustomEventType(2);
10788 /// Draw type.
10789 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW: ArkUI_NodeCustomEventType =
10790 ArkUI_NodeCustomEventType(4);
10791 /// Foreground type.
10792 pub const ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW: ArkUI_NodeCustomEventType =
10793 ArkUI_NodeCustomEventType(8);
10794 /// Overlay type.
10795 pub const ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW: ArkUI_NodeCustomEventType =
10796 ArkUI_NodeCustomEventType(16);
10797 /// Draw front type.
10798 ///
10799 /// Available since API-level: 20
10800 #[cfg(feature = "api-20")]
10801 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10802 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT: ArkUI_NodeCustomEventType =
10803 ArkUI_NodeCustomEventType(32);
10804 /// Draw behind type.
10805 ///
10806 /// Available since API-level: 20
10807 #[cfg(feature = "api-20")]
10808 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10809 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND: ArkUI_NodeCustomEventType =
10810 ArkUI_NodeCustomEventType(64);
10811}
10812#[repr(transparent)]
10813/// Defines the custom component event type.
10814///
10815///
10816/// Available since API-level: 12
10817#[cfg(feature = "api-12")]
10818#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10819#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10820pub struct ArkUI_NodeCustomEventType(pub ::core::ffi::c_uint);
10821/// Defines the general structure of a custom component event.
10822///
10823///
10824/// Available since API-level: 12
10825#[cfg(feature = "api-12")]
10826#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10827#[repr(C)]
10828pub struct ArkUI_NodeCustomEvent {
10829 _unused: [u8; 0],
10830}
10831#[repr(C)]
10832pub struct ArkUI_NodeAdapter {
10833 _unused: [u8; 0],
10834}
10835/// Defines the component adapter, which is used for lazy loading of elements of scrollable components.
10836///
10837///
10838/// Available since API-level: 12
10839#[cfg(feature = "api-12")]
10840#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10841pub type ArkUI_NodeAdapterHandle = *mut ArkUI_NodeAdapter;
10842/// Defines the component adapter event.
10843///
10844///
10845/// Available since API-level: 12
10846#[cfg(feature = "api-12")]
10847#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10848#[repr(C)]
10849pub struct ArkUI_NodeAdapterEvent {
10850 _unused: [u8; 0],
10851}
10852#[cfg(feature = "api-12")]
10853#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10854impl ArkUI_NodeAdapterEventType {
10855 /// This event occurs when the component is attached to the adapter.
10856 pub const NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE: ArkUI_NodeAdapterEventType =
10857 ArkUI_NodeAdapterEventType(1);
10858 /// This event occurs when the component is detached from the adapter.
10859 pub const NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE: ArkUI_NodeAdapterEventType =
10860 ArkUI_NodeAdapterEventType(2);
10861 /// This event occurs when the adapter obtains the unique ID of the new element to add.
10862 pub const NODE_ADAPTER_EVENT_ON_GET_NODE_ID: ArkUI_NodeAdapterEventType =
10863 ArkUI_NodeAdapterEventType(3);
10864 /// This event occurs when the adapter obtains the content of the new element to add.
10865 pub const NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER: ArkUI_NodeAdapterEventType =
10866 ArkUI_NodeAdapterEventType(4);
10867 /// This event occurs when the adapter removes an element.
10868 pub const NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER: ArkUI_NodeAdapterEventType =
10869 ArkUI_NodeAdapterEventType(5);
10870}
10871#[repr(transparent)]
10872/// Enumerates component adapter events.
10873///
10874///
10875/// Available since API-level: 12
10876#[cfg(feature = "api-12")]
10877#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10878#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10879pub struct ArkUI_NodeAdapterEventType(pub ::core::ffi::c_uint);
10880/// Declares a collection of native node APIs provided by ArkUI.
10881///
10882/// The APIs related to the native node must be called in the main thread.
10883///
10884///
10885/// Version: 1
10886///
10887/// Available since API-level: 12
10888#[cfg(feature = "api-12")]
10889#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10890#[repr(C)]
10891#[derive(Debug, Copy, Clone)]
10892pub struct ArkUI_NativeNodeAPI_1 {
10893 /// Struct version.
10894 pub version: i32,
10895 /// Creates a component based on [`ArkUI_NodeType`] and returns the pointer to the created component.
10896 ///
10897 /// # Arguments
10898 ///
10899 /// * `type` - Indicates the type of component to create.
10900 ///
10901 /// # Returns
10902 ///
10903 /// * Returns the pointer to the created component. If the component fails to be created, NULL is returned.
10904 pub createNode:
10905 ::core::option::Option<unsafe extern "C" fn(type_: ArkUI_NodeType) -> ArkUI_NodeHandle>,
10906 /// Destroys the component to which the specified pointer points.
10907 ///
10908 /// # Arguments
10909 ///
10910 /// * `node` - Indicates the pointer.
10911 pub disposeNode: ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle)>,
10912 /// Adds a component to a parent node.
10913 ///
10914 /// # Arguments
10915 ///
10916 /// * `parent` - Indicates the pointer to the parent node.
10917 ///
10918 /// * `child` - Indicates the pointer to the child node.
10919 ///
10920 /// # Returns
10921 ///
10922 /// * Returns the error code.
10923 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10924 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10925 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10926 /// on BuilderNode generated nodes:
10927 /// setting or resetting attributes, setting events, or adding or editing subnodes.
10928 pub addChild: ::core::option::Option<
10929 unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
10930 >,
10931 /// Removes a component from its parent node.
10932 ///
10933 /// # Arguments
10934 ///
10935 /// * `parent` - Indicates the pointer to the parent node.
10936 ///
10937 /// * `child` - Indicates the pointer to the child node.
10938 ///
10939 /// # Returns
10940 ///
10941 /// * Returns the error code.
10942 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10943 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10944 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10945 /// on BuilderNode generated nodes:
10946 /// setting or resetting attributes, setting events, or adding or editing subnodes.
10947 pub removeChild: ::core::option::Option<
10948 unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
10949 >,
10950 /// Inserts a component to a parent node after the specified <b>sibling</b> node.
10951 ///
10952 /// # Arguments
10953 ///
10954 /// * `parent` - Indicates the pointer to the parent node.
10955 ///
10956 /// * `child` - Indicates the pointer to the child node.
10957 ///
10958 /// * `sibling` - Indicates the pointer to the sibling node after which the target node is to be inserted.
10959 /// If the value is null, the node is inserted at the start of the parent node.
10960 ///
10961 /// # Returns
10962 ///
10963 /// * Returns the error code.
10964 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10965 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10966 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10967 /// on BuilderNode generated nodes:
10968 /// setting or resetting attributes, setting events, or adding or editing subnodes.
10969 pub insertChildAfter: ::core::option::Option<
10970 unsafe extern "C" fn(
10971 parent: ArkUI_NodeHandle,
10972 child: ArkUI_NodeHandle,
10973 sibling: ArkUI_NodeHandle,
10974 ) -> i32,
10975 >,
10976 /// Inserts a component to a parent node before the specified <b>sibling</b> node.
10977 ///
10978 /// # Arguments
10979 ///
10980 /// * `parent` - Indicates the pointer to the parent node.
10981 ///
10982 /// * `child` - Indicates the pointer to the child node.
10983 ///
10984 /// * `sibling` - Indicates the pointer to the sibling node before which the target node is to be inserted.
10985 /// If the value is null, the node is inserted at the end of the parent node.
10986 ///
10987 /// # Returns
10988 ///
10989 /// * Returns the error code.
10990 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
10991 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
10992 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
10993 /// on BuilderNode generated nodes:
10994 /// setting or resetting attributes, setting events, or adding or editing subnodes.
10995 pub insertChildBefore: ::core::option::Option<
10996 unsafe extern "C" fn(
10997 parent: ArkUI_NodeHandle,
10998 child: ArkUI_NodeHandle,
10999 sibling: ArkUI_NodeHandle,
11000 ) -> i32,
11001 >,
11002 /// Inserts a component to the specified position in a parent node.
11003 ///
11004 /// # Arguments
11005 ///
11006 /// * `parent` - Indicates the pointer to the parent node.
11007 ///
11008 /// * `child` - Indicates the pointer to the child node.
11009 ///
11010 /// * `position` - Indicates the position to which the target child node is to be inserted. If the value is a
11011 /// negative number or invalid, the node is inserted at the end of the parent node.
11012 ///
11013 /// # Returns
11014 ///
11015 /// * Returns the error code.
11016 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11017 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11018 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11019 /// on BuilderNode generated nodes:
11020 /// setting or resetting attributes, setting events, or adding or editing subnodes.
11021 pub insertChildAt: ::core::option::Option<
11022 unsafe extern "C" fn(
11023 parent: ArkUI_NodeHandle,
11024 child: ArkUI_NodeHandle,
11025 position: i32,
11026 ) -> i32,
11027 >,
11028 /// Sets the attribute of a node.
11029 ///
11030 /// # Arguments
11031 ///
11032 /// * `node` - Indicates the node whose attribute needs to be set.
11033 ///
11034 /// * `attribute` - Indicates the type of attribute to set.
11035 ///
11036 /// * `value` - Indicates the attribute value.
11037 ///
11038 /// # Returns
11039 ///
11040 /// * Returns the error code.
11041 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11042 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11043 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11044 /// of the native API was not found.
11045 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11046 /// on BuilderNode generated nodes:
11047 /// setting or resetting attributes, setting events, or adding or editing subnodes.
11048 pub setAttribute: ::core::option::Option<
11049 unsafe extern "C" fn(
11050 node: ArkUI_NodeHandle,
11051 attribute: ArkUI_NodeAttributeType,
11052 item: *const ArkUI_AttributeItem,
11053 ) -> i32,
11054 >,
11055 /// Obtains an attribute.
11056 ///
11057 /// The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need
11058 /// to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next
11059 /// time. Otherwise, the pointer may be overwritten by other values.
11060 /// # Arguments
11061 ///
11062 /// * `node` - Indicates the node whose attribute needs to be obtained.
11063 ///
11064 /// * `attribute` - Indicates the type of attribute to obtain.
11065 ///
11066 /// # Returns
11067 ///
11068 /// * Returns the attribute value. If the operation fails, a null pointer is returned.
11069 pub getAttribute: ::core::option::Option<
11070 unsafe extern "C" fn(
11071 node: ArkUI_NodeHandle,
11072 attribute: ArkUI_NodeAttributeType,
11073 ) -> *const ArkUI_AttributeItem,
11074 >,
11075 /// Resets an attribute.
11076 ///
11077 /// # Arguments
11078 ///
11079 /// * `node` - Indicates the node whose attribute needs to be reset.
11080 ///
11081 /// * `attribute` - Indicates the type of attribute to reset.
11082 ///
11083 /// # Returns
11084 ///
11085 /// * Returns the error code.
11086 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11087 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11088 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11089 /// of the native API was not found.
11090 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11091 /// on BuilderNode generated nodes:
11092 /// setting or resetting attributes, setting events, or adding or editing subnodes.
11093 pub resetAttribute: ::core::option::Option<
11094 unsafe extern "C" fn(node: ArkUI_NodeHandle, attribute: ArkUI_NodeAttributeType) -> i32,
11095 >,
11096 /// Registers an event for the specified node.
11097 ///
11098 /// When the component is being displayed, this API must be called in the main thread.
11099 ///
11100 /// # Arguments
11101 ///
11102 /// * `node` - Indicates the target node.
11103 ///
11104 /// * `eventType` - Indicates the type of event to register.
11105 ///
11106 /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeEvent`]
11107 /// when the event is triggered.
11108 ///
11109 /// * `userData` - Indicates the custom event parameter, which is passed in the callback of [`ArkUI_NodeEvent`]
11110 ///
11111 /// # Returns
11112 ///
11113 /// * Returns the error code.
11114 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11115 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11116 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11117 /// of the native API was not found.
11118 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
11119 /// on BuilderNode generated nodes:
11120 /// setting or resetting attributes, setting events, or adding or editing subnodes.
11121 pub registerNodeEvent: ::core::option::Option<
11122 unsafe extern "C" fn(
11123 node: ArkUI_NodeHandle,
11124 eventType: ArkUI_NodeEventType,
11125 targetId: i32,
11126 userData: *mut ::core::ffi::c_void,
11127 ) -> i32,
11128 >,
11129 /// Unregisters an event for the specified node.
11130 ///
11131 /// When the component is being displayed, this API must be called in the main thread.
11132 ///
11133 /// # Arguments
11134 ///
11135 /// * `node` - Indicates the target node.
11136 ///
11137 /// * `eventType` - Indicates the type of event to unregister.
11138 pub unregisterNodeEvent: ::core::option::Option<
11139 unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeEventType),
11140 >,
11141 /// Registers an event receiver.
11142 ///
11143 /// The ArkUI framework collects component events generated during the process and calls back the events through
11144 /// the registered event receiver.
11145 ///
11146 /// A new call to this API will overwrite the previously registered event receiver.
11147 ///
11148 /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the
11149 /// callback is complete.
11150 ///
11151 /// To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function.
11152 ///
11153 ///
11154 /// # Arguments
11155 ///
11156 /// * `eventReceiver` - Indicates the event receiver to register.
11157 pub registerNodeEventReceiver: ::core::option::Option<
11158 unsafe extern "C" fn(
11159 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11160 ),
11161 >,
11162 /// Unregisters the event receiver.
11163 pub unregisterNodeEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
11164 /// Forcibly marks the current node that needs to be measured, laid out, or rendered again.
11165 ///
11166 /// Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs
11167 /// measuring, layout, or rendering again. In this case, you do not need to call this API.
11168 /// # Arguments
11169 ///
11170 /// * `node` - Indicates the node for which you want to mark as dirty area.
11171 ///
11172 /// * `dirtyFlag` - Indicates type of dirty area.
11173 pub markDirty: ::core::option::Option<
11174 unsafe extern "C" fn(node: ArkUI_NodeHandle, dirtyFlag: ArkUI_NodeDirtyFlag),
11175 >,
11176 /// Obtains the number of subnodes.
11177 ///
11178 /// # Arguments
11179 ///
11180 /// * `node` - Indicates the target node.
11181 ///
11182 /// # Returns
11183 ///
11184 /// * the number of subnodes. If not, returns 0.
11185 pub getTotalChildCount:
11186 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> u32>,
11187 /// Obtains a subnode.
11188 ///
11189 /// # Arguments
11190 ///
11191 /// * `node` - Indicates the target node.
11192 ///
11193 /// * `position` - Indicates the position of the subnode.
11194 ///
11195 /// # Returns
11196 ///
11197 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11198 pub getChildAt: ::core::option::Option<
11199 unsafe extern "C" fn(node: ArkUI_NodeHandle, position: i32) -> ArkUI_NodeHandle,
11200 >,
11201 /// Obtains the first subnode.
11202 ///
11203 /// # Arguments
11204 ///
11205 /// * `node` - Indicates the target node.
11206 ///
11207 /// # Returns
11208 ///
11209 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11210 pub getFirstChild:
11211 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11212 /// Obtains the last subnode.
11213 ///
11214 /// # Arguments
11215 ///
11216 /// * `node` - Indicates the target node.
11217 ///
11218 /// # Returns
11219 ///
11220 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11221 pub getLastChild:
11222 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11223 /// Obtains the previous sibling node.
11224 ///
11225 /// # Arguments
11226 ///
11227 /// * `node` - Indicates the target node.
11228 ///
11229 /// # Returns
11230 ///
11231 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11232 pub getPreviousSibling:
11233 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11234 /// Obtains the next sibling node.
11235 ///
11236 /// # Arguments
11237 ///
11238 /// * `node` - Indicates the target node.
11239 ///
11240 /// # Returns
11241 ///
11242 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
11243 pub getNextSibling:
11244 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11245 /// Registers a custom event for a node. When the event is triggered, the value is returned through the entry
11246 /// point function registered by <b>registerNodeCustomEventReceiver</b>.
11247 ///
11248 /// # Arguments
11249 ///
11250 /// * `node` - Indicates the target node.
11251 ///
11252 /// * `eventType` - Indicates the type of event to register.
11253 ///
11254 /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeCustomEvent`]
11255 /// when the event is triggered.
11256 ///
11257 /// * `userData` - Indicates the custom event parameter, which is passed in the callback of
11258 /// [`ArkUI_NodeCustomEvent`] when the event is triggered.
11259 ///
11260 /// # Returns
11261 ///
11262 /// * Returns the error code.
11263 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11264 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11265 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
11266 /// of the native API was not found.
11267 pub registerNodeCustomEvent: ::core::option::Option<
11268 unsafe extern "C" fn(
11269 node: ArkUI_NodeHandle,
11270 eventType: ArkUI_NodeCustomEventType,
11271 targetId: i32,
11272 userData: *mut ::core::ffi::c_void,
11273 ) -> i32,
11274 >,
11275 /// Unregisters a custom event for a node.
11276 ///
11277 /// # Arguments
11278 ///
11279 /// * `node` - Indicates the target node.
11280 ///
11281 /// * `eventType` - Indicates the type of event to unregister.
11282 pub unregisterNodeCustomEvent: ::core::option::Option<
11283 unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeCustomEventType),
11284 >,
11285 /// Registers a unified entry point function for custom node event callbacks.
11286 ///
11287 /// The ArkUI framework collects custom component events generated during the process and calls back the events
11288 /// through the registered <b>registerNodeCustomEventReceiver</b>.
11289 ///
11290 /// A new call to this API will overwrite the previously registered event receiver.
11291 /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
11292 /// The data will be destroyed after the callback is complete.
11293 ///
11294 /// To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function.
11295 ///
11296 ///
11297 /// # Arguments
11298 ///
11299 /// * `eventReceiver` - Indicates the event receiver to register.
11300 pub registerNodeCustomEventReceiver: ::core::option::Option<
11301 unsafe extern "C" fn(
11302 eventReceiver: ::core::option::Option<
11303 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11304 >,
11305 ),
11306 >,
11307 /// Unregisters the unified entry point function for custom node event callbacks.
11308 pub unregisterNodeCustomEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
11309 /// Sets the width and height for a component after the measurement.
11310 ///
11311 /// # Arguments
11312 ///
11313 /// * `node` - Indicates the target node.
11314 ///
11315 /// * `width` - Indicates the width.
11316 ///
11317 /// * `height` - Indicates the height.
11318 ///
11319 /// # Returns
11320 ///
11321 /// * Returns the error code.
11322 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11323 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11324 pub setMeasuredSize: ::core::option::Option<
11325 unsafe extern "C" fn(node: ArkUI_NodeHandle, width: i32, height: i32) -> i32,
11326 >,
11327 /// Sets the position for a component.
11328 ///
11329 /// # Arguments
11330 ///
11331 /// * `node` - Indicates the target node.
11332 ///
11333 /// * `positionX` - Indicates the X coordinate.
11334 ///
11335 /// * `positionY` - Indicates the Y coordinate.
11336 ///
11337 /// # Returns
11338 ///
11339 /// * Returns the error code.
11340 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11341 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11342 pub setLayoutPosition: ::core::option::Option<
11343 unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
11344 >,
11345 /// Obtains the width and height of a component after measurement.
11346 ///
11347 /// # Arguments
11348 ///
11349 /// * `node` - Indicates the target node.
11350 ///
11351 /// # Returns
11352 ///
11353 /// * Returns the width and height of the component.
11354 pub getMeasuredSize:
11355 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntSize>,
11356 /// Obtains the position of a component after the layout is complete.
11357 ///
11358 /// # Arguments
11359 ///
11360 /// * `node` - Indicates the target node.
11361 ///
11362 /// # Returns
11363 ///
11364 /// * Returns the position of the component.
11365 pub getLayoutPosition:
11366 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntOffset>,
11367 /// Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement.
11368 ///
11369 /// # Arguments
11370 ///
11371 /// * `node` - Indicates the target node.
11372 ///
11373 /// * `Constraint` - Indicates the size constraint.
11374 ///
11375 /// # Returns
11376 ///
11377 /// * Returns the error code.
11378 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11379 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11380 pub measureNode: ::core::option::Option<
11381 unsafe extern "C" fn(
11382 node: ArkUI_NodeHandle,
11383 Constraint: *mut ArkUI_LayoutConstraint,
11384 ) -> i32,
11385 >,
11386 /// Lays outs a component and passes the expected position of the component relative to its parent component.
11387 ///
11388 /// When the component is being displayed, this API must be called in the main thread.
11389 ///
11390 /// # Arguments
11391 ///
11392 /// * `node` - Indicates the target node.
11393 ///
11394 /// * `positionX` - Indicates the X coordinate.
11395 ///
11396 /// * `positionY` - Indicates the Y coordinate.
11397 ///
11398 /// # Returns
11399 ///
11400 /// * Returns the error code.
11401 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11402 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11403 pub layoutNode: ::core::option::Option<
11404 unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
11405 >,
11406 /// Adds a component event callback function to a component to receive component events generated
11407 /// by the component.
11408 ///
11409 /// Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event
11410 /// receivers to be added to the same component.
11411 ///
11412 /// The callback added by this API is triggered before the global callback registered by
11413 /// <b>registerNodeEventReceiver</b>.
11414 ///
11415 /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer.
11416 /// The data will be destroyed after the callback is complete.
11417 ///
11418 ///
11419 /// # Arguments
11420 ///
11421 /// * `node` - Indicates the component for which you want to add the event callback function.
11422 ///
11423 /// * `eventReceiver` - Indicates the component event callback function to add.
11424 ///
11425 /// # Returns
11426 ///
11427 /// * Returns the error code.
11428 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11429 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11430 pub addNodeEventReceiver: ::core::option::Option<
11431 unsafe extern "C" fn(
11432 node: ArkUI_NodeHandle,
11433 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11434 ) -> i32,
11435 >,
11436 /// Removes the registered component event callback function from a component.
11437 ///
11438 /// # Arguments
11439 ///
11440 /// * `node` - Indicates the component from which you want to remove the event callback function.
11441 ///
11442 /// * `eventReceiver` - Indicates the component event callback function to remove.
11443 ///
11444 /// # Returns
11445 ///
11446 /// * Returns the error code.
11447 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11448 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11449 pub removeNodeEventReceiver: ::core::option::Option<
11450 unsafe extern "C" fn(
11451 node: ArkUI_NodeHandle,
11452 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
11453 ) -> i32,
11454 >,
11455 /// Adds a custom event callback function to a component to receive custom events
11456 /// (such as layout and drawing events) generated by the component.
11457 ///
11458 /// Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows
11459 /// multiple event receivers to be added to the same component.
11460 ///
11461 /// The callback added by this API is triggered before the global callback registered by
11462 /// <b>registerNodeCustomEventReceiver</b>.
11463 ///
11464 /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
11465 /// The data will be destroyed after the callback is complete.
11466 ///
11467 ///
11468 /// # Arguments
11469 ///
11470 /// * `node` - Indicates the component for which you want to add the custom event callback function.
11471 ///
11472 /// * `eventReceiver` - Indicates the custom event callback function to add.
11473 ///
11474 /// # Returns
11475 ///
11476 /// * Returns the error code.
11477 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11478 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11479 pub addNodeCustomEventReceiver: ::core::option::Option<
11480 unsafe extern "C" fn(
11481 node: ArkUI_NodeHandle,
11482 eventReceiver: ::core::option::Option<
11483 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11484 >,
11485 ) -> i32,
11486 >,
11487 /// Removes a registered custom event callback function from a component.
11488 ///
11489 /// # Arguments
11490 ///
11491 /// * `node` - Indicates the component from which you want to remove the custom event callback function.
11492 ///
11493 /// * `eventReceiver` - Indicates the custom event callback function to remove.
11494 ///
11495 /// # Returns
11496 ///
11497 /// * Returns the error code.
11498 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11499 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11500 pub removeNodeCustomEventReceiver: ::core::option::Option<
11501 unsafe extern "C" fn(
11502 node: ArkUI_NodeHandle,
11503 eventReceiver: ::core::option::Option<
11504 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
11505 >,
11506 ) -> i32,
11507 >,
11508 /// Saves custom data on the specified component.
11509 ///
11510 /// # Arguments
11511 ///
11512 /// * `node` - Indicates the component on which the custom data will be saved.
11513 ///
11514 /// * `userData` - Indicates the custom data to be saved.
11515 ///
11516 /// # Returns
11517 ///
11518 /// * Returns the error code.
11519 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11520 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs..
11521 pub setUserData: ::core::option::Option<
11522 unsafe extern "C" fn(node: ArkUI_NodeHandle, userData: *mut ::core::ffi::c_void) -> i32,
11523 >,
11524 /// Obtains the custom data saved on the specified component.
11525 ///
11526 /// # Arguments
11527 ///
11528 /// * `node` - Indicates the target component.
11529 ///
11530 /// # Returns
11531 ///
11532 /// * Returns the custom data.
11533 pub getUserData: ::core::option::Option<
11534 unsafe extern "C" fn(node: ArkUI_NodeHandle) -> *mut ::core::ffi::c_void,
11535 >,
11536 /// Sets the unit for a component.
11537 ///
11538 /// # Arguments
11539 ///
11540 /// * `node` - Indicates the component for which you want to set the unit.
11541 ///
11542 /// * `unit` - Indicates the unit, which is an enumerated value of [`ArkUI_LengthMetricUnit`].
11543 /// The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>.
11544 ///
11545 /// # Returns
11546 ///
11547 /// * Returns the error code.
11548 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11549 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11550 pub setLengthMetricUnit: ::core::option::Option<
11551 unsafe extern "C" fn(node: ArkUI_NodeHandle, unit: ArkUI_LengthMetricUnit) -> i32,
11552 >,
11553 /// Get the parent node.
11554 ///
11555 /// # Arguments
11556 ///
11557 /// * `node` - target node object.
11558 ///
11559 /// # Returns
11560 ///
11561 /// * Returns the pointer of the component, if not return NULL
11562 pub getParent:
11563 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
11564 /// Uninstall all child nodes from the parent component.
11565 ///
11566 /// # Arguments
11567 ///
11568 /// * `parent` - target node object.
11569 ///
11570 /// # Returns
11571 ///
11572 /// * Returns the error code.
11573 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11574 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11575 ///
11576 /// Available since API-level: 12
11577 pub removeAllChildren:
11578 ::core::option::Option<unsafe extern "C" fn(parent: ArkUI_NodeHandle) -> i32>,
11579}
11580#[cfg(feature = "api-12")]
11581#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11582impl ArkUI_NodeContentEventType {
11583 /// Defines the attach event.
11584 pub const NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW: ArkUI_NodeContentEventType =
11585 ArkUI_NodeContentEventType(0);
11586 /// Defines the detach event.
11587 pub const NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW: ArkUI_NodeContentEventType =
11588 ArkUI_NodeContentEventType(1);
11589}
11590#[repr(transparent)]
11591/// Defines the node content event type.
11592///
11593///
11594/// Available since API-level: 12
11595#[cfg(feature = "api-12")]
11596#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11597#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11598pub struct ArkUI_NodeContentEventType(pub ::core::ffi::c_uint);
11599#[cfg(feature = "api-15")]
11600#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11601impl ArkUI_InspectorErrorCode {
11602 /// Success.
11603 pub const ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL: ArkUI_InspectorErrorCode =
11604 ArkUI_InspectorErrorCode(0);
11605 /// Invalid parameter.
11606 pub const ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER: ArkUI_InspectorErrorCode =
11607 ArkUI_InspectorErrorCode(-1);
11608}
11609#[repr(transparent)]
11610/// Enumerates the inspector error codes.
11611///
11612/// Available since API-level: 15
11613#[cfg(feature = "api-15")]
11614#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11615#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11616pub struct ArkUI_InspectorErrorCode(pub ::core::ffi::c_int);
11617/// Defines the general structure of a node content event.
11618///
11619/// Available since API-level: 12
11620#[cfg(feature = "api-12")]
11621#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11622#[repr(C)]
11623pub struct ArkUI_NodeContentEvent {
11624 _unused: [u8; 0],
11625}
11626/// Defines the callback function of a node content event.
11627///
11628/// Available since API-level: 12
11629#[cfg(feature = "api-12")]
11630#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11631pub type ArkUI_NodeContentCallback =
11632 ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeContentEvent)>;
11633extern "C" {
11634 /// Obtains the type of a component event.
11635 ///
11636 /// # Arguments
11637 ///
11638 /// * `event` - Indicates the pointer to the component event.
11639 ///
11640 /// # Returns
11641 ///
11642 /// * Returns the type of the component event.
11643 ///
11644 /// Available since API-level: 12
11645 #[cfg(feature = "api-12")]
11646 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11647 pub fn OH_ArkUI_NodeEvent_GetEventType(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeEventType;
11648 /// Obtains the custom ID of a component event.
11649 ///
11650 /// The event ID is passed in as a parameter when the [`registerNodeEvent`] function is called and can be applied
11651 /// to the dispatch logic of the same event entry function [`registerNodeEventReceiver`].
11652 ///
11653 /// # Arguments
11654 ///
11655 /// * `event` - Indicates the pointer to the component event.
11656 ///
11657 /// # Returns
11658 ///
11659 /// * Returns the custom ID of the component event.
11660 ///
11661 /// Available since API-level: 12
11662 #[cfg(feature = "api-12")]
11663 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11664 pub fn OH_ArkUI_NodeEvent_GetTargetId(event: *mut ArkUI_NodeEvent) -> i32;
11665 /// Obtains the component object that triggers a component event.
11666 ///
11667 /// # Arguments
11668 ///
11669 /// * `event` - Indicates the pointer to the component event.
11670 ///
11671 /// # Returns
11672 ///
11673 /// * Returns the component object that triggers the component event.
11674 ///
11675 /// Available since API-level: 12
11676 #[cfg(feature = "api-12")]
11677 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11678 pub fn OH_ArkUI_NodeEvent_GetNodeHandle(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeHandle;
11679 /// Obtains input event (for example, touch event) data for a component event.
11680 ///
11681 /// # Arguments
11682 ///
11683 /// * `event` - Indicates the pointer to the component event.
11684 ///
11685 /// # Returns
11686 ///
11687 /// * Returns the pointer to the input event data.
11688 ///
11689 /// Available since API-level: 12
11690 #[cfg(feature = "api-12")]
11691 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11692 pub fn OH_ArkUI_NodeEvent_GetInputEvent(event: *mut ArkUI_NodeEvent)
11693 -> *mut ArkUI_UIInputEvent;
11694 /// Obtains the numerical data in a component event.
11695 ///
11696 /// # Arguments
11697 ///
11698 /// * `event` - Indicates the pointer to the component event.
11699 ///
11700 /// # Returns
11701 ///
11702 /// * Returns the pointer to the numerical data.
11703 ///
11704 /// Available since API-level: 12
11705 #[cfg(feature = "api-12")]
11706 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11707 pub fn OH_ArkUI_NodeEvent_GetNodeComponentEvent(
11708 event: *mut ArkUI_NodeEvent,
11709 ) -> *mut ArkUI_NodeComponentEvent;
11710 /// Obtains the string data in a component event.
11711 ///
11712 /// # Arguments
11713 ///
11714 /// * `event` - Indicates the pointer to the component event.
11715 ///
11716 /// # Returns
11717 ///
11718 /// * Returns the pointer to the string data.
11719 ///
11720 /// Available since API-level: 12
11721 #[cfg(feature = "api-12")]
11722 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11723 pub fn OH_ArkUI_NodeEvent_GetStringAsyncEvent(
11724 event: *mut ArkUI_NodeEvent,
11725 ) -> *mut ArkUI_StringAsyncEvent;
11726 /// Obtains the ArkUI_TextChangeEvent data from a component event.
11727 ///
11728 /// # Arguments
11729 ///
11730 /// * `event` - Pointer to a component event. It cannot be null.
11731 ///
11732 /// # Returns
11733 ///
11734 /// * Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object.
11735 ///
11736 /// Available since API-level: 15
11737 #[cfg(feature = "api-15")]
11738 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11739 pub fn OH_ArkUI_NodeEvent_GetTextChangeEvent(
11740 event: *mut ArkUI_NodeEvent,
11741 ) -> *mut ArkUI_TextChangeEvent;
11742 /// Obtains the custom data in a component event.
11743 ///
11744 /// This parameter is passed in [`registerNodeEvent`] and can be applied to the service logic when the event
11745 /// is triggered.
11746 ///
11747 /// # Arguments
11748 ///
11749 /// * `event` - Indicates the pointer to the component event.
11750 ///
11751 /// # Returns
11752 ///
11753 /// * Returns the pointer to the custom data.
11754 ///
11755 /// Available since API-level: 12
11756 #[cfg(feature = "api-12")]
11757 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11758 pub fn OH_ArkUI_NodeEvent_GetUserData(event: *mut ArkUI_NodeEvent) -> *mut ::core::ffi::c_void;
11759 /// Obtains the numeric-type parameter of a component event.
11760 ///
11761 /// # Arguments
11762 ///
11763 /// * `event` - Indicates the pointer to the component event.
11764 ///
11765 /// * `index` - Indicates the index of the return value.
11766 ///
11767 /// * `value` - Indicates the return value.
11768 ///
11769 /// # Returns
11770 ///
11771 /// * Returns the error code.
11772 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11773 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
11774 /// the limit.
11775 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
11776 ///
11777 /// Available since API-level: 12
11778 #[cfg(feature = "api-12")]
11779 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11780 pub fn OH_ArkUI_NodeEvent_GetNumberValue(
11781 event: *mut ArkUI_NodeEvent,
11782 index: i32,
11783 value: *mut ArkUI_NumberValue,
11784 ) -> i32;
11785 /// Obtains the string-type parameter of a component event. The string data is valid only during an event
11786 /// callback. To use it outside an event callback, you are advised to copy the string data.
11787 ///
11788 /// # Arguments
11789 ///
11790 /// * `event` - Indicates the pointer to the component event.
11791 ///
11792 /// * `index` - Indicates the index of the return value.
11793 ///
11794 /// * `string` - Indicates the pointer to the string array.
11795 ///
11796 /// * `stringSize` - Indicates the length of the string array.
11797 ///
11798 /// # Returns
11799 ///
11800 /// * Returns the error code.
11801 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11802 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
11803 /// the limit.
11804 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
11805 ///
11806 /// Available since API-level: 12
11807 #[cfg(feature = "api-12")]
11808 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11809 pub fn OH_ArkUI_NodeEvent_GetStringValue(
11810 event: *mut ArkUI_NodeEvent,
11811 index: i32,
11812 string: *mut *mut ::core::ffi::c_char,
11813 stringSize: *mut i32,
11814 ) -> i32;
11815 /// Sets the return value for a component event.
11816 ///
11817 /// # Arguments
11818 ///
11819 /// * `event` - Indicates the pointer to the component event.
11820 ///
11821 /// * `value` - Indicates the numeric-type array.
11822 ///
11823 /// * `size` - Indicates the array length.
11824 ///
11825 /// # Returns
11826 ///
11827 /// * Returns the error code.
11828 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11829 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN`] if the component event does not support return values.
11830 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if data does not exist in the component event.
11831 ///
11832 /// Available since API-level: 12
11833 #[cfg(feature = "api-12")]
11834 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11835 pub fn OH_ArkUI_NodeEvent_SetReturnNumberValue(
11836 event: *mut ArkUI_NodeEvent,
11837 value: *mut ArkUI_NumberValue,
11838 size: i32,
11839 ) -> i32;
11840 /// Creates a component adapter.
11841 ///
11842 ///
11843 /// Available since API-level: 12
11844 #[cfg(feature = "api-12")]
11845 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11846 pub fn OH_ArkUI_NodeAdapter_Create() -> ArkUI_NodeAdapterHandle;
11847 /// Destroys a component adapter.
11848 ///
11849 /// # Arguments
11850 ///
11851 /// * `handle` - Indicates the target component adapter.
11852 ///
11853 /// Available since API-level: 12
11854 #[cfg(feature = "api-12")]
11855 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11856 pub fn OH_ArkUI_NodeAdapter_Dispose(handle: ArkUI_NodeAdapterHandle);
11857 /// Sets the total number of elements in the specified adapter.
11858 ///
11859 /// # Arguments
11860 ///
11861 /// * `handle` - Indicates the target component adapter.
11862 ///
11863 /// * `size` - Indicates the number of elements.
11864 ///
11865 /// # Returns
11866 ///
11867 /// * Returns the error code.
11868 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11869 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11870 ///
11871 /// Available since API-level: 12
11872 #[cfg(feature = "api-12")]
11873 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11874 pub fn OH_ArkUI_NodeAdapter_SetTotalNodeCount(
11875 handle: ArkUI_NodeAdapterHandle,
11876 size: u32,
11877 ) -> i32;
11878 /// Obtains the total number of elements in the specified adapter.
11879 ///
11880 /// # Arguments
11881 ///
11882 /// * `handle` - Indicates the target component adapter.
11883 ///
11884 /// # Returns
11885 ///
11886 /// * Returns the total number of elements in the adapter.
11887 ///
11888 /// Available since API-level: 12
11889 #[cfg(feature = "api-12")]
11890 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11891 pub fn OH_ArkUI_NodeAdapter_GetTotalNodeCount(handle: ArkUI_NodeAdapterHandle) -> u32;
11892 /// Registers an event callback for the adapter.
11893 ///
11894 /// # Arguments
11895 ///
11896 /// * `handle` - Indicates the target component adapter.
11897 ///
11898 /// * `userData` - Indicates custom data.
11899 ///
11900 /// * `receiver` - Indicates the event receiver callback.
11901 ///
11902 /// # Returns
11903 ///
11904 /// * Returns the error code.
11905 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11906 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11907 ///
11908 /// Available since API-level: 12
11909 #[cfg(feature = "api-12")]
11910 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11911 pub fn OH_ArkUI_NodeAdapter_RegisterEventReceiver(
11912 handle: ArkUI_NodeAdapterHandle,
11913 userData: *mut ::core::ffi::c_void,
11914 receiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeAdapterEvent)>,
11915 ) -> i32;
11916 /// Deregisters an event callback for the adapter.
11917 ///
11918 /// # Arguments
11919 ///
11920 /// * `handle` - Indicates the target component adapter.
11921 ///
11922 /// Available since API-level: 12
11923 #[cfg(feature = "api-12")]
11924 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11925 pub fn OH_ArkUI_NodeAdapter_UnregisterEventReceiver(handle: ArkUI_NodeAdapterHandle);
11926 /// Instructs the specified adapter to reload all elements.
11927 ///
11928 /// # Arguments
11929 ///
11930 /// * `handle` - Indicates the target component adapter.
11931 ///
11932 /// # Returns
11933 ///
11934 /// * Returns the error code.
11935 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11936 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11937 ///
11938 /// Available since API-level: 12
11939 #[cfg(feature = "api-12")]
11940 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11941 pub fn OH_ArkUI_NodeAdapter_ReloadAllItems(handle: ArkUI_NodeAdapterHandle) -> i32;
11942 /// Instructs the specified adapter to reload certain elements.
11943 ///
11944 /// # Arguments
11945 ///
11946 /// * `handle` - Indicates the target component adapter.
11947 ///
11948 /// * `startPosition` - Indicates the start position of the elements to reload.
11949 ///
11950 /// * `itemCount` - Indicates the number of the elements to reload.
11951 ///
11952 /// # Returns
11953 ///
11954 /// * Returns the error code.
11955 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11956 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11957 ///
11958 /// Available since API-level: 12
11959 #[cfg(feature = "api-12")]
11960 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11961 pub fn OH_ArkUI_NodeAdapter_ReloadItem(
11962 handle: ArkUI_NodeAdapterHandle,
11963 startPosition: u32,
11964 itemCount: u32,
11965 ) -> i32;
11966 /// Instructs the specified adapter to remove certain elements.
11967 ///
11968 /// # Arguments
11969 ///
11970 /// * `handle` - Indicates the target component adapter.
11971 ///
11972 /// * `startPosition` - Indicates the start position of the elements to remove.
11973 ///
11974 /// * `itemCount` - Indicates the number of the elements to remove.
11975 ///
11976 /// # Returns
11977 ///
11978 /// * Returns the error code.
11979 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
11980 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
11981 ///
11982 /// Available since API-level: 12
11983 #[cfg(feature = "api-12")]
11984 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
11985 pub fn OH_ArkUI_NodeAdapter_RemoveItem(
11986 handle: ArkUI_NodeAdapterHandle,
11987 startPosition: u32,
11988 itemCount: u32,
11989 ) -> i32;
11990 /// Instructs the specified adapter to insert certain elements.
11991 ///
11992 /// # Arguments
11993 ///
11994 /// * `handle` - Indicates the target component adapter.
11995 ///
11996 /// * `startPosition` - Indicates the start position of the elements to insert.
11997 ///
11998 /// * `itemCount` - Indicates the number of the elements to insert.
11999 ///
12000 /// # Returns
12001 ///
12002 /// * Returns the error code.
12003 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12004 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12005 ///
12006 /// Available since API-level: 12
12007 #[cfg(feature = "api-12")]
12008 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12009 pub fn OH_ArkUI_NodeAdapter_InsertItem(
12010 handle: ArkUI_NodeAdapterHandle,
12011 startPosition: u32,
12012 itemCount: u32,
12013 ) -> i32;
12014 /// Instructs the specified adapter to move certain elements.
12015 ///
12016 /// # Arguments
12017 ///
12018 /// * `handle` - Indicates the target component adapter.
12019 ///
12020 /// * `from` - Indicates the start position of the elements to move.
12021 ///
12022 /// * `to` - Indicates the end position of the elements to move.
12023 ///
12024 /// # Returns
12025 ///
12026 /// * Returns the error code.
12027 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12028 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12029 ///
12030 /// Available since API-level: 12
12031 #[cfg(feature = "api-12")]
12032 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12033 pub fn OH_ArkUI_NodeAdapter_MoveItem(
12034 handle: ArkUI_NodeAdapterHandle,
12035 from: u32,
12036 to: u32,
12037 ) -> i32;
12038 /// Obtains all elements stored in the specified adapter.
12039 ///
12040 /// This API returns the pointer to the array of the elements. You need to manually release the memory data
12041 /// to which the pointer points.
12042 ///
12043 /// # Arguments
12044 ///
12045 /// * `handle` - Indicates the target component adapter.
12046 ///
12047 /// * `items` - Indicates the pointer to the array of the elements in the adapter.
12048 ///
12049 /// * `size` - Indicates the number of elements.
12050 ///
12051 /// # Returns
12052 ///
12053 /// * Returns the error code.
12054 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12055 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12056 ///
12057 /// Available since API-level: 12
12058 #[cfg(feature = "api-12")]
12059 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12060 pub fn OH_ArkUI_NodeAdapter_GetAllItems(
12061 handle: ArkUI_NodeAdapterHandle,
12062 items: *mut *mut ArkUI_NodeHandle,
12063 size: *mut u32,
12064 ) -> i32;
12065 /// Obtains the custom data passed in during registration of the specified event.
12066 ///
12067 /// # Arguments
12068 ///
12069 /// * `event` - Indicates the target adapter event.
12070 ///
12071 /// Available since API-level: 12
12072 #[cfg(feature = "api-12")]
12073 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12074 pub fn OH_ArkUI_NodeAdapterEvent_GetUserData(
12075 event: *mut ArkUI_NodeAdapterEvent,
12076 ) -> *mut ::core::ffi::c_void;
12077 /// Obtains the event type.
12078 ///
12079 /// # Arguments
12080 ///
12081 /// * `event` - Indicates the target adapter event.
12082 ///
12083 /// # Returns
12084 ///
12085 /// * Returns the event type.
12086 ///
12087 /// Available since API-level: 12
12088 #[cfg(feature = "api-12")]
12089 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12090 pub fn OH_ArkUI_NodeAdapterEvent_GetType(
12091 event: *mut ArkUI_NodeAdapterEvent,
12092 ) -> ArkUI_NodeAdapterEventType;
12093 /// Obtains the element to be removed for the event to be destroyed.
12094 ///
12095 /// # Arguments
12096 ///
12097 /// * `event` - Indicates the target adapter event.
12098 ///
12099 /// # Returns
12100 ///
12101 /// * Returns the element to be removed.
12102 ///
12103 /// Available since API-level: 12
12104 #[cfg(feature = "api-12")]
12105 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12106 pub fn OH_ArkUI_NodeAdapterEvent_GetRemovedNode(
12107 event: *mut ArkUI_NodeAdapterEvent,
12108 ) -> ArkUI_NodeHandle;
12109 /// Obtains the index of the element to be operated for the specified adapter event.
12110 ///
12111 /// # Arguments
12112 ///
12113 /// * `event` - Indicates the target adapter event.
12114 ///
12115 /// # Returns
12116 ///
12117 /// * Returns the index of the element.
12118 ///
12119 /// Available since API-level: 12
12120 #[cfg(feature = "api-12")]
12121 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12122 pub fn OH_ArkUI_NodeAdapterEvent_GetItemIndex(event: *mut ArkUI_NodeAdapterEvent) -> u32;
12123 /// Obtains the scrollable container node that uses the specified adapter.
12124 ///
12125 /// # Arguments
12126 ///
12127 /// * `event` - Indicates the target adapter event.
12128 ///
12129 /// # Returns
12130 ///
12131 /// * Returns the scrollable container node that uses the specified adapter.
12132 ///
12133 /// Available since API-level: 12
12134 #[cfg(feature = "api-12")]
12135 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12136 pub fn OH_ArkUI_NodeAdapterEvent_GetHostNode(
12137 event: *mut ArkUI_NodeAdapterEvent,
12138 ) -> ArkUI_NodeHandle;
12139 /// Sets the component to be added to the specified adapter.
12140 ///
12141 /// # Arguments
12142 ///
12143 /// * `event` - Indicates the target adapter event.
12144 ///
12145 /// * `node` - Indicates the component to be added.
12146 ///
12147 /// # Returns
12148 ///
12149 /// * Returns the error code.
12150 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12151 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12152 ///
12153 /// Available since API-level: 12
12154 #[cfg(feature = "api-12")]
12155 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12156 pub fn OH_ArkUI_NodeAdapterEvent_SetItem(
12157 event: *mut ArkUI_NodeAdapterEvent,
12158 node: ArkUI_NodeHandle,
12159 ) -> i32;
12160 /// Sets the component ID to be generated.
12161 ///
12162 /// # Arguments
12163 ///
12164 /// * `event` - Indicates the target adapter event.
12165 ///
12166 /// * `id` - Indicates the component ID to set.
12167 ///
12168 /// # Returns
12169 ///
12170 /// * Returns the error code.
12171 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12172 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12173 ///
12174 /// Available since API-level: 12
12175 #[cfg(feature = "api-12")]
12176 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12177 pub fn OH_ArkUI_NodeAdapterEvent_SetNodeId(event: *mut ArkUI_NodeAdapterEvent, id: i32) -> i32;
12178 /// Obtains the size constraint for measurement through a custom component event.
12179 ///
12180 /// # Arguments
12181 ///
12182 /// * `event` - Indicates the pointer to the custom component event.
12183 ///
12184 /// # Returns
12185 ///
12186 /// * Returns the pointer to the size constraint.
12187 ///
12188 /// Available since API-level: 12
12189 #[cfg(feature = "api-12")]
12190 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12191 pub fn OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(
12192 event: *mut ArkUI_NodeCustomEvent,
12193 ) -> *mut ArkUI_LayoutConstraint;
12194 /// Obtains the expected position of a component relative to its parent component in the layout phase through a
12195 /// custom component event.
12196 ///
12197 /// # Arguments
12198 ///
12199 /// * `event` - Indicates the pointer to the custom component event.
12200 ///
12201 /// # Returns
12202 ///
12203 /// * Returns the expected position relative to the parent component.
12204 ///
12205 /// Available since API-level: 12
12206 #[cfg(feature = "api-12")]
12207 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12208 pub fn OH_ArkUI_NodeCustomEvent_GetPositionInLayout(
12209 event: *mut ArkUI_NodeCustomEvent,
12210 ) -> ArkUI_IntOffset;
12211 /// Obtains the drawing context through a custom component event.
12212 ///
12213 /// # Arguments
12214 ///
12215 /// * `event` - Indicates the pointer to the custom component event.
12216 ///
12217 /// # Returns
12218 ///
12219 /// * Returns the drawing context.
12220 ///
12221 /// Available since API-level: 12
12222 #[cfg(feature = "api-12")]
12223 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12224 pub fn OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(
12225 event: *mut ArkUI_NodeCustomEvent,
12226 ) -> *mut ArkUI_DrawContext;
12227 /// Obtains the ID of a custom component event.
12228 ///
12229 /// # Arguments
12230 ///
12231 /// * `event` - Indicates the pointer to the custom component event.
12232 ///
12233 /// # Returns
12234 ///
12235 /// * Returns the ID of the custom component event.
12236 ///
12237 /// Available since API-level: 12
12238 #[cfg(feature = "api-12")]
12239 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12240 pub fn OH_ArkUI_NodeCustomEvent_GetEventTargetId(event: *mut ArkUI_NodeCustomEvent) -> i32;
12241 /// Obtains custom event parameters through a custom component event.
12242 ///
12243 /// # Arguments
12244 ///
12245 /// * `event` - Indicates the pointer to the custom component event.
12246 ///
12247 /// # Returns
12248 ///
12249 /// * Returns the custom event parameters.
12250 ///
12251 /// Available since API-level: 12
12252 #[cfg(feature = "api-12")]
12253 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12254 pub fn OH_ArkUI_NodeCustomEvent_GetUserData(
12255 event: *mut ArkUI_NodeCustomEvent,
12256 ) -> *mut ::core::ffi::c_void;
12257 /// Obtains a component object through a custom component event.
12258 ///
12259 /// # Arguments
12260 ///
12261 /// * `event` - Indicates the pointer to the custom component event.
12262 ///
12263 /// # Returns
12264 ///
12265 /// * Returns the component object.
12266 ///
12267 /// Available since API-level: 12
12268 #[cfg(feature = "api-12")]
12269 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12270 pub fn OH_ArkUI_NodeCustomEvent_GetNodeHandle(
12271 event: *mut ArkUI_NodeCustomEvent,
12272 ) -> ArkUI_NodeHandle;
12273 /// Obtains the event type through a custom component event.
12274 ///
12275 /// # Arguments
12276 ///
12277 /// * `event` - Indicates the pointer to the custom component event.
12278 ///
12279 /// # Returns
12280 ///
12281 /// * Returns the type of the custom component event.
12282 ///
12283 /// Available since API-level: 12
12284 #[cfg(feature = "api-12")]
12285 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12286 pub fn OH_ArkUI_NodeCustomEvent_GetEventType(
12287 event: *mut ArkUI_NodeCustomEvent,
12288 ) -> ArkUI_NodeCustomEventType;
12289 /// Obtains the measurement information of a custom span through a custom component event.
12290 ///
12291 /// # Arguments
12292 ///
12293 /// * `event` - Indicates the pointer to the custom component event.
12294 ///
12295 /// * `info` - Indicates the measurement information to be obtained.
12296 ///
12297 /// # Returns
12298 ///
12299 /// * Returns the result code.
12300 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12301 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12302 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12303 ///
12304 /// Available since API-level: 12
12305 #[cfg(feature = "api-12")]
12306 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12307 pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(
12308 event: *mut ArkUI_NodeCustomEvent,
12309 info: *mut ArkUI_CustomSpanMeasureInfo,
12310 ) -> i32;
12311 /// Sets the measurement metrics of a custom span through a custom component event.
12312 ///
12313 /// # Arguments
12314 ///
12315 /// * `event` - Indicates the pointer to the custom component event.
12316 ///
12317 /// * `metrics` - Indicates the measurement metrics to set.
12318 ///
12319 /// # Returns
12320 ///
12321 /// * Returns the result code.
12322 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12323 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12324 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12325 ///
12326 /// Available since API-level: 12
12327 #[cfg(feature = "api-12")]
12328 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12329 pub fn OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(
12330 event: *mut ArkUI_NodeCustomEvent,
12331 metrics: *mut ArkUI_CustomSpanMetrics,
12332 ) -> i32;
12333 /// Obtains the drawing information of a custom span through a custom component event.
12334 ///
12335 /// # Arguments
12336 ///
12337 /// * `event` - Indicates the pointer to the custom component event.
12338 ///
12339 /// * `info` - Indicates the drawing information to obtain.
12340 ///
12341 /// # Returns
12342 ///
12343 /// * Returns the result code.
12344 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12345 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12346 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
12347 ///
12348 /// Available since API-level: 12
12349 #[cfg(feature = "api-12")]
12350 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12351 pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(
12352 event: *mut ArkUI_NodeCustomEvent,
12353 info: *mut ArkUI_CustomSpanDrawInfo,
12354 ) -> i32;
12355 /// register a callback function to a node content.
12356 ///
12357 /// # Arguments
12358 ///
12359 /// * `content` - Indicates the pointer to the node content instance.
12360 ///
12361 /// * `callback` - Indicates the callback function.
12362 ///
12363 /// # Returns
12364 ///
12365 /// * Returns the error code.
12366 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12367 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12368 ///
12369 /// Available since API-level: 12
12370 #[cfg(feature = "api-12")]
12371 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12372 pub fn OH_ArkUI_NodeContent_RegisterCallback(
12373 content: ArkUI_NodeContentHandle,
12374 callback: ArkUI_NodeContentCallback,
12375 ) -> i32;
12376 /// Obtains the type of a node content event.
12377 ///
12378 /// # Arguments
12379 ///
12380 /// * `event` - Indicates the pointer to the node content event.
12381 ///
12382 /// # Returns
12383 ///
12384 /// * Returns the type of the node content event.
12385 ///
12386 /// Available since API-level: 12
12387 #[cfg(feature = "api-12")]
12388 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12389 pub fn OH_ArkUI_NodeContentEvent_GetEventType(
12390 event: *mut ArkUI_NodeContentEvent,
12391 ) -> ArkUI_NodeContentEventType;
12392 /// Obtains the node content object that triggers a node content event.
12393 ///
12394 /// # Arguments
12395 ///
12396 /// * `event` - Indicates the pointer to the node content event.
12397 ///
12398 /// # Returns
12399 ///
12400 /// * Returns the node content object that triggers the node content event.
12401 ///
12402 /// Available since API-level: 12
12403 #[cfg(feature = "api-12")]
12404 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12405 pub fn OH_ArkUI_NodeContentEvent_GetNodeContentHandle(
12406 event: *mut ArkUI_NodeContentEvent,
12407 ) -> ArkUI_NodeContentHandle;
12408 /// Saves custom data on the specified node content.
12409 ///
12410 /// # Arguments
12411 ///
12412 /// * `content` - Indicates the node content on which the custom data will be saved.
12413 ///
12414 /// * `userData` - Indicates the custom data to be saved.
12415 ///
12416 /// # Returns
12417 ///
12418 /// * Returns the error code.
12419 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12420 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12421 ///
12422 /// Available since API-level: 12
12423 #[cfg(feature = "api-12")]
12424 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12425 pub fn OH_ArkUI_NodeContent_SetUserData(
12426 content: ArkUI_NodeContentHandle,
12427 userData: *mut ::core::ffi::c_void,
12428 ) -> i32;
12429 /// Obtains the custom data saved on the specified node content.
12430 ///
12431 /// # Arguments
12432 ///
12433 /// * `content` - Indicates the target node content.
12434 ///
12435 /// # Returns
12436 ///
12437 /// * Returns the custom data.
12438 ///
12439 /// Available since API-level: 12
12440 #[cfg(feature = "api-12")]
12441 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12442 pub fn OH_ArkUI_NodeContent_GetUserData(
12443 content: ArkUI_NodeContentHandle,
12444 ) -> *mut ::core::ffi::c_void;
12445 /// Add a node to a node content.
12446 ///
12447 /// # Arguments
12448 ///
12449 /// * `content` - Indicates the pointer to the node content instance.
12450 ///
12451 /// * `node` - Indicates the pointer to the node
12452 ///
12453 /// # Returns
12454 ///
12455 /// * Returns the error code.
12456 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12457 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12458 ///
12459 /// Available since API-level: 12
12460 #[cfg(feature = "api-12")]
12461 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12462 pub fn OH_ArkUI_NodeContent_AddNode(
12463 content: ArkUI_NodeContentHandle,
12464 node: ArkUI_NodeHandle,
12465 ) -> i32;
12466 /// remove a node from a node content.
12467 ///
12468 /// # Arguments
12469 ///
12470 /// * `content` - Indicates the pointer to the node content instance.
12471 ///
12472 /// * `node` - Indicates the pointer to the node
12473 ///
12474 /// # Returns
12475 ///
12476 /// * Returns the error code.
12477 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12478 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12479 ///
12480 /// Available since API-level: 12
12481 #[cfg(feature = "api-12")]
12482 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12483 pub fn OH_ArkUI_NodeContent_RemoveNode(
12484 content: ArkUI_NodeContentHandle,
12485 node: ArkUI_NodeHandle,
12486 ) -> i32;
12487 /// insert a node into a node content at a given position.
12488 ///
12489 /// # Arguments
12490 ///
12491 /// * `content` - Indicates the pointer to the node content instance.
12492 ///
12493 /// * `node` - Indicates the pointer to the node
12494 ///
12495 /// * `position` - Indicates the position for inserting the node
12496 ///
12497 /// # Returns
12498 ///
12499 /// * Returns the error code.
12500 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12501 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12502 ///
12503 /// Available since API-level: 12
12504 #[cfg(feature = "api-12")]
12505 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12506 pub fn OH_ArkUI_NodeContent_InsertNode(
12507 content: ArkUI_NodeContentHandle,
12508 node: ArkUI_NodeHandle,
12509 position: i32,
12510 ) -> i32;
12511 /// Get the size of the component layout area.
12512 /// The layout area size does not include graphic variation attributes such as scaling.
12513 ///
12514 /// # Arguments
12515 ///
12516 /// * `node` - ArkUI_NodeHandle pointer.
12517 ///
12518 /// * `size` - The drawing area size of the component handle, in px.
12519 ///
12520 /// # Returns
12521 ///
12522 /// * Returns the error code.
12523 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12524 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12525 ///
12526 /// Available since API-level: 12
12527 #[cfg(feature = "api-12")]
12528 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12529 pub fn OH_ArkUI_NodeUtils_GetLayoutSize(
12530 node: ArkUI_NodeHandle,
12531 size: *mut ArkUI_IntSize,
12532 ) -> i32;
12533 /// Obtain the position of the component layout area relative to the parent component.
12534 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12535 ///
12536 /// # Arguments
12537 ///
12538 /// * `node` - ArkUI_NodeHandle pointer.
12539 ///
12540 /// * `localOffset` - The offset value of the component handle relative to the parent component, in px.
12541 ///
12542 /// # Returns
12543 ///
12544 /// * Returns the error code.
12545 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12546 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12547 ///
12548 /// Available since API-level: 12
12549 #[cfg(feature = "api-12")]
12550 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12551 pub fn OH_ArkUI_NodeUtils_GetLayoutPosition(
12552 node: ArkUI_NodeHandle,
12553 localOffset: *mut ArkUI_IntOffset,
12554 ) -> i32;
12555 /// Obtain the position of the component layout area relative to the window.
12556 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12557 ///
12558 /// # Arguments
12559 ///
12560 /// * `node` - ArkUI_NodeHandle pointer.
12561 ///
12562 /// * `globalOffset` - The offset value of the component handle relative to the window, in px.
12563 ///
12564 /// # Returns
12565 ///
12566 /// * Returns the error code.
12567 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12568 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12569 ///
12570 /// Available since API-level: 12
12571 #[cfg(feature = "api-12")]
12572 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12573 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(
12574 node: ArkUI_NodeHandle,
12575 globalOffset: *mut ArkUI_IntOffset,
12576 ) -> i32;
12577 /// Obtain the position of the component layout area relative to the screen.
12578 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
12579 ///
12580 /// # Arguments
12581 ///
12582 /// * `node` - ArkUI_NodeHandle pointer.
12583 ///
12584 /// * `screenOffset` - The offset value of the component handle relative to the screen, in px.
12585 ///
12586 /// # Returns
12587 ///
12588 /// * Returns the error code.
12589 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12590 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12591 ///
12592 /// Available since API-level: 12
12593 #[cfg(feature = "api-12")]
12594 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12595 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(
12596 node: ArkUI_NodeHandle,
12597 screenOffset: *mut ArkUI_IntOffset,
12598 ) -> i32;
12599 /// Obtains the offset of a component relative to the global display.
12600 /// The relative position does not count in transformation attributes, such as translate.
12601 ///
12602 /// # Arguments
12603 ///
12604 /// * `node` - Pointer to the <b>ArkUI_NodeHandle</b> representing the component.
12605 ///
12606 /// * `offset` - Offset of the component relative to the global display, in px.
12607 ///
12608 /// # Returns
12609 ///
12610 /// * Result code.
12611 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12612 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12613 ///
12614 /// Available since API-level: 20
12615 #[cfg(feature = "api-20")]
12616 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12617 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(
12618 node: ArkUI_NodeHandle,
12619 offset: *mut ArkUI_IntOffset,
12620 ) -> i32;
12621 /// Obtain the position of the component in the window, including the properties of graphic translation changes.
12622 ///
12623 /// # Arguments
12624 ///
12625 /// * `node` - ArkUI_NodeHandle pointer.
12626 ///
12627 /// * `translateOffset` - The cumulative offset value of the component handle itself,
12628 /// parent components, and ancestor nodes, in px.
12629 ///
12630 /// # Returns
12631 ///
12632 /// * Returns the error code.
12633 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12634 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12635 ///
12636 /// Available since API-level: 12
12637 #[cfg(feature = "api-12")]
12638 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12639 pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(
12640 node: ArkUI_NodeHandle,
12641 translateOffset: *mut ArkUI_IntOffset,
12642 ) -> i32;
12643 /// Obtain the position of the component on the screen, including the attributes of graphic translation changes.
12644 ///
12645 /// # Arguments
12646 ///
12647 /// * `node` - ArkUI_NodeHandle pointer.
12648 ///
12649 /// * `translateOffset` - The cumulative offset value of the component handle itself,
12650 /// parent components, and ancestor nodes, in px.
12651 ///
12652 /// # Returns
12653 ///
12654 /// * Returns the error code.
12655 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12656 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12657 ///
12658 /// Available since API-level: 12
12659 #[cfg(feature = "api-12")]
12660 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12661 pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(
12662 node: ArkUI_NodeHandle,
12663 translateOffset: *mut ArkUI_IntOffset,
12664 ) -> i32;
12665 /// Add the custom property of the component. This interface only works on the main thread.
12666 ///
12667 /// # Arguments
12668 ///
12669 /// * `node` - ArkUI_NodeHandle pointer.
12670 ///
12671 /// * `name` - The name of the custom property. Passing null pointers is not allowed.
12672 ///
12673 /// * `value` - The value of the custom property. Passing null pointers is not allowed.
12674 ///
12675 /// Available since API-level: 13
12676 #[cfg(feature = "api-13")]
12677 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
12678 pub fn OH_ArkUI_NodeUtils_AddCustomProperty(
12679 node: ArkUI_NodeHandle,
12680 name: *const ::core::ffi::c_char,
12681 value: *const ::core::ffi::c_char,
12682 );
12683 /// Remove the custom property of the component.
12684 ///
12685 /// # Arguments
12686 ///
12687 /// * `node` - ArkUI_NodeHandle pointer.
12688 ///
12689 /// * `name` - The name of the custom property.
12690 ///
12691 /// Available since API-level: 13
12692 #[cfg(feature = "api-13")]
12693 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
12694 pub fn OH_ArkUI_NodeUtils_RemoveCustomProperty(
12695 node: ArkUI_NodeHandle,
12696 name: *const ::core::ffi::c_char,
12697 );
12698 /// Get the value of the custom property of the component.
12699 ///
12700 /// # Arguments
12701 ///
12702 /// * `node` - ArkUI-NodeHandle pointer.
12703 ///
12704 /// * `name` - The name of the custom attribute.
12705 ///
12706 /// * `handle` - The structure of the custom attribute corresponding to the key parameter name obtained.
12707 ///
12708 /// # Returns
12709 ///
12710 /// * Error code.
12711 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12712 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12713 ///
12714 /// Available since API-level: 14
12715 #[cfg(feature = "api-14")]
12716 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12717 pub fn OH_ArkUI_NodeUtils_GetCustomProperty(
12718 node: ArkUI_NodeHandle,
12719 name: *const ::core::ffi::c_char,
12720 handle: *mut *mut ArkUI_CustomProperty,
12721 ) -> i32;
12722 /// Get the parent node to obtain the component nodes created by ArkTs.
12723 ///
12724 /// # Arguments
12725 ///
12726 /// * `node` - Target node object.
12727 ///
12728 /// # Returns
12729 ///
12730 /// * Return the pointer of the component.
12731 ///
12732 /// Available since API-level: 14
12733 #[cfg(feature = "api-14")]
12734 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12735 pub fn OH_ArkUI_NodeUtils_GetParentInPageTree(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
12736 /// Retrieve all active child nodes of a node. Span will not be counted in the children.
12737 ///
12738 /// # Arguments
12739 ///
12740 /// * `head` - Pass in the node that needs to be obtained.
12741 ///
12742 /// * `handle` - The structure corresponding to the sub node information of the head node.
12743 ///
12744 /// # Returns
12745 ///
12746 /// * Error code.
12747 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12748 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12749 ///
12750 /// Available since API-level: 14
12751 #[cfg(feature = "api-14")]
12752 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12753 pub fn OH_ArkUI_NodeUtils_GetActiveChildrenInfo(
12754 head: ArkUI_NodeHandle,
12755 handle: *mut *mut ArkUI_ActiveChildrenInfo,
12756 ) -> i32;
12757 /// Retrieve the root node of the current page.
12758 ///
12759 /// # Arguments
12760 ///
12761 /// * `node` - Target node object.
12762 ///
12763 /// # Returns
12764 ///
12765 /// * Return the pointer of the component.
12766 ///
12767 /// Available since API-level: 14
12768 #[cfg(feature = "api-14")]
12769 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12770 pub fn OH_ArkUI_NodeUtils_GetCurrentPageRootNode(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
12771 /// Retrieve whether the component is labeled by C-API.
12772 ///
12773 /// # Arguments
12774 ///
12775 /// * `node` - Target node object.
12776 ///
12777 /// # Returns
12778 ///
12779 /// * Return whether the node is a Tag created by C-API,
12780 /// true represents created by C-API, false represents not created by C-API.
12781 ///
12782 /// Available since API-level: 14
12783 #[cfg(feature = "api-14")]
12784 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12785 pub fn OH_ArkUI_NodeUtils_IsCreatedByNDK(node: ArkUI_NodeHandle) -> bool;
12786 /// Get the type of node.
12787 ///
12788 /// # Arguments
12789 ///
12790 /// * `node` - Target node object.
12791 ///
12792 /// # Returns
12793 ///
12794 /// * Return the type of the node.
12795 /// For specific open types, refer to [`ArkUI_NodeType`]. For unopened nodes, return -1.
12796 ///
12797 /// Available since API-level: 14
12798 #[cfg(feature = "api-14")]
12799 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
12800 pub fn OH_ArkUI_NodeUtils_GetNodeType(node: ArkUI_NodeHandle) -> i32;
12801 /// Get info of the window to which the node belongs.
12802 ///
12803 /// # Arguments
12804 ///
12805 /// * `node` - Target node object.
12806 ///
12807 /// * `info` - Window info. Use [`OH_ArkUI_HostWindowInfo_Destroy`] to release memory.
12808 ///
12809 /// # Returns
12810 ///
12811 /// * Error code.
12812 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12813 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12814 /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The node is not mounted.
12815 ///
12816 /// Available since API-level: 15
12817 #[cfg(feature = "api-15")]
12818 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12819 pub fn OH_ArkUI_NodeUtils_GetWindowInfo(
12820 node: ArkUI_NodeHandle,
12821 info: *mut *mut ArkUI_HostWindowInfo,
12822 ) -> i32;
12823 /// Obtains the index of the current FrameNode's first child node which is on the tree.
12824 ///
12825 /// # Arguments
12826 ///
12827 /// * `node` - Indicates the target node.
12828 ///
12829 /// * `index` - The index of the subnode.
12830 ///
12831 /// # Returns
12832 ///
12833 /// * Error code.
12834 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12835 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12836 ///
12837 /// Available since API-level: 15
12838 #[cfg(feature = "api-15")]
12839 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12840 pub fn OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(
12841 node: ArkUI_NodeHandle,
12842 index: *mut u32,
12843 ) -> i32;
12844 /// Obtains the index of the current FrameNode's last child node which is on the tree.
12845 ///
12846 /// # Arguments
12847 ///
12848 /// * `node` - Indicates the target node.
12849 ///
12850 /// * `index` - the index of the subnode.
12851 ///
12852 /// # Returns
12853 ///
12854 /// * Error code.
12855 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12856 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12857 ///
12858 /// Available since API-level: 15
12859 #[cfg(feature = "api-15")]
12860 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12861 pub fn OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(
12862 node: ArkUI_NodeHandle,
12863 index: *mut u32,
12864 ) -> i32;
12865 /// Obtains a subnode by position with the expand mode.
12866 ///
12867 /// # Arguments
12868 ///
12869 /// * `node` - Indicates the target node.
12870 ///
12871 /// * `position` - Indicates the position of the subnode.
12872 ///
12873 /// * `subnode` - The pointer to the subnode.
12874 ///
12875 /// * `expandMode` - Indicates the expand mode. [`ArkUI_ExpandMode`].
12876 ///
12877 /// # Returns
12878 ///
12879 /// * Error code.
12880 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
12881 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12882 ///
12883 /// Available since API-level: 15
12884 #[cfg(feature = "api-15")]
12885 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12886 pub fn OH_ArkUI_NodeUtils_GetChildWithExpandMode(
12887 node: ArkUI_NodeHandle,
12888 position: i32,
12889 subnode: *mut ArkUI_NodeHandle,
12890 expandMode: u32,
12891 ) -> i32;
12892 /// Collapse the ListItem in its expanded state.
12893 ///
12894 /// # Arguments
12895 ///
12896 /// * `node` - Node objects that need to be registered for events.
12897 ///
12898 /// * `userData` - Custom event parameters are carried back in the callback parameter when the event is triggered.
12899 ///
12900 /// * `onFinish` - The callback triggered after the completion of the folding animation.
12901 ///
12902 /// # Returns
12903 ///
12904 /// * Error code.
12905 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12906 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12907 /// [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] The component does not support this event.
12908 ///
12909 /// Available since API-level: 12
12910 #[cfg(feature = "api-12")]
12911 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12912 pub fn OH_ArkUI_List_CloseAllSwipeActions(
12913 node: ArkUI_NodeHandle,
12914 userData: *mut ::core::ffi::c_void,
12915 onFinish: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
12916 ) -> i32;
12917 /// Obtain the UIContext pointer to the page where the node is located.
12918 ///
12919 /// # Arguments
12920 ///
12921 /// * `node` - The node.
12922 ///
12923 /// # Returns
12924 ///
12925 /// * The UIContext pointer.
12926 /// If a null pointer is returned, it may be because the node is empty.
12927 ///
12928 /// Available since API-level: 12
12929 #[cfg(feature = "api-12")]
12930 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12931 pub fn OH_ArkUI_GetContextByNode(node: ArkUI_NodeHandle) -> ArkUI_ContextHandle;
12932 /// The event called when the system color mode changes.
12933 /// Only one system color change callback can be registered for the same component.
12934 ///
12935 /// # Arguments
12936 ///
12937 /// * `node` - Indicates the target node.
12938 ///
12939 /// * `userData` - Indicates the custom data to be saved.
12940 ///
12941 /// * `onColorModeChange` - Callback Events.
12942 ///
12943 /// # Returns
12944 ///
12945 /// * Error code.
12946 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12947 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12948 ///
12949 /// Available since API-level: 12
12950 #[cfg(feature = "api-12")]
12951 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12952 pub fn OH_ArkUI_RegisterSystemColorModeChangeEvent(
12953 node: ArkUI_NodeHandle,
12954 userData: *mut ::core::ffi::c_void,
12955 onColorModeChange: ::core::option::Option<
12956 unsafe extern "C" fn(
12957 colorMode: ArkUI_SystemColorMode,
12958 userData: *mut ::core::ffi::c_void,
12959 ),
12960 >,
12961 ) -> i32;
12962 /// Unregister the event callback when the system color mode changes.
12963 ///
12964 /// # Arguments
12965 ///
12966 /// * `node` - Indicates the target node.
12967 ///
12968 /// Available since API-level: 12
12969 #[cfg(feature = "api-12")]
12970 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12971 pub fn OH_ArkUI_UnregisterSystemColorModeChangeEvent(node: ArkUI_NodeHandle);
12972 /// The event called when the system font style changes.
12973 /// Only one system font change callback can be registered for the same component.
12974 ///
12975 /// # Arguments
12976 ///
12977 /// * `node` - Indicates the target node.
12978 ///
12979 /// * `userData` - Indicates the custom data to be saved.
12980 ///
12981 /// * `onFontStyleChange` - Callback Events.
12982 ///
12983 /// # Returns
12984 ///
12985 /// * Error code.
12986 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
12987 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
12988 ///
12989 /// Available since API-level: 12
12990 #[cfg(feature = "api-12")]
12991 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12992 pub fn OH_ArkUI_RegisterSystemFontStyleChangeEvent(
12993 node: ArkUI_NodeHandle,
12994 userData: *mut ::core::ffi::c_void,
12995 onFontStyleChange: ::core::option::Option<
12996 unsafe extern "C" fn(
12997 event: *mut ArkUI_SystemFontStyleEvent,
12998 userData: *mut ::core::ffi::c_void,
12999 ),
13000 >,
13001 ) -> i32;
13002 /// Unregister the event callback when the system font style changes.
13003 ///
13004 /// # Arguments
13005 ///
13006 /// * `node` - Indicates the target node.
13007 ///
13008 /// Available since API-level: 12
13009 #[cfg(feature = "api-12")]
13010 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13011 pub fn OH_ArkUI_UnregisterSystemFontStyleChangeEvent(node: ArkUI_NodeHandle);
13012 /// Retrieve the font size value for system font change events.
13013 ///
13014 /// # Arguments
13015 ///
13016 /// * `event` - Indicates a pointer to the current system font change event.
13017 ///
13018 /// # Returns
13019 ///
13020 /// * Updated system font size scaling factor. Default value: 1.0.
13021 ///
13022 /// Available since API-level: 12
13023 #[cfg(feature = "api-12")]
13024 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13025 pub fn OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(
13026 event: *const ArkUI_SystemFontStyleEvent,
13027 ) -> f32;
13028 /// Retrieve the font thickness values for system font change events.
13029 ///
13030 /// # Arguments
13031 ///
13032 /// * `event` - Indicates a pointer to the current system font change event.
13033 ///
13034 /// # Returns
13035 ///
13036 /// * The updated system font thickness scaling factor. Default value: 1.0.
13037 ///
13038 /// Available since API-level: 12
13039 #[cfg(feature = "api-12")]
13040 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13041 pub fn OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(
13042 event: *const ArkUI_SystemFontStyleEvent,
13043 ) -> f32;
13044 /// Move the node handle to target parent node as child.
13045 ///
13046 /// # Arguments
13047 ///
13048 /// * `node` - The node handle of the node to move.
13049 ///
13050 /// * `target_parent` - The node handle of target parent.
13051 ///
13052 /// * `index` - Indicates the index which the node is moved to. If the value is a nagative number of invalid, the
13053 /// node is moved to the end of the target parent node.
13054 ///
13055 /// # Returns
13056 ///
13057 /// * Error code.
13058 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13059 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13060 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13061 ///
13062 /// Available since API-level: 18
13063 #[cfg(feature = "api-18")]
13064 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
13065 pub fn OH_ArkUI_NodeUtils_MoveTo(
13066 node: ArkUI_NodeHandle,
13067 target_parent: ArkUI_NodeHandle,
13068 index: i32,
13069 ) -> i32;
13070 /// Triggers node updates in the current frame.
13071 /// When node attributes are modified after the current frame's build phase (i.e., after
13072 /// the unified processing of dirty nodes), the node updates will be deferred to the next
13073 /// frame. This function forces immediate node updates within the current frame to
13074 /// ensure rendering effects are applied synchronously.
13075 ///
13076 /// # Arguments
13077 ///
13078 /// * `node` - ArkUI_NodeHandle pointer.
13079 ///
13080 /// # Returns
13081 ///
13082 /// * Error code.
13083 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
13084 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13085 ///
13086 /// Available since API-level: 21
13087 #[cfg(feature = "api-21")]
13088 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13089 pub fn OH_ArkUI_NativeModule_InvalidateAttributes(node: ArkUI_NodeHandle) -> i32;
13090 /// Set the cross-language option of the target node handle.
13091 ///
13092 /// # Arguments
13093 ///
13094 /// * `node` - The target node handle.
13095 ///
13096 /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
13097 ///
13098 /// # Returns
13099 ///
13100 /// * Error code.
13101 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13102 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13103 ///
13104 /// Available since API-level: 15
13105 #[cfg(feature = "api-15")]
13106 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13107 pub fn OH_ArkUI_NodeUtils_SetCrossLanguageOption(
13108 node: ArkUI_NodeHandle,
13109 option: *mut ArkUI_CrossLanguageOption,
13110 ) -> i32;
13111 /// Get the cross-language option of the target node handle.
13112 ///
13113 /// # Arguments
13114 ///
13115 /// * `node` - The target node handle.
13116 ///
13117 /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
13118 ///
13119 /// # Returns
13120 ///
13121 /// * Error code.
13122 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13123 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13124 ///
13125 /// Available since API-level: 15
13126 #[cfg(feature = "api-15")]
13127 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13128 pub fn OH_ArkUI_NodeUtils_GetCrossLanguageOption(
13129 node: ArkUI_NodeHandle,
13130 option: *mut ArkUI_CrossLanguageOption,
13131 ) -> i32;
13132 /// Registers a callback for node when layout is completed.
13133 ///
13134 /// # Arguments
13135 ///
13136 /// * `node` - Indicates the target node.
13137 ///
13138 /// * `userData` - Indicates the custom data used in onLayoutCompleted callback function.
13139 ///
13140 /// * `onLayoutCompleted` - Indicates the function when layout completed is callback.
13141 ///
13142 /// # Returns
13143 ///
13144 /// * error code
13145 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13146 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13147 ///
13148 /// Available since API-level: 15
13149 #[cfg(feature = "api-15")]
13150 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13151 pub fn OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(
13152 node: ArkUI_NodeHandle,
13153 userData: *mut ::core::ffi::c_void,
13154 onLayoutCompleted: ::core::option::Option<
13155 unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
13156 >,
13157 ) -> i32;
13158 /// Registers a callback for node when draw is completed.
13159 ///
13160 /// # Arguments
13161 ///
13162 /// * `node` - Indicates the target node.
13163 ///
13164 /// * `userData` - Indicates the custom data used in onDrawCompleted callback function.
13165 ///
13166 /// * `onDrawCompleted` - Indicates the function when draw completed is callback.
13167 ///
13168 /// # Returns
13169 ///
13170 /// * error code
13171 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13172 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13173 ///
13174 /// Available since API-level: 15
13175 #[cfg(feature = "api-15")]
13176 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13177 pub fn OH_ArkUI_RegisterDrawCallbackOnNodeHandle(
13178 node: ArkUI_NodeHandle,
13179 userData: *mut ::core::ffi::c_void,
13180 onDrawCompleted: ::core::option::Option<
13181 unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
13182 >,
13183 ) -> i32;
13184 /// Unregisters the layout completed callback for node.
13185 ///
13186 /// # Arguments
13187 ///
13188 /// * `node` - Indicates the target node.
13189 ///
13190 /// # Returns
13191 ///
13192 /// * error code
13193 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13194 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13195 ///
13196 /// Available since API-level: 15
13197 #[cfg(feature = "api-15")]
13198 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13199 pub fn OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
13200 /// Unregisters the draw completed callback for node.
13201 ///
13202 /// # Arguments
13203 ///
13204 /// * `node` - Indicates the target node.
13205 ///
13206 /// # Returns
13207 ///
13208 /// * error code
13209 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13210 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
13211 ///
13212 /// Available since API-level: 15
13213 #[cfg(feature = "api-15")]
13214 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13215 pub fn OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
13216 /// Get the node handle by id.
13217 ///
13218 /// # Arguments
13219 ///
13220 /// * `id` - The id of the target node handle.
13221 ///
13222 /// * `node` - The handle of target node handle.
13223 ///
13224 /// # Returns
13225 ///
13226 /// * Error code.
13227 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13228 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13229 ///
13230 /// Available since API-level: 15
13231 #[cfg(feature = "api-15")]
13232 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13233 pub fn OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(
13234 id: *const ::core::ffi::c_char,
13235 node: *mut ArkUI_NodeHandle,
13236 ) -> i32;
13237 /// Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the
13238 /// tree or is not rendered yet.
13239 /// Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more.
13240 ///
13241 /// # Arguments
13242 ///
13243 /// * `node` - Indicates the target node.
13244 ///
13245 /// * `snapshotOptions` - the given configuration for taking snapshot, can be null for using default.
13246 ///
13247 /// * `pixelmap` - Pixelmap pointer created by system, it's the out result.
13248 ///
13249 /// # Returns
13250 ///
13251 /// * Returns the result code.
13252 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13253 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13254 /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot taking failed will null pixelmap returned.
13255 /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot taking is timeout.
13256 ///
13257 /// Available since API-level: 15
13258 #[cfg(feature = "api-15")]
13259 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13260 pub fn OH_ArkUI_GetNodeSnapshot(
13261 node: ArkUI_NodeHandle,
13262 snapshotOptions: *mut ArkUI_SnapshotOptions,
13263 pixelmap: *mut *mut OH_PixelmapNative,
13264 ) -> i32;
13265 /// Obtains the offset of a specific node relative to its parent node.
13266 ///
13267 /// # Arguments
13268 ///
13269 /// * `node` - Target node.
13270 ///
13271 /// * `globalOffset` - Offset of the target node relative to its parent node, in px.
13272 ///
13273 /// # Returns
13274 ///
13275 /// * Returns the result code.
13276 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13277 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13278 ///
13279 /// Available since API-level: 15
13280 #[cfg(feature = "api-15")]
13281 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13282 pub fn OH_ArkUI_NodeUtils_GetPositionToParent(
13283 node: ArkUI_NodeHandle,
13284 globalOffset: *mut ArkUI_IntOffset,
13285 ) -> i32;
13286 /// Adds the UI state style supported by the component. To handle states change efficiently, need to specify the
13287 /// states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed.
13288 /// - You can adjust the UI style based on the current state within the callback. If this API is called multiple
13289 /// times on the same node, the last set of states and handler will take precedence.
13290 /// - Some component types have default system handling for certain states. For example, the <b>Button</b>
13291 /// component has a default style effect for the PRESSED state. When custom state handling is implemented on such
13292 /// components, the default style effect will be applied first, followed by the custom style changes, resulting in
13293 /// a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed
13294 /// by the system implementation.
13295 /// - And when this API is called, the provided handler function will be executed immediately.
13296 /// - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered,
13297 /// the system will automatically notify your application when the state changes back to NORMAL.
13298 ///
13299 /// # Arguments
13300 ///
13301 /// * `node` - Target node.
13302 ///
13303 /// * `uiStates` - Target UI states to be handled on the node.
13304 /// The combined result of all target UI states can be calculated using the <b>|</b> operator.
13305 /// Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>.
13306 ///
13307 /// * `statesChangeHandler` - Handler for UI state changes.
13308 /// It rturns the current UI status. The value is the result of combining all current state enum values using the
13309 /// <b>|</b> operator. You can determine the state using the <b>&</b> operator.
13310 /// Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b>.
13311 /// However, for checking the normal state, use the equality operator directly.
13312 /// Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>.
13313 ///
13314 /// * `excludeInner` - Whether to disable the default state styles.
13315 ///
13316 /// * `userData` - Custom data used in the <b>statesChangeHandler</b> callback.
13317 ///
13318 /// # Returns
13319 ///
13320 /// * Returns the result code.
13321 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13322 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13323 ///
13324 /// Available since API-level: 20
13325 #[cfg(feature = "api-20")]
13326 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13327 pub fn OH_ArkUI_AddSupportedUIStates(
13328 node: ArkUI_NodeHandle,
13329 uiStates: i32,
13330 statesChangeHandler: ::core::option::Option<
13331 unsafe extern "C" fn(currentStates: i32, userData: *mut ::core::ffi::c_void),
13332 >,
13333 excludeInner: bool,
13334 userData: *mut ::core::ffi::c_void,
13335 ) -> ArkUiResult;
13336 /// Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b>
13337 /// are removed, the registered <b>stateChangeHandler</b> will no longer be executed.
13338 ///
13339 /// # Arguments
13340 ///
13341 /// * `node` - Target node.
13342 ///
13343 /// * `uiStates` - Target UI states to be removed.
13344 ///
13345 /// # Returns
13346 ///
13347 /// * Returns the result code.
13348 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13349 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13350 ///
13351 /// Available since API-level: 20
13352 #[cfg(feature = "api-20")]
13353 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13354 pub fn OH_ArkUI_RemoveSupportedUIStates(node: ArkUI_NodeHandle, uiStates: i32) -> ArkUiResult;
13355 /// Run a custom function inside the UIContext scope.
13356 ///
13357 /// # Arguments
13358 ///
13359 /// * `uiContext` - ArkUI_ContextHandle.
13360 ///
13361 /// * `userData` - Indicates the pointer to the custom data.
13362 ///
13363 /// * `callback` - The custom function.
13364 ///
13365 /// # Returns
13366 ///
13367 /// * Returns the result code.
13368 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13369 /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13370 /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
13371 /// Returns [`ARKUI_ERROR_CODE_CALLBACK_INVALID`] if the callback function is invalid.
13372 ///
13373 /// Available since API-level: 20
13374 #[cfg(feature = "api-20")]
13375 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13376 pub fn OH_ArkUI_RunTaskInScope(
13377 uiContext: ArkUI_ContextHandle,
13378 userData: *mut ::core::ffi::c_void,
13379 callback: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
13380 ) -> i32;
13381 /// Get the node handle by uniqueId.
13382 ///
13383 /// # Arguments
13384 ///
13385 /// * `uniqueId` - The uniqueId of the target node handle.
13386 ///
13387 /// * `node` - The handle of target node handle.
13388 ///
13389 /// # Returns
13390 ///
13391 /// * Error code.
13392 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13393 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13394 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13395 ///
13396 /// Available since API-level: 20
13397 #[cfg(feature = "api-20")]
13398 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13399 pub fn OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(
13400 uniqueId: u32,
13401 node: *mut ArkUI_NodeHandle,
13402 ) -> i32;
13403 /// Get the uniqueId of the target node handle.
13404 ///
13405 /// # Arguments
13406 ///
13407 /// * `node` - The ArkUI-NodeHandle pointer.
13408 ///
13409 /// * `uniqueId` - The uniqueId of the target node handle, default value is -1.
13410 ///
13411 /// # Returns
13412 ///
13413 /// * Error code.
13414 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
13415 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
13416 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
13417 ///
13418 /// Available since API-level: 20
13419 #[cfg(feature = "api-20")]
13420 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13421 pub fn OH_ArkUI_NodeUtils_GetNodeUniqueId(node: ArkUI_NodeHandle, uniqueId: *mut i32) -> i32;
13422 /// Sets the inverse color algorithm for components and instances.
13423 ///
13424 /// # Arguments
13425 ///
13426 /// * `uiContext` - Indicates the context in which the inverse color feature should take effect.
13427 /// If the value is null, the feature applies to the entire application process.
13428 ///
13429 /// * `forceDark` - Indicates whether the inverse color feature is enabled.
13430 ///
13431 /// * `nodeType` - Indicates the component type for which to enable the inverse color feature.
13432 /// If the value is ARKUI_NODE_UNDEFINED, enabling the feature for all components.
13433 ///
13434 /// * `colorInvertFunc` - Indicates the user-defined inverse color algorithm.
13435 ///
13436 /// # Returns
13437 ///
13438 /// * Returns the error code.
13439 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13440 /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if CAPI init error.
13441 /// Returns [`ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID`] if force dark config is invalid.
13442 ///
13443 /// Available since API-level: 20
13444 #[cfg(feature = "api-20")]
13445 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
13446 pub fn OH_ArkUI_SetForceDarkConfig(
13447 uiContext: ArkUI_ContextHandle,
13448 forceDark: bool,
13449 nodeType: ArkUI_NodeType,
13450 colorInvertFunc: ::core::option::Option<unsafe extern "C" fn(color: u32) -> u32>,
13451 ) -> i32;
13452 /// Register common event callback of target node.
13453 ///
13454 /// # Arguments
13455 ///
13456 /// * `node` - The ArkUI-NodeHandle pointer.
13457 ///
13458 /// * `eventType` - Indicates the type of event to set.
13459 ///
13460 /// * `userData` - Indicates the pointer to the custom data.
13461 ///
13462 /// * `callback` - Indicates the event callback function.
13463 ///
13464 /// # Returns
13465 ///
13466 /// * Returns the result code.
13467 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13468 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13469 /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
13470 ///
13471 /// Available since API-level: 21
13472 #[cfg(feature = "api-21")]
13473 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13474 pub fn OH_ArkUI_NativeModule_RegisterCommonEvent(
13475 node: ArkUI_NodeHandle,
13476 eventType: ArkUI_NodeEventType,
13477 userData: *mut ::core::ffi::c_void,
13478 callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13479 ) -> i32;
13480 /// Unregister common event callback of target node.
13481 ///
13482 /// # Arguments
13483 ///
13484 /// * `node` - The ArkUI-NodeHandle pointer.
13485 ///
13486 /// * `eventType` - Indicates the type of event to set.
13487 ///
13488 /// # Returns
13489 ///
13490 /// * Returns the result code.
13491 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13492 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13493 /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
13494 ///
13495 /// Available since API-level: 21
13496 #[cfg(feature = "api-21")]
13497 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13498 pub fn OH_ArkUI_NativeModule_UnregisterCommonEvent(
13499 node: ArkUI_NodeHandle,
13500 eventType: ArkUI_NodeEventType,
13501 ) -> i32;
13502 /// Register common visible area approximate change event callback of target node.
13503 ///
13504 /// # Arguments
13505 ///
13506 /// * `node` - The ArkUI-NodeHandle pointer.
13507 ///
13508 /// * `ratios` - Threshold array representing the visible area of the component.
13509 ///
13510 /// * `size` - The size of the ratios.
13511 ///
13512 /// * `expectedUpdateInterval` - The expected calculation interval for developers.
13513 ///
13514 /// * `userData` - Indicates the pointer to the custom data.
13515 ///
13516 /// * `callback` - Indicates the event callback function.
13517 ///
13518 /// # Returns
13519 ///
13520 /// * Returns the result code.
13521 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13522 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13523 ///
13524 /// Available since API-level: 21
13525 #[cfg(feature = "api-21")]
13526 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13527 pub fn OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(
13528 node: ArkUI_NodeHandle,
13529 ratios: *mut f32,
13530 size: i32,
13531 expectedUpdateInterval: f32,
13532 userData: *mut ::core::ffi::c_void,
13533 callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13534 ) -> i32;
13535 /// Unregister common visible area approximate change event callback of target node.
13536 ///
13537 /// # Arguments
13538 ///
13539 /// * `node` - The ArkUI-NodeHandle pointer.
13540 ///
13541 /// # Returns
13542 ///
13543 /// * Returns the result code.
13544 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13545 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
13546 ///
13547 /// Available since API-level: 21
13548 #[cfg(feature = "api-21")]
13549 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
13550 pub fn OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(
13551 node: ArkUI_NodeHandle,
13552 ) -> i32;
13553}